使用智慧型威脅 JavaScript API - AWS WAF, AWS Firewall Manager和 AWS Shield Advanced

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用智慧型威脅 JavaScript API

本節提供在用戶端應用程式 JavaScript API中使用智慧型威脅的指示。

智慧型威脅APIs提供了針對使用者瀏覽器執行無訊息挑戰的作業,以及處理 AWS WAF 提供成功挑戰和CAPTCHA回應證明的代幣。

先在測試環境中實作 JavaScript 整合,然後在生產環境中實作整合。如需其他程式碼撰寫指引,請參閱下列各節。

使用智慧型威脅 APIs
  1. 安裝 APIs

    如果您使用 CAPTCHAAPI,則可以略過此步驟。當您安裝時 CAPTCHAAPI,指令碼會自動安裝智慧型威脅APIs。

    1. 登入 AWS Management Console 並打開 AWS WAF 控制台位於https://console.aws.amazon.com/wafv2/

    2. 在導覽窗格中,選擇 Application integration (應用程式整合)。在「應用程式整合」頁面上,您可以看到標籤式選項。

    3. 選擇智慧型威脅整合

    4. 在索引標籤中,選取ACL您要整合的網頁。Web ACL 清單僅包含使ACLs用AWSManagedRulesACFPRuleSet受管規則群組、受AWSManagedRulesATPRuleSet管規則群組或受AWSManagedRulesBotControlRuleSet管規則群組的目標防護層級的 Web。

    5. 開啟JavaScript SDK窗格,然後複製要在整合中使用的指令碼標記。

    6. 在應用程式頁面程式碼的<head>區段中,插入您為 Web 複製的指令碼標記ACL。此包含會導致您的客戶端應用程序在頁面加載時在後台自動檢索令牌。

      <head> <script type="text/javascript" src="Web ACL integration URL/challenge.js” defer></script> <head>

      <script>清單已使用defer屬性進行設定,但async如果您希望頁面採用不同的行為,則可以將設定變更為。

  2. (選擇性) 新增用戶端權杖的網域組態 — 依預設,何時 AWS WAF 創建一個令牌,它使用與 Web 關聯的資源的主機域ACL。若要提供的其他網域 JavaScript APIs,請遵循的指引提供在權杖中使用的網域

  3. 編寫智慧型威脅整合的程式碼 — 撰寫程式碼,以確保在用戶端將其請求傳送到受保護的端點之前完成 Token 擷取。如果您已經在fetchAPI使用撥打電話,您可以替換 AWS WAF 集成fetch包裝。如果您不使用 fetchAPI,您可以使用 AWS WAF 而不是集成getToken操作。如需程式碼撰寫指引,請參閱下列各節。

  4. 在您的網路中新增權杖驗證 ACL — 在您的網路ACL中新增至少一個規則,以檢查用戶端傳送的 Web 要求中是否有效的挑戰 Token。您可以使用規則群組來檢查和監控挑戰權杖 (例如 Bot Control 受管理規則群組的目標層級),而且您可以使用 Challenge 要檢查的規則動作,如中所述使用 CAPTCHA 以及 Challenge in AWS WAF

    Web ACL 添加功能會驗證對受保護端點的請求是否包含您在用戶端集成中獲取的令牌。包含有效、未過期權杖的要求會傳遞 Challenge 檢查並且不要向您的客戶發送另一個無聲挑戰。

  5. (選用) 封鎖遺失 Token 的要求 — 如果APIs搭配受管規則群組、ACFP受管規則群組或 Bot Control 規則群組的目標規則搭配使用,則這些規則不會封鎖遺失 Token 的要求。ATP要阻止缺少令牌的請求,請按照中的指導進行操作封鎖沒有有效的要求 AWS WAF token