文章目录
- 1. 自定义规则
- 1.1 介绍
- 2. 实验步骤
- 2.1 测试
- 2.2 输出
上一篇章介绍了使用Amazon WAF做基础 Web Service 防护中的Web ACLs 配置 & AWS 托管规则的介绍和演示操作 【Amazon 实验①】使用Amazon WAF做基础 Web Service 防护,本篇章将继续介绍关于自定义规则的设置。
1. 自定义规则
1.1 介绍
WAF支持创建自定义请求处理规则。这对于添加与特定应用程序相关的逻辑非常有用。除了自定义规则外,本实验还将介绍逻辑规则语句、请求采样和 Web ACL 容量单位。
创建自定义规则需要在 WAF 控制台中使用规则构建器。
规则允许设置 HTTP 请求的检查对象,例如:
-
Source IP
-
Header
-
Body
-
Query Parameters
规则语句是规则的一部分,用于告知 AWS WAF 如何检查 Web 请求, 逻辑运算例如:
-
AND
-
OR
-
NOT
AWS WAF 中的每个规则都有一个顶级规则语句,该语句可以包含其他语句。规则语句可以非常简单。规则语句也可能非常复杂。例如,可以有一个语句,该语句将许多其他语句与逻辑 AND、OR 和 NOT 语句(称为逻辑规则语句)组合在一起。
2. 实验步骤
-
打开 Web ACL 的 Rules 选项卡,然后从 Add rules 下拉菜单中选择
Add my own rules and rule groups
-
给规则起个名字, block-header-and-query-string
-
从下拉列表中选择 matches at least one of the statements(OR)
-
对于Statement 1使用如下配置,禁止Header里有X-Weak- Spot的请求访问。
2.1 测试
违法parameter请求测试
export JUICESHOP_URL=<Your Juice Shop URL>
export JUICESHOP_URL=djbryp4jxosx1.cloudfront.net
curl -I "${JUICESHOP_URL}?x-sneaky-attack=exploit"
违法Headers请求测试
export JUICESHOP_URL=<Your Juice Shop URL>
export JUICESHOP_URL=djbryp4jxosx1.cloudfront.net
curl -I -H "X-Weak-Spot: Exploit" "${JUICESHOP_URL}"
2.2 输出
HTTP/1.1 403 Forbidden
Server: CloudFront
Date: Thu, 07 Dec 2023 02:46:41 GMT
Content-Type: text/html
Content-Length: 919
Connection: keep-alive
X-Cache: Error from cloudfront
Via: 1.1 98ca70f529a8725dbdf89b79dad17f6a.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: CMH68-P5
X-Amz-Cf-Id: 0_Cbj2bYNA7HsrMyv4zy8v87SI0runYxsnT_McS7WRQyFGaxrBLQkw==
证明WAF已经有效拦截带有违法参数的请求。