本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Elastic Beanstalk 的安全最佳实践
AWS Elastic Beanstalk 提供了您在开发和实施自己的安全策略时需要考虑的多项安全功能。以下最佳实践是一般指导原则,并不代表完整安全解决方案。由于这些最佳实践可能不适合您的环境或不满足您的环境要求,因此将其视为有用的考虑因素,而不是惯例。
有关其他 Elastic Beanstalk 安全主题,请参阅AWS Elastic Beanstalk 安全性。
预防性安全最佳实践
预防性安全控制措施试图在事件发生之前进行预防。
实施最低权限访问
Elastic Beanstalk 为实例配置文件、服务角色和 IAM 用户提供 AWS Identity and Access Management (IAM) 托管策略。这些托管策略指定了正确运行环境和应用程序可能所需的所有权限。
您的应用程序可能不需要我们托管策略中的全部权限。您可以自定义它们,并仅授予环境的实例、Elastic Beanstalk 服务和用户执行其任务所需的权限。这与用户策略特别相关,其中不同的用户角色可能具有不同的权限需求。实施最低权限访问对于减小安全风险以及可能由错误或恶意意图造成的影响至关重要。
定期更新您的平台
Elastic Beanstalk 定期发布新平台版本更新其所有平台。新的平台版本提供了操作系统、运行时、应用程序服务器和 Web 服务器更新以及 Elastic Beanstalk 组件更新。其中很多平台更新包括重要的安全修复。确保您的 Elastic Beanstalk 环境在受支持的平台版本(通常是平台的最新版本)上运行。有关详细信息,请参阅更新 Elastic Beanstalk 环境的平台版本。
保持环境平台最新的最简单方法是将环境配置为使用托管平台更新。
在环境实例上强制执行 IMDSv2
您的 Elastic Beanstalk 环境中的 Amazon Elastic Compute Cloud (Amazon EC2) 实例使用实例元数据服务 (IMDS)(实例上的一个组件)来安全地访问实例元数据。IMDS 支持两种访问数据的方法:IMDSv1 和 IMDSv2。IMDSv2 使用面向会话的请求,并防范了多种类型的漏洞,这些漏洞可用于尝试访问 IMDS。有关 IMDSv2 优势的详细信息,请参阅为 EC2 实例元数据服务增加深度防御的增强功能
IMDSv2 更加安全,因此最好在您的实例上强制使用 IMDSv2。要强制使用 IMDSv2,请确保应用程序的所有组件均支持 IMDSv2,然后禁用 IMDSv1。有关更多信息,请参阅 在 Elastic Beanstalk 环境的实例上配置 IMDS。
检测性安全最佳实践
侦探性安全控件会在发生安全违规后识别它们。它们可以帮助您发现潜在安全威胁或事件。
实施监控
监控是保持您的 Elastic Beanstalk 解决方案的可靠性、安全性、可用性和性能的重要部分。AWS为您提供了一些可以用来监控AWS服务的工具。
以下是要监视的项目的一些示例:
-
适用于 Elastic Beanstalk 的 Amazon CloudWatch 指标 – 为关键 Elastic Beanstalk 指标和应用程序的自定义指标设置警报。有关详细信息,请参阅将 Elastic Beanstalk 和 Amazon CloudWatch 结合使用。
-
AWS CloudTrail 条目 – 跟踪可能影响可用性的操作,例如
UpdateEnvironment
或TerminateEnvironment
。有关详细信息,请参阅使用 AWS CloudTrail 记录 Elastic Beanstalk API 调用。
启用 AWS Config
AWS Config 可以提供关于您的账户中的 AWS 资源配置的详细信息。您可以查看资源的关联方式、获取配置更改的历史记录并了解关系和配置如何随时间的推移而变化。
您可以使用 AWS Config 定义评估资源配置是否符合数据的规则。AWS Config 规则代表 Elastic Beanstalk 资源的理想配置设置。如果某个资源违反了某规则并且被标记为不合规,则 AWS Config 可能提醒您使用 Amazon Simple Notification Service (Amazon SNS) 主题。有关详细信息,请参阅使用 查找和跟踪 Elastic Beanstalk 资源AWS Config。