如何使用 AWS WAF 封鎖不包含 User-Agent 標頭的 HTTP 請求?

2 分的閱讀內容
0

我想限制請求中不包含特定 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

  1. 開啟 AWS WAF 主控台

  2. 在導覽窗格的 AWS WAF 下,選擇 Web ACL

  3. 區域中,選擇您在其中建立 Web ACL 的 AWS 區域。
    **注意:**如果您為 Amazon CloudFront 設定 Web ACL,請選取「全域」。

  4. 選取您的 Web ACL。

  5. 選擇規則,然後選擇新增規則。從下拉式清單中選取新增受管規則群組

  6. 展開 AWS 受管規則群組區段。

  7. 找到規則群組,並開啟新增至 Web ACL
    例如,您可以為包含 NoUserAgent_HEADER 規則的核心規則集啟用新增至 Web ACL

  8. (選用) 選擇編輯以檢視和修改規則群組的設定。

  9. 選擇新增規則

  10. 選擇儲存

在 Web ACL 中編輯現有的 AWS 受管規則群組

  1. 開啟 AWS WAF 主控台
  2. 在導覽窗格的 AWS WAF 下,選擇 Web ACL
  3. 區域中,選擇您在其中建立 Web ACL 的 AWS 區域。
    **注意:**如果您為 Amazon CloudFront 設定 Web ACL,請選取「全域」。
  4. 選取您的 Web ACL。
  5. 選擇規則,然後選擇編輯以檢視和修改設定。
    **注意:**如需有關編輯設定的其他資訊,請參閱使用受管規則群組
  6. 完成編輯後,選擇儲存

如果您在使用 AWS 受管規則群組時遇到誤報情況,請參閱 AWS WAF 的 AWS 受管規則

使用自訂規則封鎖不包含 User-Agent 標頭的請求

若要使用自訂規則封鎖不包含 User-Agent 標頭的請求,請執行下列操作:

  1. 開啟 AWS WAF 主控台
  2. 在導覽窗格的 AWS WAF 下,選擇 Web ACL
  3. 對於區域,選取您在其中建立 Web ACL 的 AWS 區域。
    注意:如果您為 Amazon CloudFront 設定 Web ACL,請選取全域
  4. 選取您的 Web ACL。
  5. 選擇規則,然後選擇新增規則、新增我自己的規則和規則群組
  6. 針對規則類型,選擇規則建置器
  7. 針對名稱,輸入可識別此規則的名稱。
  8. 針對類型,選擇一般規則
  9. 針對如果請求,選擇與陳述式不符 (NOT)
  10. 陳述式上,對於檢查,選擇單一標頭
    對於標頭欄位名稱,輸入欄位的名稱。例如: User-Agent
    對於比對類型,選擇大小大於
    對於大小 (以位元組為單位),輸入 0 (零)。
    (選用) 選擇文字轉換,或選擇
  11. 對於動作,選擇封鎖
  12. 選擇新增規則
  13. (選用) 針對設定規則優先順序,選取您的規則並移動其優先順序。規則會按照其出現的順序處理。如需詳細資訊,請參閱 Web ACL 中規則和規則群組的處理順序
  14. 選擇儲存

如果請求包含使用自訂規則的特定 User-Agent,則封鎖流量

若要在請求包含使用自訂規則的特定 User-Agent 時封鎖流量,請執行下列操作:

  1. 開啟 AWS WAF 主控台
  2. 在導覽窗格的 AWS WAF 下,選擇 Web ACL
  3. 對於區域,選取您在其中建立 Web ACL 的 AWS 區域。
    注意:如果您為 Amazon CloudFront 設定 Web ACL,請選取全域
  4. 選取您的 Web ACL。
  5. 選擇規則,然後選擇新增規則、新增我自己的規則和規則群組
  6. 針對規則類型,選擇規則建置器
  7. 針對名稱,輸入可識別此規則的名稱。
  8. 針對類型,選擇一般規則
  9. 針對如果請求,選擇與陳述相符
  10. 陳述式上,對於檢查,選擇單一標頭
    對於標頭欄位名稱,輸入欄位的名稱。例如: User-Agent
    對於比對類型,選擇包含字串
    對於要比對的字串,輸入要封鎖的特定 User-Agent 的值。
    (選用) 選擇文字轉換,或選擇
  11. 對於動作,選擇封鎖
  12. 選擇新增規則
  13. (選用) 針對設定規則優先順序,選取您的規則並移動其優先順序。規則會按照其出現的順序處理。如需詳細資訊,請參閱 Web ACL 中規則和規則群組的處理順序
  14. 選擇儲存

AWS 官方
AWS 官方已更新 2 年前