保护我的 AWS 账户及其资源的最佳实践有哪些?

上次更新日期:2022 年 8 月 22 日

保护我的 AWS 账户及其资源的最佳实践有哪些?

-或者-

我想保护我的 AWS 资源或账户免受未经授权活动的侵害。

简短描述

AWS 提供许多有助于保护账户安全的工具。但是,由于在默认情况下,许多这些措施处于未激活状态,因此您必须采取直接行动来实施它们。以下是在保护账户及其资源的安全时要考虑的一些最佳实践:

  • 保护您的密码和访问密钥
  • 在 AWS 账户根用户和具有 AWS Identity and Access Management(IAM)交互访问权限的任何用户上激活多重身份验证(MFA)
  • 限制 AWS 账户根用户对您的资源的访问
  • 经常审核 IAM 用户及其策略
  • 创建 Amazon Elastic Block Store(Amazon EBS)快照、Amazon Relational Database Service(Amazon RDS)快照和 Amazon Simple Storage Service(Amazon S3)对象版本
  • 使用 AWS Git 项目扫描未经授权使用的证据
  • 监控账户及其资源

注意:如果您使用的是 AWS Identity Center 或 IAM 联合用户,则 IAM 用户的最佳实践也适用于联合用户。

解决方法

保护您的密码和访问密钥

用于访问账户的两个主要类型的凭证是密码和访问密钥。密码和访问密钥可以应用于 AWS 根用户账户和单个 IAM 用户。最佳实践是像保护任何其他个人机密数据一样安全地保护密码和访问密钥。切勿将它们嵌入可公开访问的代码(例如,公有 Git 存储库)。为增加安全性,请经常轮换和更新所有安全凭证。

如果您怀疑密码或访问密钥对已公开,请按照以下步骤操作:

  1. 轮换所有访问密钥对
  2. 更改 AWS 账户根用户密码
  3. 按照发现我的 AWS 账户中存在未经授权的活动时该怎么办?中的说明进行操作

激活 MFA

激活 MFA 可以帮助保护账户安全,防止未经授权的用户在没有安全令牌的情况下登录账户。

为了提高安全性,最佳实践是配置 MFA 以帮助保护您的 AWS 资源。您可以为 IAM 用户AWS 账户根用户激活虚拟 MFA。为根用户激活 MFA 只会影响根用户凭证。账户中的 IAM 用户是具有自己凭证的不同身份,每个身份都有自己的 MFA 配置。

有关更多信息,请参阅为 AWS 中的用户激活 MFA 设备

限制根用户对您的资源的访问

根用户凭证(根密码或根访问密钥)授予无限制访问您的账户及其资源的权限。最佳实践是在确保安全的同时最大限度地减少根用户对账户的访问。

考虑以下策略来限制根用户对账户的访问:

有关更多信息,请参阅保护根用户凭证,不要将其用于日常任务

经常审核 IAM 用户及其策略

使用 IAM 用户时,请考虑以下最佳实践:

您可以使用 IAM 控制台中的可视化编辑器来帮助您定义安全策略。有关常见业务使用案例以及您可用于解决这些问题的策略的示例,请参阅 IAM 商用案例

创建 Amazon EBS 快照、Amazon RDS 快照和 Amazon S3 对象版本

要创建 EBS 卷的时间点快照,请参阅创建 Amazon EBS 快照

要激活 Amazon RDS 自动快照并设置备份保留期,请参阅激活自动备份

要创建用于备份和存档的标准 S3 桶,请参阅创建用于备份和存档的标准 S3 桶。要创建 S3 桶版本控制,请参阅在 S3 桶中使用版本控制

要使用控制台创建 AWS Backup 计划,请参阅创建计划备份。要使用 AWS 命令行界面(AWS CLI)创建 AWS Backup 计划,请参阅可以如何使用 AWS CLI 创建 AWS Backup 计划或运行按需作业?

使用 AWS Git 项目防止未经授权的使用

AWS 提供了可供您安装的 Git 项目,以帮助保护账户:

  • Git Secrets 可以扫描合并项、提交项和提交消息以获取机密信息(访问密钥)。如果 Git Secrets 检测到被禁止使用的正则表达式,会拒绝将这些提交发布到公有存储库。
  • 使用 AWS Step Functions 和 AWS Lambda 通过 AWS HealthAWS Trusted Advisor 生成 Amazon CloudWatch Events。如果有证据表明您的访问密钥已暴露,则这些项目可以帮助您自动检测、录入事件及缓解事件风险。

监控账户及其资源

最好主动监控您的账户及其资源,以检测任何异常活动或对账户的访问。考虑以下一个或多个解决方案:

注意:最佳实践是对所有区域开启日志记录,而不仅仅是您经常使用的区域。