跳至內容

如何使用 AWS WAF 封鎖不包含使用者代理程式標頭的 HTTP 請求?

3 分的閱讀內容
0

我想使用 AWS WAF 來限制請求中不包含特定使用者代理程式值的 HTTP 請求。或者,請求中包含特定的使用者代理程式標頭值。

簡短描述

預設情況下,AWS WAF 篩選器不會檢查 HTTP 請求參數是否存在。若要使用 AWS WAF 根據使用者代理程式標頭封鎖 HTTP 請求,請執行下列其中一項動作:

  • 使用 AWS 受管規則來封鎖不包含使用者代理程式標頭的請求。
  • 使用自訂規則封鎖不包含使用者代理程式標頭的請求。
  • 使用自訂規則來封鎖具有特定使用者代理程式標頭的請求。

解決方法

使用 AWS 受管規則來封鎖不包含使用者代理程式標頭的請求

如果您對 AWS WAF 使用 AWS 受管規則,則無需編寫自己的規則。

**注意:**AWS 受管規則可能會發生版本變更和過期。如需詳細資訊,請參閱在 AWS WAF 中使用版本控制的受管規則群組

NoUserAgent_HEADER 規則會檢查沒有 HTTP User-Agent 標頭的請求。SignalNonBrowserUserAgent 規則會檢查那些看起來並非來自網頁瀏覽器的使用者代理程式字串,包括沒有使用者代理程式的請求。

將「AWS 受管規則」規則群組新增至您的 Web ACL

請完成下列步驟:

  1. 開啟 AWS WAF console (AWS WAF 主控台)。
  2. 在導覽窗格中,選擇 AWS WAF
  3. 選擇 Resources & protection packs (資源和保護套件)。
  4. 找到您的保護套件,然後選擇 Rules (規則) 旁的 View and edit (檢視和編輯)。
  5. 在右側窗格中,選擇 Add rules (新增規則)。
    選擇 AWS-managed rule group (AWS 受管規則群組),然後按一下 Next. (下一步)。
  6. 選取您要新增的規則群組。
  7. 選擇 Add to web ACL (新增至 Web ACL)。
    **注意:**為 Core rule set (核心規則集) 選取 Add to web ACL (新增至 Web ACL)。核心規則集包含 NoUserAgent_HEADER 規則。
  8. 選擇 Create Rule (建立規則)。

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

請完成下列步驟:

  1. 開啟 AWS WAF console (AWS WAF 主控台)。
  2. 在導覽窗格中,選擇 AWS WAF
  3. 選擇 Resources & protection packs (資源和保護套件)。
  4. 找到您的保護套件,然後選擇 Rules (規則) 旁的 View and edit (檢視和編輯)。
  5. 在右側窗格中,選取您的 AWS 受管規則群組
  6. Rule Overrides (規則覆寫) 區段,您可以編輯設定。
    **注意:**如需編輯設定的詳細資訊,請參閱使用受管規則群組
  7. 選擇 Save Rule (儲存規則)。

如果您遇到「AWS 受管規則規」則群組的誤判,請參閱適用於 AWS WAF 的 AWS 受管規則

使用自訂規則封鎖不包含使用者代理程式標頭的請求

請完成下列步驟:

  1. 開啟 AWS WAF console (AWS WAF 主控台)。
  2. 在導覽窗格中,選擇 AWS WAF
  3. 選擇 Resources & protection packs (資源和保護套件)。
  4. 找到您的保護套件,然後選擇 Rules (規則) 旁的 View and edit (檢視和編輯)。
  5. 在右側窗格中,選擇 Add rules (新增規則)。
    選擇 Custom rule (自訂規則),然後按一下 Next (下一步)。
    再次選擇 Custom rule (自訂規則),然後按一下 Next (下一步)。
  6. 將規則 Action (動作) 設定為 BLOCK (封鎖)。
  7. 輸入您的規則名稱
  8. If a request (如果請求) 中,展開下拉式功能表並選擇與陳述式不符** (NOT)**。
  9. Inspect (檢查),選擇 Single header (單一標頭)。
  10. NOT Statement (陳述式) 下,完成以下內容:
    Header field name (標頭欄位名稱) 中,輸入欄位的名稱。例如,使用者代理程式
    Match type (比對類型) 中,選擇 Size greater than (大小大於)。
    Size in bytes (大小 (以位元組為單位)),輸入 0
    (選用) 選擇 Text transformation (文字轉換),或選擇 None (無)。
  11. 選擇 Create Rule (建立規則)。
  12. (選用) 若要設定規則優先順序,請在右側窗格中選取 Edit Rule Order (編輯規則順序),然後更新優先順序。如需詳細資訊,請參閱設定規則優先順序
    **注意:**規則會依照出現的順序套用。
  13. 選擇 Save Rule Order (儲存規則順序)。

使用自訂規則來封鎖具有特定使用者代理程式標頭的請求。

請完成下列步驟:

  1. 開啟 AWS WAF console (AWS WAF 主控台)。
  2. 在導覽窗格中,選擇 AWS WAF
  3. 選擇 Resources & protection packs (資源和保護套件)。
  4. 找到您的保護套件,然後選擇 Rules (規則) 旁的 View and edit (檢視和編輯)。
  5. 在右側窗格中,選擇 Add rules (新增規則)。
    選擇 Custom rule (自訂規則),然後按一下 Next (下一步)。
    再次選擇 Custom rule (自訂規則),然後按一下 Next (下一步)。
  6. 將規則 Action (動作) 設定為 BLOCK (封鎖)。
  7. 輸入您的規則名稱
  8. If a request (如果請求) 中,展開下拉式功能表並選擇 matches the statement (符合陳述式)。
  9. Inspect (檢查),選擇 Single header (單一標頭)。
  10. Statement (陳述式) 下,設定下列設定:
    Header field name (標頭欄位名稱) 中,輸入欄位的名稱。例如,使用者代理程式
    Match type (比對類型) 中,選擇 Contains string (包含字串)。
    String to match (要比對的字串) 中,輸入您想封鎖的使用者代理程式。
    (選用) 選擇 Text transformation (文字轉換),或選擇 None (無)。
  11. 選擇 Create Rule (建立規則)。
  12. (選用) 若要設定規則優先順序,請在右側窗格中選取 Edit Rule Order (編輯規則順序),然後更新優先順序。如需詳細資訊,請參閱設定規則優先順序
    **注意:**規則會依照出現的順序套用。
  13. 選擇 Save Rule Order (儲存規則順序)。
AWS 官方已更新 7 個月前