我已設定 AWS WAF,並且需要允許特定 IPv4 和 IPv6 位址的存取,封鎖其他 IP 位址。
解決方法
AWS WAF 可以根據一組 IP 位址及位址範圍,檢查網路請求的來源 IP 位址。您可以建立一條規則,封鎖來自所有 IP 位址的請求,僅允許來自 IP 集合 中特定 IP 位址的請求。
建立 IP 集合規則以限制對 IPv4 和 IPv6 的存取
請完成下列步驟:
- 開啟 AWS WAF console (AWS WAF 主控台)。
- 在導覽窗格中,選擇 IP sets (IP 集),然後選擇 Create IP sets (建立 IP 集)。
- 在 IP set name (IP 集名稱) 中,輸入一個名稱,例如 MyTrustedIPs。
**注意:**建立 IP 集後,您無法變更其名稱。
- (選用) 在 Description (描述) 中,輸入 IP 集的描述。
- 在 Region (區域),選擇您想要儲存 IP 集的 AWS 區域。
**注意:若要使用 Web 存取控制清單 (Web ACL) 中保護 Amazon CloudFront 發佈項目的 IP 集,您必須使用全域 (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:c000:22c,請輸入 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 ACL。
- 在 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 an 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 請求?