Systems Manager 的安全最佳实践 - Amazon Web Services Systems Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Systems Manager 的安全最佳实践

Amazon Web Services Systems Manager 提供了您在开发和实施自己的安全策略时需要考虑的许多安全功能。以下最佳实践是一般准则,并不代表完整的安全解决方案。由于这些最佳实践可能不适合您的环境或不满足您的环境要求,因此将其视为有用的考虑因素而不是惯例。

Systems Manager 预防性安全最佳实践

Systems Manager 的以下最佳实践可以帮助防止安全事故。

实施最低权限访问

在授予权限时,您可以决定谁获得哪些 Systems Manager 资源的哪些权限。您可以对这些资源启用希望允许的特定操作。因此,您应仅授予执行任务所需的权限。实施最低权限访问对于减小安全风险以及可能由错误或恶意意图造成的影响至关重要。

为实现最低权限访问,可以使用以下工具:

使用 SecureString 参数加密和保护机密数据

在参数存储中,Amazon Web Services Systems Manager,aSecureString参数是需要以安全的方式存储和引用的任何敏感数据。如果您有不希望用户更改或以明文形式引用的数据(例如密码或许可证密钥),则应使用SecureString数据类型。Parameter Store 使用Amazon中的 KMS 密钥Amazon Key Management Service(Amazon KMS)对参数值进行加密。Amazon KMS使用客户管理的密钥或Amazon托管密钥在加密参数值时。为了获得最大的安全性,我们建议您使用自己的 KMS 密钥。如果您使用Amazon托管密钥,任何有权运行GetParameterGetParameters操作可以查看或检索所有SecureString参数。如果您使用客户管理的密钥来加密您的安全SecureString值时,您可以使用 IAM 策略和密钥策略来管理加密和解密参数的权限。使用客户托管密钥时,您无法为这些操作建立访问控制策略。

有关更多信息,请参阅 。使用 IAM 策略限制对 Systems Manager 参数的访问操作方法Amazon Web Services Systems ManagerParameter Store 使用Amazon KMS中的Amazon Key Management Service开发人员指南

为文档参数定义 “allowedValues 和 “allowedPattern”

您可以通过定义 Systems Manager 文档(SSM 文档)中的参数验证用户输入中的参数,方法是:allowedValuesallowedPattern。对于 allowedValues,需要定义参数允许的值数组。如果用户输入了不允许的值,则执行将无法启动。对于 allowedPattern,需要定义一个正则表达式,用于验证用户输入是否与参数的定义模式匹配。如果用户输入与允许的模式不匹配,则执行无法启动。

有关 allowedValuesallowedPattern 的更多信息,请参阅SSM 文档语法

阻止文档的公共共享

除非您的使用案例要求启用公共共享,否则我们建议在Preferences部 Systems Manager。

使用 Amazon Virtual Private Cloud (Amazon VPC) 和 VPC 终端节点

您可以使用 Amazon VPC 启动Amazon资源添加到已定义的虚拟网络。这个虚拟网络与您在数据中心中运行的传统网络极其相似,并会为您提供使用 Amazon 的可扩展基础设施的优势。

通过实施 VPC 终端节点,您可以将 VPC 私下连接到支持的Amazon服务和 VPC 终端节点服务Amazon无需互联网网关、NAT 设备、VPN 连接或AmazonDirect Connect 连接。VPC 中的实例无需公有 IP 地址便可与服务中的资源通信。VPC 和其他服务之间的通信不会离开 Amazon 网络。

有关 Amazon VPC 安全性的更多信息,请参阅(可选)创建 Virtual Private Cloud 终端节点安全中的Amazon VPC 用户指南

使用交互式命令限制会话管理器用户访问会话

会话管理器,一种Amazon Web Services Systems Manager,提供启动会话的几种方法添加到您的托管实例。为了实现最安全的连接,您可以要求用户使用交互式命令 方法进行连接,以将用户的交互限制为特定命令或命令序列。这有助于管理用户可以执行的交互操作。有关更多信息,请参阅 启动会话(交互式和非交互式命令)

为 Automation 工作流提供临时实例权限

在 “自动化” 中的工作流过程中,Amazon Web Services Systems Manager,您的实例可以只需要该执行所需的权限,而无需其他 Systems Manager 操作的权限。例如,Automation 工作流可能需要实例调用特定 API 操作或访问Amazon资源。如果您希望限制访问这些调用或资源,则可以在 Automation Runbook 本身中为您的实例提供临时补充权限,而不是将权限添加到您的 IAM 实例配置文件中。在 Automation 工作流结束时,临时权限删除。有关更多信息,请参阅 。提供临时实例权限Amazon Web Services Systems ManagerAUTOMATIONAmazon管理和治理博客

保持Amazon和 Systems Manager 工具最新

