AWS WAF保护Web应用程序

发布于:2025-06-21 ⋅ 阅读:(17) ⋅ 点赞:(0)

一、进入 AWS WAF 控制台

打开 AWS 控制台,进入 WAF & Shield 页面,点击右侧“Create web ACL”按钮开始创建 Web 访问控制规则

二、创建 IP Set 黑名单

在规则设置之前,我们首先需要创建一个 IP Set,也就是将需要屏蔽的 IP 地址或地址段加入黑名单:

  1. 在左侧菜单栏点击 IP sets

  2. 点击右上角“Create IP set

填写 IP Set 名称(如 deny_ip),选择区域为 US East (N. Virginia),选择 IP 版本(IPv4),并在下方输入要封禁的 IP 段(如 192.168.8.0/24

点击 Create IP set 即可完成创建,创建成功提示如下

三、创建 Web ACL

  1. 回到首页,再次点击“Create web ACL

  2. 在页面中填写 ACL 名称,例如 rule-name,CloudWatch Metric Name 保持一致,点击 Next

四、添加规则并应用 IP 黑名单

  1. 在“Add rules and rule groups”步骤中,点击右上角“Add rules”按钮

在弹出的窗口中选择“IP set”作为规则类型,设置规则名称为 deny_ip,并选择之前创建的 IP Set

选择匹配来源为 Source IP address,选择动作为 Block,点击 Add rule 添加规则

五、扩展:添加地理位置封禁规则

除了 IP 地址,我们还可以根据国家或地区设置拒绝访问的规则。例如封禁某一国家的流量:

  1. 创建一个新的规则组,命名为 deny_geo,并选择 Regular rule 类型

后续选择 Geo match 规则,并在国家列表中选择需要屏蔽的国家,如 China、Russia 等。

然后点击Add rule

八、添加 SQL 注入攻击拦截规则(SQL Injection)

  1. 在添加规则类型时,选择“Rule builder”,命名为 sql_injection

  2. 设置 Statement:

    • Inspect: All query parameters

    • Match type: Contains SQL injection attacks

    • Text transformation: 选择 None 或根据需要添加

  1. 设置 Statement:

    • Inspect: All query parameters

    • Match type: Contains SQL injection attacks

    • Text transformation: 选择 None 或根据需要添加

Action 设置为 Block,点击 Add rule

九、添加 XSS 攻击拦截规则(Cross-site Scripting)

  1. 同样使用 Rule builder,命名为 deny_xss

  1. 设置拦截逻辑:

    • Inspect: All query parameters

    • Match type: Contains XSS injection attacks

Action 设置为 Block,点击 Add rule

十、设置 DDoS 速率限制规则(Rate-based Rule)

为了防止恶意请求刷爆服务资源,我们可以设置访问速率限制:

  1. 创建规则时选择 Rate-based rule 类型,命名为 deny_ddos

  1. 设置参数:

    • Rate limit: 例如每分钟最多 100 个请求

    • Evaluation window: 选择 1 minute

    • Aggregation: 选择 Source IP address

点击页面底部的 Add rule 即可。

十一、查看 Web ACL 中的所有规则

最终你可以在 Web ACL 的规则列表中看到所有你添加的规则:

  • deny_ip

  • deny_geo

  • sql_injection

  • deny_xss

  • deny_ddos

最后点击到我们创建的Web ACL里

关联我们要保护的资源 

添加资源

这里我关联的是web的负载均衡器

然后点击Add


网站公告

今日签到

点亮在社区的每一天
去签到