本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
主题 2:通过安全管线管理不可变基础设施
涵盖八大要点策略
应用程序控制、修补应用程序、修补操作系统
对于不可变的基础架构,您必须保护部署管道以进行系统更改。 AWS 杰出工程师Colm MacCárthaigh在2022年re: Invent会议上的 “零权限操作:在不访问数据的情况下运行服务”(YouTube视频)演示
通过限制对配置 AWS 资源的直接访问,您可以要求通过经批准的、安全的自动化管道来部署或更改所有资源。通常,您可以创建 AWS Identity and Access Management (IAM)策略以允许用户仅访问托管部署管线的账户。您还可以配置 IAM 策略,以允许有限数量的用户进行紧急访问。为防止手动更改,您可以使用安全组阻止对服务器的 SSH 和 Windows 远程桌面协议(RDP)访问。会话管理器是一项功能 AWS Systems Manager,可以提供对实例的访问权限,而无需打开入站端口或维护堡垒主机。
亚马逊机器映像(AMI)和容器映像必须安全且可重复构建。对于 Amazon EC2 实例,您可以使用 EC2 Image Builder 来构建 AMIs 具有内置安全功能(例如实例发现、应用程序控制和日志记录)的实例。有关应用程序控制的更多信息,请参阅 ACSC 网站上的实现应用程序控制
必须使用 AWS CloudFormation 或 AWS Cloud Development Kit (AWS CDK) 等服务在基础设施即代码(IaC)中定义应用程序。代码分析工具 AWS CloudFormation Guard,例如 cfn-nag 或 cdk-nag,可以根据您批准的管道中的安全最佳实践自动测试代码。
与主题 1:使用托管服务一样,Amazon Inspector 可以报告您 AWS 账户中的漏洞。集中的云和安全团队可以使用此信息,来验证应用程序团队是否满足安全性和合规性要求。
要监控和报告合规性,请持续审查 IAM 资源和日志。使用 AWS Config 规则确保只使用经批准 AMIs 的资源,并确保将 Amazon Inspector 配置为扫描 Amazon ECR 资源中是否存在漏洞。
Well-Architecte AWS d Framework 中的相关最佳实践
实现此主题
实施 AMI 和容器构建管线
-
使用 EC2 Image Builder 并将以下内容构建到您的 AMIs:
-
对于所有 EC2 实例,请在实例配置文件或 Systems Manager 用于访问实例的 IAM 角色中包含
CloudWatchAgentServerPolicy和AmazonSSMManagedInstanceCore策略。 -
实施容器构建管线:
实施安全的应用程序构建管线
-
为 IaC 实施构建管道,例如使用 EC2 Image Builder 和 AWS CodePipeline
(AWS 博客文章) -
在 CI/CD 管道中使用代码分析工具 AWS CloudFormation Guard,例如 cfn-nag
(GitHub) 或 cdk-nag (GitHub),来帮助检测违反最佳实践的行为,例如: -
过于宽松的 IAM 策略,例如使用通配符的策略
-
过于宽松的安全组规则,例如使用通配符或允许 SSH 访问的规则
-
未启用的访问日志
-
未启用的加密
-
密码文本
-
-
在管道中实现扫描工具
(AWS 博客文章) -
AWS Identity and Access Management Access Analyzer 在管道中使用
(AWS 博客文章)来验证 CloudFormation 模板中定义的 IAM 策略
实施漏洞扫描
-
使用 Amazon Inspector AMIs 在你的 AMI 构建管道中进行扫描:
-
在 EC2 Image Builder 中管理 AMI 的生命周期
() GitHub
-
监控此主题
持续监控 IAM 和日志
-
定期查看您的 IAM 策略,以确保:
-
只有部署管线可以直接访问资源
-
只有经批准的服务才能直接访问数据
-
用户没有直接访问资源或数据的权限。
-
-
监控 AWS CloudTrail 日志以确认用户正在通过管道修改资源,而不是直接修改资源或访问数据
-
定期查看 IAM 访问权限分析器调查发现
-
设置提醒,以便在 AWS 账户 的根用户凭证被使用时通知您。
实施以下 AWS Config 规则
-
APPROVED_AMIS_BY_ID -
APPROVED_AMIS_BY_TAG -
ECR_PRIVATE_IMAGE_SCANNING_ENABLED