Amazon定期发布工具和插件的更新版本,您可在Amazon和 Systems Manager 操作. 确保这些资源为最新可确保您账户中的用户和实例能够访问这些工具中的最新功能和安全功能。

  • SSM 代理 —Amazon Web Services Systems Manager代理 (SSM 代理) 是一个 Amazon 软件,可以在 Amazon Elastic Compute Cloud (Amazon EC2) 实例、本地服务器或虚拟机 (VM) 上安装和配置。SSM 代理让 Systems Manager 可以更新、管理和配置这些资源。我们建议至少每两周检查一次新版本,或者应用对代理的自动更新。有关信息,请参阅 自动更新 SSM 代理

  • AmazonCLI —Amazon命令行界面 (AmazonCLI) 是一种开源工具,让您能够与Amazon服务使用命令。要更新AmazonCLI 时,您可以运行安装时使用的相同命令。AmazonCLI。我们建议您在本地计算机上创建计划任务,根据您的操作系统来相应运行命令,至少每两周一次。有关安装命令的信息,请参阅安装Amazon命令行界面中的Amazon命令行界面用户指南

  • Amazon适用于 Windows PowerShell 的工具 — 适用于 Windows PowerShell 的工具是根据公开的功能构建的一组 PowerShell 模块。AmazonSDK for .NET。这些区域有:AmazonWindows PowerShell 工具使您可以为Amazon资 PowerShell。随着适用于 Windows PowerShell 的工具的更新版本定期发布,您应更新在本地运行的版本。想要了解有关信息,请参阅更新Amazon适用于 Windows PowerShell 的工具或者更新Amazon适用于 Linux 上的 Windows PowerShell 的工具macOS

  • 会话管理器插件 — 如果组织中具有使用会话管理器权限的用户想要使用AmazonCLI,他们必须首先在其本地计算机上安装会话管理器插件。若要更新插件,请运行安装插件时使用的相同命令。我们建议您在本地计算机上创建计划任务,根据您的操作系统来相应运行命令,至少每两周一次。有关信息,请参阅 (可选)为AmazonCLI

  • CloudWatch 代理 — 您可以配置和使用 CloudWatch 代理从 EC2 实例、本地实例和虚拟机 (VM) 收集指标和日志。这些日志可以发送到 Amazon CloudWatch Logs 以进行监控和分析。我们建议至少每两周检查一次新版本,或者应用对代理的自动更新。对于最简单的更新,请使用 Amazon Web Services Systems Manager 快速设置。有关信息,请参阅 Amazon Web Services Systems Manager 快速设置

Systems Manager 监控和审计最佳实践

Systems Manager 的以下最佳实践可以帮助检测潜在的安全弱点和事故。

确定和审计您的所有 Systems Manager 资源

确定您的 IT 资产是监管和安全性的一个至关重要的方面。您需要标识所有 Systems Manager 资源,以评估它们的安全态势并对潜在的薄弱领域采取措施。

使用标签编辑器确定安全性敏感或审计敏感资源,然后在您需要搜索这些资源时使用这些标签。有关更多信息,请参阅 。搜索要标记的资源中的AmazonResource Groups 用户指南

为您的 Systems Manager 资源创建资源组。有关更多信息,请参阅 。什么是Amazon是否有 Resource Groups?

使用 Amazon CloudWatch 监控工具实施监控

监控是保持 Systems Manager 和您的Amazon解决方案。Amazon CloudWatch 提供了多种工具和服务来帮助您监控 Systems Manager 和其他Amazon服务。有关更多信息,请参阅 将实例日志发送到 CloudWatch Logs (CloudWatch 代理)使用亚马逊 EventBridge 监控 Systems Manager 事件

使用 CloudTrail

Amazon CloudTrail提供了用户、角色或Amazon服 Systems Manager。使用 CloudTrail 收集的信息,您可以确定向 Systems Manager 发出了什么请求、发出请求的 IP 地址、何人发出的请求、请求的发出时间以及其他详细信息。有关更多信息,请参阅 使用 Amazon CloudTrail 记录 Amazon Web Services Systems Manager API 调用

Enable Amazon Config (启用 Gem)

Amazon Config 让您能够评估、审计和评价您的 Amazon 资源的配置。Amazon Config 监控资源配置,让您能够针对需要的安全配置评估所记录的配置。使用 Amazon Config,您可以查看配置更改以及 Amazon 资源之间的关系,调查详细的资源配置历史记录,并判断您的配置在整体上是否符合内部指南中所指定的配置要求。这可以帮助您简化合规性审核、安全性分析、变更管理和操作故障排除。有关更多信息,请参阅 。设置Amazon Config使用控制台中的Amazon Config开发人员指南。当指定要记录的资源类型时,确保您包括了 Systems Manager 资源。

显示器Amazon安全建议

您应定期检查在Trusted Advisor适用于的Amazon Web Services 账户。您可以使用 describe-trusted-advisor-checks 以编程方式完成此操作。

此外,还要主动监控注册到每个Amazon Web Services 账户。Amazon将使用此电子邮件地址与您联系,以了解可能会对您有影响的新出现的安全问题。

具有广泛影响的 Amazon 操作性问题将在 Amazon 服务运行状况控制面板上发布。操作性问题也会通过 Personal Health Dashboard 发布给个人账户。有关更多信息,请参阅 Amazon Health 文档