AWS Systems ManagerChange Manager 不再開放給新客戶。現有客戶可以繼續正常使用該服務。如需詳細資訊,請參閱AWS Systems ManagerChange Manager可用性變更。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Systems Manager 的安全最佳實務
AWS Systems Manager 提供許多安全功能,供您在開發和實作自己的安全政策時考慮。以下最佳實務為一般準則,並不代表完整的安全解決方案。這些最佳實務可能不適用或無法滿足您的環境需求,因此請將其視為實用建議就好,而不要當作是指示。
Systems Manager 預防性安全最佳實務
以下 Systems Manager 最佳實務有助於預防安全事件的發生。
- 實作最低權限存取
-
當您授予許可時,需要決定哪些使用者會取得哪些 Systems Manager 資源的許可。您允許針對這些資源啟用允許執行的動作。因此,您只應授與執行任務所需的許可。對降低錯誤或惡意意圖所引起的安全風險和影響而言,實作最低權限存取是相當重要的一環。
下列工具可用來實作最低權限存取:
- 將 SSM Agent 設定為使用代理時,使用建議的設定
-
如果將 SSM Agent 設定為使用代理,請將
no_proxy變數與 Systems Manager 執行個體中繼資料服務的 IP 位址搭配使用,確保對 Systems Manager 的呼叫不會採用代理服務的身分。如需詳細資訊,請參閱將 SSM Agent 設定為使用 Linux 節點上的代理及將 SSM Agent 設定為使用 Windows Server 執行個體的代理。
- 使用 SecureString 參數來加密和保護機密資料
-
在 Parameter Store ( AWS Systems Manager中的工具) 中,
SecureString參數是需要以安全方式存放和參考的任何敏感資料。如果您有不希望使用者以純文字更改或參考的資料,例如密碼或授權金鑰,請使用SecureString資料類型建立這些參數。 Parameter Store會使用 AWS KMS key in AWS Key Management Service (AWS KMS) 來加密參數值。 會在加密參數值 AWS 受管金鑰 時使用 AWS KMS 客戶受管金鑰或 。為了獲得最大的安全,我們建議您使用自己的 KMS 金鑰。如果您使用 AWS 受管金鑰,擁有在帳戶中執行 GetParameter和 GetParameters動作許可的任何使用者都可以檢視或擷取所有SecureString參數的內容。如果您使用客戶受管金鑰來加密您的安全SecureString值,您可以使用 IAM 政策和金鑰政策來管理加密和解密參數的許可。若使用了 AWS 受管金鑰,則很難為這些操作建立存取控制政策。例如,如果您使用 AWS 受管金鑰 來加密
SecureString參數,且不希望使用者使用SecureString參數,使用者的 IAM 政策必須明確拒絕存取預設金鑰。如需詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的 使用 IAM 政策限制對 Parameter Store 參數的存取 和 AWS Systems ManagerParameter Store 如何使用 AWS KMS。
- 定義文件參數的 allowedValues 和 allowedPattern
-
您可以定義
allowedValues和allowedPattern來驗證 Systems Manager 文件 (SSM 文件) 參數的使用者輸入。對於allowedValues,您可以定義參數允許的值陣列。如果使用者輸入不允許的值,則無法開始執行。對於allowedPattern,您可以定義規則運算式,以驗證使用者輸入是否符合參數定義的模式。如果使用者輸入不符合允許的模式,則無法開始執行。如需
allowedValues和allowedPattern的更多相關資訊,請參閱資料元素和參數。 - 封鎖文件的公有共用
-
除非您的使用案例需要允許公有共用,否則建議您在 Systems Manager 文件主控台的 Preferences (偏好設定) 區段中開啟 SSM 文件的封鎖公有共用設定。
- 使用 Amazon Virtual Private Cloud (Amazon VPC) 和 VPC 端點
-
您可以使用 Amazon VPC 將 AWS 資源啟動至您定義的虛擬網路。這個虛擬網路與您在資料中心中操作的傳統網路非常相似,且具備使用 AWS可擴展基礎設施的優勢。
透過實作 VPC 端點,您可以將 VPC 私下連線至支援 AWS 服務 且採用 技術的 VPC 端點服務, AWS PrivateLink 而不需要網際網路閘道、NAT 裝置、VPN 連線或 AWS Direct Connect 連線。VPC 中的執行個體不需要公有 IP 地址,即可與服務中的資源通訊。VPC 與另一個服務之間的流量都會保持在 Amazon 網路的範圍內。
如需有關 Amazon VPC 安全的詳細資訊,請參閱《Amazon VPC 使用者指南》中的使用適用於 Systems Manager 的 VPC 端點來改善 EC2 執行個體的安全性和 Amazon VPC 的網際網路流量隱私權。
- 限制 Session Manager 使用者只能操作使用互動式命令和特定 SSM 工作階段文件的工作階段
-
Session Manager (AWS Systems Manager 中的工具) 為受管節點提供數種啟動工作階段的方法。為了獲得最安全的連線,您可以要求使用者使用互動式命令方法來連線,以限制使用者與特定命令或命令序列的互動。這可以協助您管理使用者可採取的互動動作。如需詳細資訊,請參閱啟動工作階段 (互動和非互動式命令)。
為了增加安全性,您可以限制 Session Manager 只能存取特定的 Amazon EC2 執行個體和 Session Manager 工作階段文件。您可以使用 AWS Identity and Access Management (IAM) 政策以這種方式授予或撤銷Session Manager存取權。如需詳細資訊,請參閱步驟 3:控制工作階段對受管節點的存取權。
- 提供 Automation 工作流程的臨時節點許可
-
在 Automation (AWS Systems Manager 中的工具) 工作流程期間,您的節點可能只需要該執行所需的許可,而不需要其他 Systems Manager 操作的許可。例如,自動化工作流程可能需要節點呼叫特定的 API 操作,或在工作流程期間特別存取 AWS 資源。如果這些呼叫或資源是您想要限制存取的呼叫或資源,您可以在 Automation Runbook 本身內為節點提供暫時的補充許可,而不用將許可新增至 IAM 執行個體設定檔。在 Automation 工作流程結束時,暫時許可會移除。如需詳細資訊,請參閱 AWS 管理和管控部落格中的提供 AWS Systems Manager Automation 的臨時執行個體許可
。 - 讓 AWS 和 Systems Manager工具保持在最新狀態
-
AWS 會定期發行您可以在 和 AWS Systems Manager操作中使用的工具和外掛程式的更新版本。將這些資源保持在最新狀態,可確保帳戶中的使用者和節點可以存取這些工具的最新功能和安全功能。
-
SSM Agent – AWS Systems Manager 代理程式 (SSM Agent) 是 Amazon 軟體,可在 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體、內部部署伺服器或虛擬機器 (VM) 上安裝和設定。SSM Agent 可讓 Systems Manager 更新、管理和設定這些資源。我們建議您至少每兩週檢查一次新版本或自動更新代理程式。如需相關資訊,請參閱自動化 SSM Agent 更新。我們也建議您在更新程序期間驗證 SSM Agent 的簽章。如需相關資訊,請參閱驗證 SSM Agent 的簽章。
-
AWS CLI – AWS Command Line Interface (AWS CLI) 是一種開放原始碼工具,可讓您 AWS 服務 在命令列 Shell 中使用命令與 互動。若要更新 AWS CLI,請執行用來安裝 的相同命令 AWS CLI。建議您在本機電腦上建立排程任務,至少每兩週執行一次適合您作業系統的命令。如需安裝命令的相關資訊,請參閱AWS Command Line Interface 《 使用者指南》中的安裝 AWS CLI 版本 2。
-
AWS Tools for Windows PowerShell – Tools for Windows PowerShell 是一組 PowerShell 模組,建置在適用於 .NET 的 AWS SDK 公開的功能上。 AWS Tools for Windows PowerShell 可讓您從 PowerShell 命令列編寫資源 AWS 操作的指令碼。當 Tools for Windows PowerShell 的版本更新發佈時,您應定期更新於本機執行的版本。如需詳細資訊,請參閱《IAM 政策模擬器使用者指南》中的 AWS Tools for Windows PowerShell 在 Windows 上更新 或在 Linux AWS Tools for Windows PowerShell 上更新 macOS 。
-
Session Manager 外掛程式 – 如果您組織中具有使用 Session Manager 許可的使用者想要使用 AWS CLI來連線至節點,他們必須先在其本機電腦上安裝 Session Manager 外掛程式。若要更新外掛程式,請執行與用於安裝外掛程式相同的命令。建議您在本機電腦上建立排程任務,至少每兩週執行一次適合您作業系統的命令。如需相關資訊,請參閱為 AWS CLI 安裝 Session Manager 外掛程式。
-
CloudWatch 代理程式 – 您可以設定並使用 CloudWatch 代理程式,以從 EC2 執行個體、內部部署執行個體和虛擬機器 (VM) 收集指標和日誌。這些日誌可以傳送到 Amazon CloudWatch Logs 供監控和分析。我們建議您至少每兩週檢查一次新版本或自動更新代理程式。針對最簡單的更新,請使用 AWS Systems Manager 快速設定。如需相關資訊,請參閱AWS Systems Manager Quick Setup。
-
SSM Agent 安裝最佳實務
安裝 SSM Agent 時,請針對您的機器類型使用適當的安裝方法。特別是,針對混合多雲端環境中的所有非 EC2 安裝使用 ssm-setup-cli 工具。此工具為非 EC2 機器提供額外的安全保護。
若要在內部部署伺服器和虛擬機器上安裝 Agent,請使用 ssm-setup-cli 工具,如下列主題所述:
若要在 EC2 執行個體上安裝 Agent,請針對您的作業系統類型使用適當的安裝程序:
Systems Manager 監控和稽核最佳實務
以下 Systems Manager 最佳實務有助於偵測潛在安全弱點與事件。
- 識別並稽核所有 Systems Manager 資源
-
識別 IT 資產是控管和保障安全的重要環節。您需要識別所有 Systems Manager 資源,才能評估其安全狀態並對潛在弱點採取行動。
您可使用標籤編輯器來識別重視安全或重視稽核的資源,接著在需要搜尋上述資源時運用這些標籤。如需詳細資訊,請參閱《AWS Resource Groups 使用者指南》中的尋找要加上標籤的資源。
請為 Systems Manager 資源建立資源群組。如需詳細資訊,請參閱什麼是 Resource Groups?
- 使用 Amazon CloudWatch 監控工具來實作監控
-
監控是維護 Systems Manager 及您 AWS 解決方案安全性、可靠性、可用性和效能的重要部分。Amazon CloudWatch 提供數種工具和服務,協助您監控 Systems Manager 和其他 AWS 服務。如需詳細資訊,請參閱將節點日誌傳送至統一 CloudWatch Logs (CloudWatch 代理程式)及使用 Amazon EventBridge 監控 Systems Manager。
- 使用 CloudTrail
-
AWS CloudTrail 提供 AWS 服務 中使用者、角色或 所採取動作的記錄Systems Manager。您可以利用 CloudTrail 所收集的資訊來判斷向 Systems Manager 發出的請求,以及發出請求的 IP 地址、人員、時間和其他詳細資訊。如需詳細資訊,請參閱使用 AWS CloudTrail 記錄 AWS Systems Manager API 呼叫。
- 開啟 AWS Config
-
AWS Config 可讓您評估、稽核和評估 AWS resources. AWS Config monitors 資源組態的組態,讓您根據所需的安全組態評估記錄的組態。使用 AWS Config,您可以檢閱 AWS 資源之間組態和關係的變更、調查詳細的資源組態歷史記錄,並根據內部準則中指定的組態來判斷整體合規性。如此一來,您就能輕鬆進行合規稽核、安全分析、變更管理和操作故障診斷的程序。如需詳細資訊,請參閱《AWS Config 開發人員指南》中的使用主控台設定 AWS Config。當您指定要記錄的資源類型時,請確定其中包含 Systems Manager 資源。
- 監控 AWS 安全建議
-
您應該定期檢查 Trusted Advisor 中張貼的安全建議 AWS 帳戶。您也可以使用 describe-trusted-advisor-checks,以程式設計方式來執行此操作。
此外,請主動監控向每個 註冊的主要電子郵件地址 AWS 帳戶。 AWS 將使用此電子郵件地址與您聯絡,以了解可能會影響您的新安全問題。
AWS 具有廣泛影響的操作問題會張貼在AWS 服務運作狀態儀表板
上。系統也會透過 Personal Health Dashboard,將操作問題張貼至個別帳戶。如需詳細資訊,請參閱 AWS Health 文件。
- 詳細資訊