的安全最佳實務Systems Manager - AWS Systems Manager

的安全最佳實務Systems Manager

AWS Systems Manager在您開發和實作自己的安全政策時,可考慮使用 提供的多種安全功能。以下最佳實務為一般準則,並不代表完整的安全解決方案。這些最佳實務可能不適用或無法滿足您的環境需求,因此請將其視為實用建議就好,而不要當作是指示。

Systems Manager 預防性安全最佳實務

以下 Systems Manager 最佳實務有助於預防安全事件的發生。

實作最低權限存取

當您授予許可時,需要決定哪些使用者會取得哪些 Systems Manager 資源的許可。您允許針對這些資源啟用允許執行的動作。因此您只應授予執行任務所需的許可。對降低錯誤或惡意意圖所引起的安全風險和影響而言,實作最低權限存取是相當重要的一環。

下列工具可用來實作最低權限存取:

使用 SecureString 參數來加密和保護機密資料

在 Parameter Store (AWS Systems Manager 功能) 中,SecureString 參數是需要以安全方式存放和參考的所有敏感資料。如果您有資料不希望使用者更改或以純文字參考,例如密碼或授權金鑰,請使用 SecureString 資料類型建立這些參數。Parameter Store 使用 AWS Key Management Service (AWS KMS) 中的 AWS KMS key 來加密參數值。加密參數值時,AWS KMS 會使用客戶受管金鑰或 AWS 受管金鑰。為了獲得最大的安全,我們建議您使用自己的 KMS 金鑰。如果您使用 AWS 受管金鑰,則任何有權在您帳戶中執行 GetParameterGetParameters 動作的使用者,都可以檢視或擷取所有 SecureString 參數的內容。如果您使用客戶受管金鑰來加密您的安全 SecureString 值,您可以使用 IAM 政策和金鑰政策來管理加密和解密參數的許可。當您使用客戶受管金鑰時,您無法為這些作業建立存取控制政策。

如需詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的 使用 IAM 政策限制對 Systems Manager 參數的存取AWS Systems ManagerParameter Store 如何使用 AWS KMS

定義文件參數的 allowedValues 和 allowedPattern

您可以定義 allowedValuesallowedPattern 來驗證 Systems Manager 文件 (SSM 文件) 參數的使用者輸入。對於 allowedValues,您可以定義參數允許的值陣列。如果使用者輸入不允許的值,則無法開始執行。對於 allowedPattern,您可以定義規則運算式,以驗證使用者輸入是否符合參數定義的模式。如果使用者輸入不符合允許的模式,則無法開始執行。

如需 allowedValuesallowedPattern 的詳細資訊,請參閱 SSM 文件語法

封鎖文件的公有共用

除非您的使用案例需要允許公有共用,否則建議您在 Systems Manager 文件主控台的 Preferences (偏好設定) 區段中開啟 SSM 文件的封鎖公有共用設定。

使用 Amazon Virtual Private Cloud (Amazon VPC) 和 VPC 端點

您可以使用 Amazon VPC 將 AWS 資源啟動至已定義的虛擬網路。這個虛擬網路與您在資料中心中操作的傳統網路非常相似,且具備使用 可擴展基礎設施的優勢AWS

藉由實作 VPC 端點,您可以將 VPC 私下連線至支援的 AWS 服務以及具有 AWS PrivateLink 功能的 VPC 端點服務,而不需要網際網路閘道、NAT 裝置、VPN 連接或 AWS Direct Connect 連線。VPC 中的執行個體不需要公有 IP 地址,即可與服務中的資源通訊。VPC 與另一個服務之間的流量都會保持在 Amazon 網路的範圍內。

如需 Amazon VPC 安全的詳細資訊,請參閱《Amazon VPC 使用者指南》中的(選用) 建立 Virtual Private Cloud 端點安全

限制 Session Manager 使用者使用互動式命令進行工作階段

Session Manager (AWS Systems Manager 功能) 為受管執行個體提供數種啟動工作階段的方法。為了獲得最安全的連線,您可以要求使用者使用互動式命令方法來連線,以限制使用者與特定命令或命令序列的互動。這可以協助您管理使用者可採取的互動動作。如需更多詳細資訊,請參閱 啟動工作階段 (互動和非互動式命令)

