SEC06-BP03 減少手動管理和互動式存取 - AWS Well-Architected 架構

SEC06-BP03 減少手動管理和互動式存取

盡可能使用自動化方式來執行部署、組態、維護和調查任務。在發生緊急程序的情況下或在安全 (沙盒) 環境中無法啟用自動化時,請考慮手動存取運算資源。

預期成果:程式化的指令碼和自動化文件 (執行手冊) 會擷取運算資源上獲得授權的動作。這些執行手冊會自動啟動、透過變更偵測系統啟動,或是在需要人為判斷時手動啟動。只有在無法啟用自動化的緊急情況下,才能直接存取運算資源。所有手動活動都會加以記錄並納入審查程序中,以持續改善您的自動化功能。

常見的反模式:

  • 透過 SSH 或 RDP 等通訊協定互動式存取 Amazon EC2 執行個體。

  • 維護個別使用者登入,例如 /etc/passwd 或 Windows 本機使用者。

  • 在多個使用者之間共用密碼或私有金鑰以存取執行個體。

  • 手動安裝軟體和建立或更新組態檔案。

  • 手動更新或修補軟體。

  • 登入執行個體以解決問題。

建立此最佳實務的優勢:透過自動化方式執行步驟,有助於降低意外變更和組態錯誤伴隨的操作風險。不再使用 Secure Shell (SSH) 和遠端桌面通訊協定 (RDP) 進行互動式存取,因此縮小了運算資源的存取範圍。這樣也消除了常見的未經授權動作路徑。在自動化文件和程式化指令碼中寫入運算資源管理任務,提供了以更精細的細節程度定義和稽核完整的授權活動範圍的機制。

未建立此最佳實務時的風險暴露等級:

實作指引

登入執行個體是系統管理的傳統方法。安裝伺服器作業系統後,使用者通常會手動登入以設定系統並安裝所需的軟體。在伺服器的生命週期內,使用者可能會登入以執行軟體更新、套用修補程式、變更組態及排解疑難。

但是,手動存取伴隨著許多風險。它需要伺服器監聽請求,例如 SSH 或 RDP 服務,而這些服務可能成為未經授權的存取路徑。此外,它也會增加執行手動步驟時發生人為錯誤的風險。這些都可能導致工作負載事故、資料損壞或銷毀,或其他安全問題。人為存取也需要設置防護措施來防止憑證共用行為,因而產生額外的管理負擔。 

為了降低這些風險,您可以實作代理程式型的遠端存取解決方案,例如 AWS Systems Manager。AWS Systems Manager Agent (SSM Agent) 會啟動加密通道,因此不需依賴偵聽外部發出的請求。請考慮設定 SSM Agent 以透過 VPC 端點建立此通道

Systems Manager 可讓您精細控制與受管執行個體互動的方式。您可以定義要執行的自動化程序、誰可以執行它們,以及何時可以執行。Systems Manager 不需互動式存取執行個體,即可套用修補程式、安裝軟體及進行組態變更。Systems Manager 還可提供對遠端 Shell 的存取權,並將工作階段期間調用的每個命令及其輸出記錄到日誌和 Amazon S3AWS CloudTrail 會記錄 Systems Manager API 的調用以供檢測。

實作步驟

  1. 在 Amazon EC2 執行個體上安裝 AWS Systems Manager Agent (SSM Agent)。查看是否包含 SSM Agent,且它會作為基底 AMI 組態的一部分自動啟動。

  2. 確認與您的 EC2 執行個體設定檔相關聯的 IAM 角色是否包含 AmazonSSMManagedInstanceCore 受管 IAM 政策

  3. 停用執行個體上執行的 SSH、RDP 和其他遠端存取服務。您可以藉由執行啟動範本的使用者資料區段中設定的指令碼,或使用 EC2 Image Builder 等工具建置自訂 AMI,以執行此操作。

  4. 確認適用於 EC2 執行個體的安全群組輸入規則不允許在連接埠 22/tcp (SSH) 或連接埠 3389/tcp (RDP) 上的存取。使用 AWS Config 等服務實作偵測,並對設定錯誤的安全群組發出警示。

  5. 定義適當的自動化、執行手冊,並在 Systems Manager 中執行命令。使用 IAM 政策定義誰可以執行這些動作,以及允許執行這些動作的條件。在非實際執行環境中完整測試這些自動化程序。在必要時調用這些自動化程序,而非以互動方式存取執行個體。

  6. 在必要時,使用 AWS Systems Manager Session Manager 提供對執行個體的互動式存取。開啟工作階段活動記錄,以在 Amazon CloudWatch LogsAmazon S3 中維護稽核記錄。 

資源

相關的最佳實務:

相關範例:

相關工具:

相關影片: