我设置了 AWS WAF,我需要允许访问特定的 IPv4 和 IPv6 地址并阻止其他 IP 地址。
解决方法
AWS WAF 可以根据一组 IP 地址和地址范围检查 Web 请求的源 IP 地址。您可以创建一条规则,阻止来自所有 IP 地址的请求,IP 集中的特定 IP 地址除外。
创建 IP 设置规则以限制 IPv4 和 IPv6 访问
完成以下步骤:
- 打开 AWS WAF 控制台。
- 在导航窗格中,选择 IP sets(IP 集),然后选择 Create IP set(创建 IP 集)。
- 对于 IP set name(IP 集名称),输入名称,例如 MyTrustedIPs。
**注意:**创建 IP 集后,您无法更改 IP 集名称。
- (可选)对于 Description(描述),输入 IP 集的描述。
- 对于 Region(区域),选择要存储 IP 集的 AWS 区域。
**注意:**要使用保护 Amazon CloudFront 分配的网络访问控制列表 (Web ACL) 中的 IP 集,您必须使用 Global (CloudFront)(全球 (CloudFront))。
- 对于 IP version(IP 版本),请选择要使用的版本。
- 对于 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。
- 查看 IP 集的设置,然后选择 Create IP set(创建 IP 集)。
创建 IP 匹配规则
完成以下步骤:
- 在导航窗格中的 AWS WAF 下,选择 Web ACLs。
- 对于 Region(区域),选择您创建了 Web ACL 的区域。
**注意:**如果该 Web ACL 为 CloudFront 设置,则选择 Global(全球)。
- 选择您的 Web ACL。
- 选择 Rules(规则),然后选择 Add Rules, Add my own rules and rule groups(添加规则、添加我自己的规则和规则组)。
- 对于 Name(名称),输入名称以标识此规则,例如 Block-Other-IPs。
- 对于 Type(类型),选择 Regular rule(常规规则)。
- 对于 If a request(如果请求),选择 doesn't match the statement (NOT)(与语句不匹配 (NOT))。
- 在 Statement(语句)上,对于 Inspect(检查),选择 Originates from IP address in(源自 IP 地址)。
- 对于 IP Set(IP 集),选择您的 IP 集,例如 MyTrustedIPs。
- 对于 IP address to use as the originating address(作为来源地址的 IP 地址),请选择 Source IP address(源 IP 地址)。
**注意:**如果您的流量通过内容分发网络 (CDN) 或其他代理网络路由,请在标头中使用 IP 地址。有关详细信息,请参阅在 AWS WAF 中使用转发的 IP 地址。
- 对于 Action(操作),选择 Block(阻止)。
- 选择 Add rule(添加规则)。
- 选择 Save(保存)。
IP 匹配规则会阻止任何未添加到 IP 集的 IP 地址。对于您添加到 IP 集的 IP 地址,该规则下方的其他规则会评估请求。如果没有匹配项,则 AWS WAF 将应用 Web ACL 默认操作。
有关详细信息,请参阅设置规则优先级。
相关信息
如何使用 AWS WAF 阻止不含用户代理标头的 HTTP 请求?