发布于: Oct 30, 2022

如果您有意愿改善您 Amazon Web Services 账户中云安全防御能力,那么 Amazon Web Services 首席信息安全官 Stephen Schmidt 在 Amazon Web Services re: Invent 2019 大会上提出了十大最重要云安全提示。在这些提示如下图所示,我们能够带着更清晰的思路采取行动。

当 Amazon Web Services 需要就您的 Amazon Web Services 账户与您联系时,我们会使用 Amazon Web Services 管理控制台中预先定义的联系信息,包括用于创建账户的电子邮件地址以及 Alternate Contacts 之下列出的邮件地址。因此,大家应该保证所有电子邮件地址不致指向同一位联系人。您还需要建立一套流程,用于定期检查这些电子邮件地址是否正常运行,以及您是否会对通知邮件做出回复(特别是从 abuse@amazon.com 处收到的安全通知邮件)。关于如何设置备用联系人,以保证当首选电子邮件地址不可用时仍将由其他人收到重要提示消息,请点击此处了解更多详细信息。

多因素验证 MFA 是保护您的账户免受不当访问的最佳方式。请始终保证在您 Root 用户以及 Amazon Web Services 身份与访问管理(IAM)用户中设置 MFA。如果您使用 Amazon Single Sign-On (SSO) 控制指向 Amazon Web Services 的访问,或者借此与企业身份存储进行联动,也可以在其中启用 MFA 机制。将 MFA 与联动身份提供程序(IdP)结合起来,意味着大家能够继续使用组织内的现有 MFA 流程。要了解如何具体操作,请参阅在 Amazon Web Services 中使用多因素身份验证(MFA)。

在 Amazon Web Services 上构建应用程序时,大家可以使用 Amazon IAM 角色以交付临时使用凭证,借此调用必要的 Amazon Web Services 服务。当然,某些应用程序需要使用周期更长的凭证,例如数据库密码或者其他 API 密钥。在后一种情况下,请千万不要以硬编码形式将 secrets 保存在应用程序或者源代码当中。

大家可以使用 Amazon Secrets Manager 控制应用程序中的凭证信息。Secrets Manager 能够帮助我们在整个软件生命周期之内轮换、管理并检索数据库凭证、API 密钥以及其他保密信息。用户及应用程序可以直接调用 Secrets Manager API 检索保密信息,从而避免以明文形式进行敏感信息硬编码。

这里推荐大家参阅如何在 Amazon EC2 上通过 Amazon IAM 角色运行应用程序。另外,为了获得最佳效果,也建议大家参考如何使用 Amazon Secrets Manager 安全地为 Amazon Lambda 函数提供数据库凭证。 

安全组机制,是保证网络访问您在 Amazon Web Services 上所配置资源的一种重要方式。借此,您可以保证仅打开必要端口,并通过已知网络范围之内启用连接,从而遵循安全最佳实践提出的基本要求。大家可以使用 Amazon Config 或者 Amazon Firewall Manager 等服务,以编程方式保证虚拟私有云(VPC)安全组使用与您预期相符的配置。Network Reachability 规则工具包则可分析您的 Amazon Virtual Private Cloud (Amazon VPC) 网络配置,确定外部网络(例如互联网、虚拟专用网关或者 Amazon Direct Connect)能否访问 Amazon EC2 实例。Amazon Firewall Manager 还能够将 Amazon WAF 规则自动应用于整个 Amazon Web Services 账户当中各类面向互联网的资源。关于更多详细信息,请参阅关于 VPC 安全组中的变更检测与响应。

不同的数据有着不同的用途,因此必须对其做出正确数据分类以保障安全性。其中的核心,在于立足严格的安全状态与灵活的敏捷性之间做出权衡。严格的安全措施必然带来冗长的访问控制流程,但能够为数据安全提供更有力的保证。但这样的安全管理思路,往往与敏捷及快节奏的开发需求背道而驰;在开发环境中开发人员需要自助访问数据存储的权限。为此,请认真规划数据分类方法,借此满足广泛的访问要求。

当然,数据的分类方式不需要像公共数据与私有数据那样非此即彼。各类数据有着不同程度的敏感度,您拥有的数据可能属于敏感性和机密性的不同级别。应设计适当的预防与检测控制措施组合,从而适当地匹配数据的敏感性。在以下建议中,我们主要探讨公共数据与私有数据之间的差异。如果您目前还没有建立数据分类政策,那么先从 publicprivate 角度区分可能是个不错的起点。

如何对已分类或正在分类的数据进行保护:

  1. 如果您拥有面向公共数据的 Amazon Simple Storage Service (Amazon S3)存储桶,请将其中所有数据转移至某一单独 Amazon Web Services 账户中提供公开访问。设置策略,仅允许流程(而非人员)将数据移入这些存储桶。这使您可以阻止在任何其他 Amazon Web Services 账户中创建公共 Amazon S3 存储桶的功能。。
  2. 使用 Amazon S3 可以阻止不应通过 Amazon S3 共享数据的任何帐户中的公共访问。

使用两个不同的 IAM 角色进行 KMS 的加密和解密。这使您可以将数据输入(加密)和数据查看(解密)分开,并允许您通过分析该角色来对失败的解密尝试进行威胁检测。

相关文章