【Amazon 实验②】使用Amazon WAF做基础 Web Service 防护之自定义规则

发布时间:2023年12月22日


上一篇章介绍了使用Amazon WAF做基础 Web Service 防护中的Web ACLs 配置 & AWS 托管规则的介绍和演示操作 【Amazon 实验①】使用Amazon WAF做基础 Web Service 防护,本篇章将继续介绍关于自定义规则的设置。

1. 自定义规则

1.1 介绍

WAF支持创建自定义请求处理规则。这对于添加与特定应用程序相关的逻辑非常有用。除了自定义规则外,本实验还将介绍逻辑规则语句、请求采样和 Web ACL 容量单位。

创建自定义规则需要在 WAF 控制台中使用规则构建器。

image-20231222104527959

规则允许设置 HTTP 请求的检查对象,例如:

  • Source IP

  • Header

  • Body

  • Query Parameters

规则语句是规则的一部分,用于告知 AWS WAF 如何检查 Web 请求, 逻辑运算例如:

  • AND

  • OR

  • NOT

AWS WAF 中的每个规则都有一个顶级规则语句,该语句可以包含其他语句。规则语句可以非常简单。规则语句也可能非常复杂。例如,可以有一个语句,该语句将许多其他语句与逻辑 AND、OR 和 NOT 语句(称为逻辑规则语句)组合在一起。

2. 实验步骤

  1. 打开 Web ACL 的 Rules 选项卡,然后从 Add rules 下拉菜单中选择 Add my own rules and rule groups

  2. 给规则起个名字, block-header-and-query-string

  3. 从下拉列表中选择 matches at least one of the statements(OR)

  4. 对于Statement 1使用如下配置,禁止Header里有X-Weak- Spot的请求访问。

image-20231222105745755
image-20231222110547589

image-20231222110622846

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已经有效拦截带有违法参数的请求。

image-20231222110717962

文章来源:https://blog.csdn.net/qq_45392321/article/details/135161379
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。