我想限制請求中不包含特定 User-Agent 或包含特定User-Agent 標頭值的 HTTP 請求。
簡短描述
依預設,AWS WAF 篩選器不會檢查 HTTP 請求參數是否存在。若要檢查 HTTP 請求參數是否存在,請執行下列操作:
使用 AWS 受管規則封鎖不包含 User-Agent 標頭的請求。
-或-
封鎖不包含 User-Agent 標頭的請求,如果請求包含使用自訂規則的特定 User-Agent,則封鎖流量。
解決方法
使用 AWS 受管規則封鎖不包含 User-Agent 標頭的請求
使用 AWS WAF 的 AWS 受管規則來封鎖不包含 User-Agent 標頭的 HTTP 請求,而無需編寫自己的規則。
**注意:**受管規則可能會有版本變更和到期的情況。如需詳細資訊,請參閱處理受管規則群組版本的最佳實務。
下列規則會檢查遺漏 HTTP User-Agent 標頭和似乎不是來自 Web 瀏覽器的 User-Agent 字串的請求:
NoUserAgent_HEADER
此規則來自核心規則集 (CRS) 受管規則群組。此規則會檢查是否遺漏 HTTP User-Agent 標頭的請求。
SignalNonBrowserUserAgent
此規則來自 AWS WAF 機器人控制功能規則群組。此規則會檢查似乎不是來自 Web 瀏覽器的 User-Agent 字串,包括沒有 User-Agent 的請求。
將 AWS 受管規則群組新增至您的 Web ACL
-
開啟 AWS WAF 主控台。
-
在導覽窗格的 AWS WAF 下,選擇 Web ACL。
-
在區域中,選擇您在其中建立 Web ACL 的 AWS 區域。
**注意:**如果您為 Amazon CloudFront 設定 Web ACL,請選取「全域」。
-
選取您的 Web ACL。
-
選擇規則,然後選擇新增規則。從下拉式清單中選取新增受管規則群組。
-
展開 AWS 受管規則群組區段。
-
找到規則群組,並開啟新增至 Web ACL。
例如,您可以為包含 NoUserAgent_HEADER 規則的核心規則集啟用新增至 Web ACL。
-
(選用) 選擇編輯以檢視和修改規則群組的設定。
-
選擇新增規則。
-
選擇儲存。
在 Web ACL 中編輯現有的 AWS 受管規則群組
- 開啟 AWS WAF 主控台。
- 在導覽窗格的 AWS WAF 下,選擇 Web ACL。
- 在區域中,選擇您在其中建立 Web ACL 的 AWS 區域。
**注意:**如果您為 Amazon CloudFront 設定 Web ACL,請選取「全域」。
- 選取您的 Web ACL。
- 選擇規則,然後選擇編輯以檢視和修改設定。
**注意:**如需有關編輯設定的其他資訊,請參閱使用受管規則群組。
- 完成編輯後,選擇儲存。
如果您在使用 AWS 受管規則群組時遇到誤報情況,請參閱 AWS WAF 的 AWS 受管規則。
使用自訂規則封鎖不包含 User-Agent 標頭的請求
若要使用自訂規則封鎖不包含 User-Agent 標頭的請求,請執行下列操作:
- 開啟 AWS WAF 主控台。
- 在導覽窗格的 AWS WAF 下,選擇 Web ACL。
- 對於區域,選取您在其中建立 Web ACL 的 AWS 區域。
注意:如果您為 Amazon CloudFront 設定 Web ACL,請選取全域。
- 選取您的 Web ACL。
- 選擇規則,然後選擇新增規則、新增我自己的規則和規則群組。
- 針對規則類型,選擇規則建置器。
- 針對名稱,輸入可識別此規則的名稱。
- 針對類型,選擇一般規則。
- 針對如果請求,選擇與陳述式不符 (NOT)。
- 在陳述式上,對於檢查,選擇單一標頭。
對於標頭欄位名稱,輸入欄位的名稱。例如: User-Agent。
對於比對類型,選擇大小大於。
對於大小 (以位元組為單位),輸入 0 (零)。
(選用) 選擇文字轉換,或選擇無。
- 對於動作,選擇封鎖。
- 選擇新增規則。
- (選用) 針對設定規則優先順序,選取您的規則並移動其優先順序。規則會按照其出現的順序處理。如需詳細資訊,請參閱 Web ACL 中規則和規則群組的處理順序。
- 選擇儲存。
如果請求包含使用自訂規則的特定 User-Agent,則封鎖流量
若要在請求包含使用自訂規則的特定 User-Agent 時封鎖流量,請執行下列操作:
- 開啟 AWS WAF 主控台。
- 在導覽窗格的 AWS WAF 下,選擇 Web ACL。
- 對於區域,選取您在其中建立 Web ACL 的 AWS 區域。
注意:如果您為 Amazon CloudFront 設定 Web ACL,請選取全域。
- 選取您的 Web ACL。
- 選擇規則,然後選擇新增規則、新增我自己的規則和規則群組。
- 針對規則類型,選擇規則建置器。
- 針對名稱,輸入可識別此規則的名稱。
- 針對類型,選擇一般規則。
- 針對如果請求,選擇與陳述相符。
- 在陳述式上,對於檢查,選擇單一標頭。
對於標頭欄位名稱,輸入欄位的名稱。例如: User-Agent。
對於比對類型,選擇包含字串。
對於要比對的字串,輸入要封鎖的特定 User-Agent 的值。
(選用) 選擇文字轉換,或選擇無。
- 對於動作,選擇封鎖。
- 選擇新增規則。
- (選用) 針對設定規則優先順序,選取您的規則並移動其優先順序。規則會按照其出現的順序處理。如需詳細資訊,請參閱 Web ACL 中規則和規則群組的處理順序。
- 選擇儲存。