本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
自動稽核允許從公有 IP 地址存取 AWS 的安全群組
由 Eugene Shifer (AWS) 和 Stephen DiCato (AWS) 建立
Summary
作為安全最佳實務,重要的是將 AWS 資源的暴露量降至最低,只暴露在絕對必要的範圍內。例如,提供一般公有需求的 Web 伺服器需要允許從網際網路傳入存取,但對其他工作負載的存取應限制在特定網路,以減少不必要的暴露。Amazon Virtual Private Cloud (Amazon VPC) 中的安全群組是一種有效的控制,可協助您限制資源存取。不過,評估安全群組可能是一項繁瑣的任務,尤其是在多帳戶架構中。 AWS Config 規則和AWS Security Hub 控制項可協助您識別安全群組,允許從公有網際網路 (0.0.0.0/0) 存取特定網路通訊協定,例如 Secure Shell (SSH)、HTTP、HTTP 和 Windows 遠端桌面通訊協定 (RDP)。不過,如果服務在非標準連接埠上執行,或存取僅限於特定公有 IP 地址,則這些規則和控制項不適用。例如,當 Web 服務與 TCP 連接埠 8443 而非標準 TCP 連接埠 443 相關聯時,可能會發生這種情況。當開發人員能夠從其家用網路存取伺服器時,也可能發生這種情況,例如用於測試目的。
若要解決此問題,您可以使用基礎設施做為此模式中提供的程式碼 (IaC) 解決方案,來識別安全群組,允許從任何非私有 (RFC 1918
先決條件和限制
先決條件
作用中 AWS 帳戶
使用 GitHub
的經驗 如果您要部署到單一 AWS 帳戶:
如果您要部署到 AWS 組織:
限制
如果您要部署到未啟用 Security Hub 的個別帳戶,您可以使用 AWS Config 來評估問題清單。
如果您要部署到沒有 AWS Config 和 Security Hub 委派管理員的組織,您必須登入個別成員帳戶才能檢視問題清單。
如果您使用 AWS Control Tower 來管理和管理組織中的帳戶,請使用 Customizations for AWS Control Tower (CfCT) 在此模式中部署 IaC。使用 CloudFormation AWS Control Tower 主控台會建立來自護欄的組態偏離,並要求您重新註冊組織單位 (OUs) 或受管帳戶。
有些 AWS 服務 完全無法使用 AWS 區域。如需區域可用性,請參閱AWS 服務 依區域
。如需特定端點,請參閱服務端點和配額頁面,然後選擇服務的連結。
架構
部署至個別 AWS 帳戶
下列架構圖顯示單一 中 AWS 資源的部署 AWS 帳戶。您可以透過 CloudFormation 主控台直接使用 CloudFormation 範本來佈建資源。如果啟用 Security Hub,您可以在 AWS Config 或 Security Hub 中檢視結果。如果 Security Hub 未啟用,您只能在 中檢視結果 AWS Config。

該圖顯示以下工作流程:
您可以建立 CloudFormation 堆疊。這會部署 Lambda 函數和 AWS Config 規則。規則和函數都會設定 AWS Identity and Access Management (IAM) 許可,這是在 AWS Config 和 日誌中發佈資源評估所需的許可。
此 AWS Config 規則以偵測評估模式運作,並每 24 小時叫用 Lambda 函數。
Lambda 函數會評估安全群組並傳送更新至 AWS Config。
Security Hub 會收到所有 AWS Config 調查結果。
您可以檢視 Security Hub 或 中的調查結果 AWS Config,取決於您在帳戶中設定的服務。
部署至 AWS 組織
下圖顯示透過 AWS Organizations 和 管理的多個帳戶間部署模式 AWS Control Tower。您可以透過 CfCT 部署 CloudFormation 範本。評估結果集中在委派管理員帳戶中的 Security Hub 中。圖表的 AWS CodePipeline 工作流程區段顯示 CfCT 部署期間發生的背景步驟。

該圖顯示以下工作流程:
在 管理帳戶中,您將 IaC 範本的壓縮 (ZIP) 檔案上傳至 CfCT 部署的 Amazon Simple Storage Service (Amazon S3) 儲存貯體。
CfCT 管道會解壓縮 檔案、執行 cfn-nag
(GitHub) 檢查,並將範本部署為 CloudFormation 堆疊集。 根據您在 CfCT 資訊清單檔案中指定的組態,CloudFormation StackSets 會將堆疊部署到個別帳戶或指定的 OUs。這會在目標帳戶中部署 Lambda 函數和 AWS Config 規則。規則和函數都會使用 IAM 許可設定,這些許可是在 AWS Config 和 日誌中發佈資源評估所需的許可。
此 AWS Config 規則以偵測評估模式運作,並每 24 小時叫用 Lambda 函數。
Lambda 函數會評估安全群組並傳送更新至 AWS Config。
AWS Config 會將所有調查結果轉送至 Security Hub。
Security Hub 調查結果會在委派的管理員帳戶中彙總。
您可以在委派管理員帳戶中檢視 Security Hub 中的彙總調查結果。
工具
AWS 服務
AWS CloudFormation 可協助您設定 AWS 資源、快速且一致地佈建資源,以及在整個 AWS 帳戶 和 生命週期中管理資源 AWS 區域。
AWS Config 提供 中資源的詳細檢視 AWS 帳戶 及其設定方式。它可協助您識別資源彼此的關係,以及其組態如何隨時間變化。An AWS Config rule 會定義您的理想資源組態設定,並可 AWS Config 評估您的 AWS 資源是否符合規則中的條件。
AWS Control Tower 可協助您設定和管理 AWS 多帳戶環境,並遵循規範最佳實務。自訂 for AWS Control Tower (CfCT) 可協助您自訂 AWS Control Tower 登陸區域,並保持符合 AWS 最佳實務。此解決方案的自訂是透過 CloudFormation 範本 AWS Organizations 和服務控制政策 (SCPs實作。
AWS Lambda 是一項運算服務,可協助您執行程式碼,無需佈建或管理伺服器。它只會在需要時執行程式碼並自動擴展,因此您只需支付您使用的運算時間。
AWS Organizations 是一種帳戶管理服務,可協助您將多個 合併 AWS 帳戶 到您建立並集中管理的組織。
AWS Security Hub 提供安全狀態的完整檢視 AWS。它還可協助您根據安全產業標準和最佳實務來檢查 AWS 環境。
其他工具
Python
是一種一般用途的電腦程式設計語言。
程式碼儲存庫
此模式的程式碼可在 GitHub Detect 易受攻擊的安全群組
最佳實務
我們建議您遵守下列資源中的最佳實務:
使用 的組織單位最佳實務 AWS Organizations
(AWS 雲端操作和遷移部落格) 使用 AWS Control Tower 上的 建立初始基礎的指南 AWS
(AWS 解決方案程式庫) 建立和修改 AWS Control Tower 資源的指引 (AWS Control Tower 文件)
CfCT 部署考量 (AWS Control Tower 文件)
套用最低權限許可 (IAM 文件)
史詩
任務 | 描述 | 所需的技能 |
---|---|---|
決定您的部署策略。 | 檢閱解決方案和程式碼,以判斷您 AWS 環境的部署策略。判斷您要部署到單一帳戶或 AWS 組織。 | 應用程式擁有者、一般 AWS |
複製儲存庫。 | 輸入下列命令來複製偵測易受攻擊的安全群組
| 應用程式開發人員、應用程式擁有者 |
驗證 Python 版本。 |
| AWS 管理員、應用程式開發人員 |
任務 | 描述 | 所需的技能 |
---|---|---|
部署 CloudFormation 範本。 | 將 CloudFormation 範本部署到您的 AWS 環境中。執行以下任意一項: | 應用程式開發人員、AWS 管理員、一般 AWS |
驗證部署。 | 在 CloudFormation 主控台 | AWS 管理員、應用程式擁有者 |
任務 | 描述 | 所需的技能 |
---|---|---|
檢視 AWS Config 規則調查結果。 | 在 Security Hub 中,執行下列動作來檢視個別問題清單:
在 Security Hub 中,執行下列動作以檢視依 分組的問題清單總數 AWS 帳戶:
在 中 AWS Config,若要檢視問題清單,請遵循 AWS Config 文件中檢視合規資訊和評估結果中的指示。 | AWS 管理員、AWS 系統管理員、雲端管理員 |
故障診斷
問題 | 解決方案 |
---|---|
CloudFormation 堆疊集建立或刪除失敗。 | 部署 AWS Control Tower 時,它會強制執行必要的護欄,並取得 AWS Config 對彙總器和規則的控制。這包括防止透過 CloudFormation 進行任何直接變更。若要正確部署或移除此 CloudFormation 範本,包括所有相關資源,您必須使用 CfCT。 |
CfCT 無法刪除 CloudFormation 範本。 | 如果即使在資訊清單檔案進行必要變更並移除範本檔案之後,CloudFormation 範本仍存在,請確認資訊清單檔案包含 |
相關資源
AWS Config 自訂規則 (AWS Config 文件)