提供 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 更新」。

  • AWS CLI – AWS Command Line Interface (AWS CLI)是開放原始碼工具,可讓您在命令列 shell 中使用命令來與 AWS 服務互動。若要更新 AWS CLI,請執行與用於安裝 AWS CLI 相同的命令。建議您在本機電腦上建立排程任務,至少每兩週執行一次適合您作業系統的命令。如需有關安裝命令的資訊,請參閱《AWS Command Line Interface 使用者指南》中的安裝 AWS Command Line Interface

  • AWS Tools for Windows PowerShell – Tools for Windows PowerShell 屬於 PowerShell 模組,而這些模組則是根據適用於 .NET 的 AWS 開發套件所公開的功能建置而成。AWS Tools for Windows PowerShell 可讓您從 PowerShell 命令列對 AWS 資源執行指令碼作業。當 Tools for Windows PowerShell 的版本更新發佈時,您應定期更新於本機執行的版本。如需詳細資訊,請參閱在 Windows 上更新 AWS Tools for Windows PowerShell在 Linux 或 macOS 上更新 AWS Tools for Windows PowerShell

  • Session Manager 外掛程式 – 如果您組織中具有使用 Session Manager 許可的使用者想要使用 AWS CLI 來連線至執行個體,他們必須先在其本機電腦上安裝 Session Manager 外掛程式。若要更新外掛程式,請執行與用於安裝外掛程式相同的命令。建議您在本機電腦上建立排程任務,至少每兩週執行一次適合您作業系統的命令。如需相關資訊,請參閱「(選用) 為 AWS CLI 安裝 Session Manager 外掛程式」。

  • CloudWatch 代理程式 – 您可以設定並使用 CloudWatch 代理程式,以從 EC2 執行個體、內部部署執行個體和虛擬機器 (VM) 收集指標和日誌。這些日誌可以傳送到 Amazon CloudWatch Logs 供監控和分析。我們建議您至少每兩週檢查一次新版本或自動更新代理程式。針對最簡單的更新,請使用 AWS Systems Manager 快速設定。如需相關資訊,請參閱「AWS Systems ManagerQuick Setup」。

Systems Manager 監控和稽核最佳實務

以下 Systems Manager 最佳實務有助於偵測潛在安全弱點與事件。

識別並稽核所有 Systems Manager 資源

識別 IT 資產是控管和保障安全的重要環節。您需要識別所有 Systems Manager 資源,才能評估其安全狀態並對潛在弱點採取行動。

您可使用標籤編輯器來識別重視安全或重視稽核的資源,接著在需要搜尋上述資源時運用這些標籤。如需詳細資訊,請參閱《AWS Resource Groups 使用者指南》中的搜尋要加上標籤的資源

請為 Systems Manager 資源建立資源群組。如需詳細資訊,請參閱什麼是 AWS 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 Systems Manager 記錄 AWS CloudTrail API 呼叫

開啟 AWS Config

AWS Config 允許您存取、稽核和評估 AWS 資源的組態。AWS Config 會監控資源組態,以便根據您所需的安全組態來評估記錄的組態。您可透過 AWS Config 來檢視組態變更與 AWS 資源間的關係,並調查詳細的資源組態歷史記錄,也可依據內部準則指定的組態來判斷整體合規情況。如此一來,您就能輕鬆進行合規稽核、安全分析、變更管理和操作故障診斷的程序。如需詳細資訊,請參閱《AWS Config 開發人員指南》中的使用主控台設定 AWS Config。當您指定要記錄的資源類型時,請確定其中包含 Systems Manager 資源。

監控 AWS 安全建議

您應該定期查看 Trusted Advisor 針對 AWS 帳戶 帳戶所張貼的安全建議。您也可以使用 describe-trusted-advisor-checks,以程式設計方式來執行此操作。

此外,您還應主動監控每個 AWS 帳戶 帳戶註冊的主要電子郵件地址。若有可能會影響您的緊急安全問題,AWS 即會透過此電子郵件地址與您聯絡。

AWS Service Health Dashboard 上會張貼可能產生廣泛影響的 AWS 操作問題。系統也會透過 Personal Health Dashboard,將操作問題張貼至個別帳戶。如需詳細資訊,請參閱 AWS Health 文件