SEC06-BP03 減少手動管理和互動式存取
盡可能使用自動化方式來執行部署、組態、維護和調查任務。在發生緊急程序的情況下或在安全 (沙盒) 環境中無法啟用自動化時,請考慮手動存取運算資源。
預期成果:程式化的指令碼和自動化文件 (執行手冊) 會擷取運算資源上獲得授權的動作。這些執行手冊會自動啟動、透過變更偵測系統啟動,或是在需要人為判斷時手動啟動。只有在無法啟用自動化的緊急情況下,才能直接存取運算資源。所有手動活動都會加以記錄並納入審查程序中,以持續改善您的自動化功能。
常見的反模式:
-
使用 SSH或 等通訊協定互動式存取 Amazon EC2執行個體RDP。
-
維護個別使用者登入,例如
/etc/passwd
或 Windows 本機使用者。 -
在多個使用者之間共用密碼或私有金鑰以存取執行個體。
-
手動安裝軟體和建立或更新組態檔案。
-
手動更新或修補軟體。
-
登入執行個體以對問題進行疑難排解。
建立此最佳實務的優勢:透過自動化方式執行步驟,有助於降低意外變更和組態錯誤伴隨的操作風險。移除使用 Secure Shell (SSH) 和遠端桌面通訊協定 (RDP) 進行互動式存取會減少對運算資源的存取範圍。這樣也消除了常見的未經授權動作路徑。在自動化文件和程式化指令碼中寫入運算資源管理任務,提供了以更精細的細節程度定義和稽核完整的授權活動範圍的機制。
未建立此最佳實務時的曝險等級:中
實作指引
登入執行個體是系統管理的傳統方法。安裝伺服器作業系統後,使用者通常會手動登入以設定系統並安裝所需的軟體。在伺服器的生命週期內,使用者可能會登入以執行軟體更新、套用修補程式、變更組態及對問題進行疑難排解。
但是,手動存取伴隨著許多風險。它需要接聽請求的伺服器,例如 SSHRDP或服務,其可提供未經授權存取的潛在路徑。此外,它也會增加執行手動步驟時發生人為錯誤的風險。這些都可能導致工作負載事件、資料損壞或銷毀,或其他安全問題。人為存取也需要設置防護措施來防止憑證共用行為,因而產生額外的管理負擔。
若要降低這些風險,您可以實作以代理程式為基礎的遠端存取解決方案,例如 AWS Systems Manager
Systems Manager 可讓您精細控制與受管執行個體互動的方式。您可以定義要執行的自動化程序、誰可以執行它們,以及何時可以執行。Systems Manager 不需互動式存取執行個體,即可套用修補程式、安裝軟體及進行組態變更。Systems Manager 也可以提供遠端 shell 的存取權,並在工作階段期間記錄調用的每個命令及其輸出,以記錄日誌和 Amazon S3
實作步驟
-
在 Amazon EC2執行個體上安裝AWS Systems Manager 代理程式 (SSM 代理程式)。檢查SSM客服人員是否包含在基本AMI組態中並自動啟動。
-
驗證與您的EC2執行個體設定檔相關聯的IAM角色是否包含
AmazonSSMManagedInstanceCore
受管IAM政策 。 -
停用在執行個體上執行的 RDP、 SSH和其他遠端存取服務。您可以執行啟動範本的使用者資料區段中設定的指令碼,或使用 EC2 Image Builder 等AMIs工具建置自訂的指令碼來達成此目的。
-
確認適用於EC2執行個體的安全群組傳入規則不允許存取連接埠 22/tcp (SSH) 或連接埠 3389/tcp ()RDP。使用 AWS Config等服務實作偵測,並對設定錯誤的安全群組發出提醒。
-
定義適當的自動化、執行手冊,並在 Systems Manager 中執行命令。使用IAM政策來定義誰可以執行這些動作,以及允許執行這些動作的條件。在非實際執行環境中完整測試這些自動化程序。在必要時調用這些自動化程序,而非以互動方式存取執行個體。
-
在必要時,使用 AWS Systems Manager Session Manager 提供對執行個體的互動式存取。開啟工作階段活動記錄,以在 Amazon CloudWatch Logs 或 Amazon S3
中維護稽核追蹤。
資源
相關的最佳實務:
相關範例:
相關工具:
相關影片: