返回更新列表
新发布Sep 10, 2026

aws-security-assessment-solution v3.0.0

一个AWS工具,帮助您使用Prowler创建对您AWS账户的时间点评估。

分享

自助安全评估解决方案 (v2.0)

网络安全仍然是许多 CIO、CISO 及其客户非常关注的重要议题和关切点。为了应对这些重要关切,AWS 开发了一套客户应使用的主要服务,以帮助保护其账户。Amazon GuardDuty、AWS Security Hub、AWS Config 和 AWS Well-Architected 审查可帮助客户在其 AWS 账户上维持强大的安全态势。随着越来越多的组织部署到云端,尤其是在快速部署的情况下,如果他们尚未实施推荐的 AWS 服务,可能需要对云环境进行快速安全评估。

我们开发了一种低成本、易于部署、安全且快速的解决方案,为客户提供安全评估报告。这些报告使用开源项目 Prowler 生成。Prowler 基于 AWS 最佳实践执行时间点安全评估,可帮助快速识别客户已部署环境中的任何潜在风险领域。如果您有兴趣持续进行这些评估,AWS 建议启用 Security Hub 的基础安全最佳实践标准。如果您有兴趣将 Prowler 评估结果与 Security Hub 集成,可以按照 Prowler 文档中的说明进行操作。

注意:Prowler 不是 AWS 拥有的解决方案。客户应在运行此解决方案之前独立审查 Prowler。与 Prowler 相关的任何依赖项都应保持最新。此解决方案从 pip 包安装程序安装固定版本的 Prowler(当前为 5.41.0),这样 Prowler 输出格式的更改就不会在无预警的情况下破坏扫描。要迁移到更新的版本,请编辑 2-sat2-codebuild-prowler.yaml 中的 pip3 install prowler== 行。

📕 如需更深入的逐步说明,请访问 SHIP Workshop 中的模块 2。

目录

概述

该解决方案通过 AWS CloudFormation 部署。部署时会创建一个 AWS CodeBuild 项目和一个用于存储 Prowler 生成报告的 Amazon S3 存储桶。然后使用 AWS Lambda 函数来启动 AWS CodeBuild 项目。

参数(用户输入)默认值将在单个账户中运行基本扫描。但是,您可以选择不同的参数来运行更广泛的扫描或扫描多个账户。部署过程不到 5 分钟即可完成。该解决方案的 AWS CloudFormation 模板在此 Github 仓库中提供以供审查。

模板部署后,CodeBuild 项目将运行。默认评估大约需要 5 分钟完成。完成安全评估的时间将因资源数量和所选扫描选项而异。评估结束时,报告将交付到创建的 S3 存储桶。

架构图

参数

SATv2 可以通过更新 CloudFormation 参数进行自定义。本节总结了可用选项,并提供了指向包含更多信息的部分的链接。

参数描述更多信息
ProwlerScanType指定要执行的扫描类型。选择 full 而不指定不同的 ProwlerOptions 将执行完整扫描。要执行特定检查,请选择 Full 并在 ProwlerOptions 后附加 -c 。扫描类型
ExcludeSecretsChecks默认为 true,这会跳过 Prowler 搜索资源内容中硬编码密钥的检查。设置为 false 以运行它们。密钥检查
MultiAccountScan如果要扫描组织中的所有账户,请将此设置为 true。您必须已部署先决条件模板以配置角色,或指定具有适当权限的其他 ProwlerRole。多账户扫描
Reporting如果要将 Prowler 报告汇总为单个 csv,请将此设置为 true。这在扫描多个账户时很有帮助。报告摘要
EmailAddress如果希望在评估完成时收到电子邮件,请指定一个地址。通知
高级参数
ConcurrentAccountScans对于多账户扫描,指定要并发扫描的账户数量。这对于拥有许多账户的大型组织很有用。选择超过三个会更改 CodeBuild 实例的大小,并可能产生额外费用。
CodeBuildTimeout设置 CodeBuild 作业的超时时间。默认值为 300 分钟(5 小时)。
MultiAccountListOverride指定要扫描的账户的空格分隔列表。留空将扫描组织中的所有账户。如果要扫描特定账户,请确保已将上面的 MultiAccountScan 参数设置为 true。如果您无法提供委派的 ListAccount 访问权限,可以提供 MultiAccountListOverride 参数。多账户扫描
ProwlerOptions指定 Prowler 的参数。--role 和 ARN 将自动添加到您指定的参数末尾。这也可用于指定单个检查。完整扫描
ProwlerRoleProwler 应代入以执行扫描的角色。如果您想指定具有不同权限的自定义角色,请更改此项。

部署

您可以使用此项目在 AWS Organization 中的多个账户或单个账户中运行 Prowler。我们提供了使用 AWS CloudShell 或 AWS 控制台的说明。选择一种方式开始。

部署类型AWS CloudShellAWS 控制台
单账户链接链接
多账户链接链接

单账户扫描

要对单个账户运行自助安全评估解决方案 (SATv2),请按照以下说明操作。您可以选择使用 AWS CLI 或 AWS 控制台。

AWS CloudShell

显示步骤

部署解决方案

  1. 登录您的 AWS 账户。

  2. 在导航栏中,选择 AWS CloudShell。

  3. 要下载 CloudFormation 模板,请输入以下命令。

    wget https://raw.githubusercontent.com/awslabs/aws-security-assessment-solution/main/2-sat2-codebuild-prowler.yaml
    
  4. 要创建一个 S3 存储桶来暂存模板,请输入以下命令。模板大于 51,200 字节,因此 CloudFormation 要求将其上传到 S3,而不是内联传递。

    TEMPLATE_BUCKET=sat2-cfn-templates-$(aws sts get-caller-identity --query Account --output text)-$AWS_REGION
    aws s3 mb s3://$TEMPLATE_BUCKET --region $AWS_REGION
    

分类