本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用地形表單部署 AWS WAF 解決方案的安全自動化
由拉胡爾·沙拉德·蓋克瓦德博士(AWS)和泰米爾塞爾文 P(AWS)創建
代碼存儲庫:aws-waf-automation-terraform-示例 | 環境:PoC 或試點 | 技術:安全性、身分識別、合規性;基礎架構;內容交付; DevOps |
工作負載:所有其他工作 | AWS 服務:AWS WAF |
Summary
AWS WAF 是一種 Web 應用程式防火牆,可使用可在 Web 存取控制清單 (ACL) 中定義和部署的可自訂規則,協助保護應用程式免於遭受常見入侵。設定 AWS WAF 規則可能具有挑戰性,尤其是對於沒有專門安全團隊的組織而言。為了簡化此程序,Amazon Web Services (AWS) 提供 AWS WAF 的安全自動化
AWS WAF 解決方案的安全自動化可 CloudFormation 根據 AWS WAF 實作指南的安全自動化指南中的指示使用 AWS 來部署。此模式為使用 HashiCorp Terraform 做為其慣用基礎結構即程式碼 (IaC) 工具來佈建和管理其雲端基礎結構的組織提供替代部署選項。部署此解決方案時,Terraform 會自動套用雲端中的變更,並部署和設定 AWS WAF 設定和保護功能。
先決條件和限制
先決條件
產品版本
AWS CLI 版本 2.4.25 或更新版本
地形版本 1.1.9 或更高版本
架構
目標架構
此模式會為 AWS WAF 解決方案部署安全自動化。如需目標架構的詳細資訊,請參閱 AWS WAF 安全自動化指南中的架構概觀。如需有關此部署中 AWS Lambda 自動化、應用程式日誌剖析器、AWS WAF 日誌剖析器、IP 清單剖析器和存取處理常式的詳細資訊,請參閱 AWS WAF 安全自動化實作指南中的元件詳細資訊。
地形部署
當您運行時terraform apply
,地形會執行以下操作:
Terraform 會根據測試 .tfvars 檔案的輸入來建立 IAM 角色和 Lambda 函數。
Terraform 會根據測試 .tfvars 檔案的輸入來建立 AWS WAF ACL 規則和 IP 集。
Terraform 會根據測試 .tfvars 檔案的輸入,建立 Amazon 簡單儲存服務 (Amazon S3) 儲存貯體、亞馬遜 EventBridge 規則、AWS Glue 資料庫表和亞馬遜雅典娜工作群組。
Terraform 會部署 AWS CloudFormation 堆疊以佈建自訂資源。
Terraform 會根據來自測試 .tfvars 檔案的指定輸入來建立 Amazon API Gateway 資源。
自動化和規模
您可以使用此模式為多個 AWS 帳戶和 AWS 區域建立 AWS WAF 規則,以便在整個 AWS 雲端環境中部署 AWS WAF 解決方案的安全自動化。
工具
AWS 服務
AWS Command Line Interface (AWS CLI) (AWS CLI) 是一種開放原始碼工具,可協助您透過命令列殼層中的命令與 AWS 服務互動。
AWS WAF 是一種 Web 應用程式防火牆,可協助您監控轉寄至受保護 Web 應用程式資源的 HTTP 和 HTTPS 請求。
其他服務
Git
是一個開放原始碼的分散式版本控制系統。 HashiCorp Terraform
是一個命令列介面應用程式,可協助您使用程式碼來佈建和管理雲端基礎結構和資源。
代碼存儲庫
此模式的程式碼可在 GitHub AWS WAF 自動化使用地形儲存庫取得
最佳實務
將靜態文件放在單獨的 S3 存儲桶中。
避免對變量進行硬編碼。
限制自訂指令碼的使用。
採用命名慣例。
史诗
任務 | 描述 | 所需技能 |
---|---|---|
初始化地形組態。 | 輸入下列命令以初始化包含 Terraform 組態檔的工作目錄。
| DevOps 工程師 |
預覽地形計劃。 | 輸入以下命令。Terraform 會評估組態檔案,以判斷宣告資源的目標狀態。然後將目標狀態與目前狀態進行比較,並建立計劃。
| DevOps 工程師 |
驗證計劃。 | 檢閱計劃並確認其在目標 AWS 帳戶中設定所需的架構。 | DevOps 工程師 |
部署解決方案。 |
| DevOps 工程師 |
任務 | 描述 | 所需技能 |
---|---|---|
驗證變更。 |
| DevOps 工程師 |
(選擇性) 清理基礎結構。 | 如果您想要移除此解決方案所做的所有資源和組態變更,請執行下列動作:
| DevOps 工程師 |
故障診斷
問題 | 解決方案 |
---|---|
| 如果您在執行 |
相關資源
AWS 參考資料
地形參考
其他資訊
以下命令克隆此模式的 GitHub 存儲庫。
git clone https://github.com/aws-samples/aws-waf-automation-terraform-samples.git