跳至内容

如何使用 AWS WAF 创建 IP 设置规则来限制 IPv4 和 IPv6 访问?

2 分钟阅读
0

我设置了 AWS WAF,我需要允许访问特定的 IPv4 和 IPv6 地址并阻止其他 IP 地址。

解决方法

AWS WAF 可以根据一组 IP 地址和地址范围检查 Web 请求的源 IP 地址。您可以创建一条规则,阻止来自所有 IP 地址的请求,IP 集中的特定 IP 地址除外。

创建 IP 设置规则以限制 IPv4 和 IPv6 访问

完成以下步骤:

  1. 打开 AWS WAF 控制台
  2. 在导航窗格中,选择 IP sets(IP 集),然后选择 Create IP set(创建 IP 集)。
  3. 对于 IP set name(IP 集名称),输入名称,例如 MyTrustedIPs
    **注意:**创建 IP 集后,您无法更改 IP 集名称。
  4. (可选)对于 Description(描述),输入 IP 集的描述。
  5. 对于 Region(区域),选择要存储 IP 集的 AWS 区域。
    **注意:**要使用保护 Amazon CloudFront 分配的网络访问控制列表 (Web ACL) 中的 IP 集,您必须使用 Global (CloudFront)(全球 (CloudFront))。
  6. 对于 IP version(IP 版本),请选择要使用的版本。
  7. 对于 IP addresses(IP 地址),在 CIDR 表示法中输入要允许的每行一个 IP 地址或一个 IP 地址范围。
    **注意:**AWS WAF 支持除 /0 之外的所有 IPv4 和 IPv6 CIDR 范围。
    示例:
    要指定 IPv4 地址 10.20.0.5,请输入 10.20.0.5/32
    要指定 IPv6 地址 0:0:0:0:0: ffff: c 000:22 c,请输入 0:0:0:0:0:ffff:c000:22c/128
    要指定从 10.20.0.0 到 10.20.0.255 之间的 IPv4 地址范围,请输入 10.20.0.0/24
    要指定从 2620:0:2d0:200:0:0:0:0 到 2620:0:2d0:200:ffff:ffff:ffff:ffff 的 IPv6 地址范围,请输入 2620:0:2d0:200::/64
  8. 查看 IP 集的设置,然后选择 Create IP set(创建 IP 集)。

创建 IP 匹配规则

完成以下步骤:

  1. 在导航窗格中的 AWS WAF 下,选择 Web ACLs
  2. 对于 Region(区域),选择您创建了 Web ACL 的区域。
    **注意:**如果该 Web ACL 为 CloudFront 设置,则选择 Global(全球)。
  3. 选择您的 Web ACL。
  4. 选择 Rules(规则),然后选择 Add Rules, Add my own rules and rule groups(添加规则、添加我自己的规则和规则组)。
  5. 对于 Name(名称),输入名称以标识此规则,例如 Block-Other-IPs
  6. 对于 Type(类型),选择 Regular rule(常规规则)。
  7. 对于 If a request(如果请求),选择 doesn't match the statement (NOT)(与语句不匹配 (NOT))。
  8. Statement(语句)上,对于 Inspect(检查),选择 Originates from IP address in(源自 IP 地址)。
  9. 对于 IP Set(IP 集),选择您的 IP 集,例如 MyTrustedIPs
  10. 对于 IP address to use as the originating address(作为来源地址的 IP 地址),请选择 Source IP address(源 IP 地址)。
    **注意:**如果您的流量通过内容分发网络 (CDN) 或其他代理网络路由,请在标头中使用 IP 地址。有关详细信息,请参阅在 AWS WAF 中使用转发的 IP 地址
  11. 对于 Action(操作),选择 Block(阻止)。
  12. 选择 Add rule(添加规则)。
  13. 选择 Save(保存)。

IP 匹配规则会阻止任何未添加到 IP 集的 IP 地址。对于您添加到 IP 集的 IP 地址,该规则下方的其他规则会评估请求。如果没有匹配项,则 AWS WAF 将应用 Web ACL 默认操作。

有关详细信息,请参阅设置规则优先级

相关信息

如何使用 AWS WAF 阻止不含用户代理标头的 HTTP 请求?

AWS 官方已更新 7 个月前