AWSPremiumSupport-DDoSResiliencyAssessment - AWS Systems Manager 自动化运行手册参考

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWSPremiumSupport-DDoSResiliencyAssessment

描述

AWSPremiumSupport-DDoSResiliencyAssessment、AWS Systems Manager 自动化运行手册可帮助您根据 AWS 账户 的 AWS Shield Advanced保护,检查 DDoS 漏洞和资源配置。它为易受分布式拒绝服务 (DDoS) 攻击的资源提供配置设置报告。它用于收集、分析和评估以下资源:Amazon Route 53、Amazon 负载均衡器、Amazon CloudFront 分配AWS Global Accelerator以及根据推荐的AWS Shield Advanced保护最佳实践进行配置设置的AWS弹性 IP。最终配置报告将以 HTML 文件形式在您选择的 Amazon S3 存储桶中提供。

如何工作?

此运行手册包含一系列检查,用于为公开访问启用的各种类型资源,以及它们是否按照 AWS DDoS 最佳实践白皮书中的建议进行保护措施配置。运行手册将执行以下操作:

  • 检查 AWS Shield Advanced 订阅是否已启用。

  • 如果已启用,它会查找是否有任何受 Shield Advanced 保护资源。

  • 它会在 AWS 账户 中查找所有全球和区域资源,并检查这些资源是否受到 Shield 保护。

  • 它需要用于评估的资源类型参数、Amazon S3 存储桶名称和 Amazon S3 存储桶 AWS 账户 ID (S3BucketOwner)。

  • 它以 HTML 报告的形式返回调查发现,该报告存储在提供的 Amazon S3 存储桶中。

输入参数 AssessmentType 决定是否对所有资源进行检查。默认情况下,运行手册会检查是否有所有类型的资源。如果只选择了 GlobalResourcesRegionalResources 参数,运行手册将仅对选定资源类型执行检查。

重要

运行此自动化(控制台)

文档类型

自动化

所有者

Amazon

平台

Linux、macOS、Windows

参数

  • AutomationAssumeRole

    类型:字符串

    描述:(可选)允许 Systems Manager Automation 代表您执行操作 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称(ARN)。如果未指定角色,Systems Manager Automation 将使用启动此运行手册的用户的权限。

  • AssessmentType

    类型:字符串

    描述:(可选)确定要针对 DDoS 弹性评测进行评估的资源的类型。默认情况下,运行手册将评估全局和区域资源。对于区域资源,运行手册描述了所有应用程序 (ALB) 和网络 (NLB) 负载均衡器,以及您的 AWS 账户/区域的所有 Auto Scaling 组。

    有效值:['Global Resources', 'Regional Resources', 'Global and Regional Resources']

    默认:全球和区域资源

  • S3 BucketName

    类型:AWS::S3::Bucket::Name

    描述:(必需)要将报告上传到的 Amazon S3 存储桶名称。

    允许的模式:^[0-9a-z][a-z0-9\-\.]{3,63}$

  • S3 BucketOwnerAccount

    类型:字符串

    描述:(可选)拥有 Amazon S3 存储桶的 AWS 账户。如果 Amazon S3 存储桶属于另一个不同的 AWS 账户,请指定此参数,否则可以将此参数留空。

    允许的模式:^$|^[0-9]{12,13}$

  • S3 BucketOwnerRoleArn

    类型:AWS::IAM::Role::Arn

    描述:(可选)具有描述 Amazon S3 存储桶和 AWS 账户 阻止公有访问配置所需权限的 IAM 角色的 ARN(如果存储桶位于其他 AWS 账户)。如果未指定此参数,运行手册将使用 AutomationAssumeRole 或启动此运行手册的 IAM 用户(如果 AutomationAssumeRole 未指定)。请参阅运行手册描述中的“所需权限”部分。

    允许的模式:^$|^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):iam::[0-9]{12,13}:role/.*$

  • S3 BucketPrefix

    类型:字符串

    描述:(可选)Amazon S3 内用于存储结果的路径的前缀。

    允许的模式:^[a-zA-Z0-9][-./a-zA-Z0-9]{0,255}$|^$

所需的 IAM 权限

AutomationAssumeRole 参数需要执行以下操作才能成功使用运行手册。

  • autoscaling:DescribeAutoScalingGroups

  • cloudfront:ListDistributions

  • ec2:DescribeAddresses

  • ec2:DescribeNetworkAcls

  • ec2:DescribeInstances

  • elasticloadbalancing:DescribeLoadBalancers

  • elasticloadbalancing:DescribeTargetGroups

  • globalaccelerator:ListAccelerators

  • iam:GetRole

  • iam:ListAttachedRolePolicies

  • route53:ListHostedZones

  • route53:GetHealthCheck

  • shield:ListProtections

  • shield:GetSubscriptionState

  • shield:DescribeSubscription

  • shield:DescribeEmergencyContactSettings

  • shield:DescribeDRTAccess

  • waf:GetWebACL

  • waf:GetRateBasedRule

  • wafv2:GetWebACL

  • wafv2:GetWebACLForResource

  • waf-regional:GetWebACLForResource

  • waf-regional:GetWebACL

  • s3:ListBucket

  • s3:GetBucketAcl

  • s3:GetBucketLocation

  • s3:GetBucketPublicAccessBlock

  • s3:GetBucketPolicyStatus

  • s3:GetBucketEncryption

  • s3:GetAccountPublicAccessBlock

  • s3:PutObject

自动化承担角色的 IAM policy 示例

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:ListBucket", "s3:GetBucketAcl", "s3:GetAccountPublicAccessBlock" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "s3:ListBucket", "s3:GetBucketAcl", "s3:GetBucketLocation", "s3:GetBucketPublicAccessBlock", "s3:GetBucketPolicyStatus", "s3:GetEncryptionConfiguration" ], "Resource": "arn:aws:s3:::<bucket-name>", "Effect": "Allow" }, { "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::<bucket-name>/*", "Effect": "Allow" }, { "Action": [ "autoscaling:DescribeAutoScalingGroups", "cloudfront:ListDistributions", "ec2:DescribeInstances", "ec2:DescribeAddresses", "ec2:DescribeNetworkAcls", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeTargetGroups", "globalaccelerator:ListAccelerators", "iam:GetRole", "iam:ListAttachedRolePolicies", "route53:ListHostedZones", "route53:GetHealthCheck", "shield:ListProtections", "shield:GetSubscriptionState", "shield:DescribeSubscription", "shield:DescribeEmergencyContactSettings", "shield:DescribeDRTAccess", "waf:GetWebACL", "waf:GetRateBasedRule", "wafv2:GetWebACL", "wafv2:GetWebACLForResource", "waf-regional:GetWebACLForResource", "waf-regional:GetWebACL" ], "Resource": "*", "Effect": "Allow" }, { "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/<AutomationAssumeRole-Name>", "Effect": "Allow" } ] }

说明

  1. 在控制台中导航到 AWSPremiumSupport-DD ResiliencyAssessment oS。AWS Systems Manager

  2. 选择 Execute automation(执行自动化)

  3. 要输入参数,请输入内容:

    • AutomationAssumeRole (可选):

      AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称(ARN)允许 Systems Manager Automation 代表您执行操作。如果未指定任何角色,则 Systems Manager Automation 使用启动此运行手册的用户的权限。

    • AssessmentType (可选):

      确定要针对 DDoS 弹性评测进行评估的资源的类型。默认情况下,运行手册会评价全球和区域资源。

    • S3BucketName (必填):

      要将评估报告保存为 HTML 格式的 Amazon S3 存储桶的名称。

    • S3BucketOwner (可选):

      用于所有权验证的 Amazon S3 存储桶的 AWS 账户 ID。如果报告需要发布到跨账户 Amazon S3 存储桶,则需要提供 AWS 账户 ID;如果 Amazon S3 存储桶与自动化启动处于相同的 AWS 账户,则该 ID 为可选。

    • S3BucketPrefix (可选):

      Amazon S3 内用于存储结果的路径的前缀。

  4. 选择执行

  5. 自动化启动。

  6. 文档将执行以下步骤:

    • CheckShieldAdvancedState:

      检查 “S3BucketName” 中指定的 Amazon S3 存储桶是否允许匿名或公开读取或写入访问权限,该存储桶是否启用了静态加密,以及 “S3BucketOwner” 中提供的 AWS 账户 ID 是否是 Amazon S3 存储桶的所有者。

    • S3BucketSecurityChecks:

      检查 “S3BucketName” 中指定的 Amazon S3 存储桶是否允许匿名或公开读取或写入访问权限,该存储桶是否启用了静态加密,以及 “S3BucketOwner” 中提供的 AWS 账户 ID 是否是 Amazon S3 存储桶的所有者。

    • BranchOnShieldAdvancedStatus:

      根据 AWS Shield Advanced订阅状态和/或 Amazon S3 存储桶所有权状态,对文档步骤进行分支。

    • ShieldAdvancedConfigurationReview:

      审查 Shield Advanced 配置以确保存在最低限度的必要详情。例如:AWS Shield 响应团队 (SRT) 小组的 IAM 访问权限、联系人列表详细信息和 SRT 主动参与状态。

    • ListShieldAdvancedProtections:

      列出受 Shield 保护的资源,并为每个服务创建一组受保护的资源。

    • BranchOnResourceTypeAndCount:

      根据资源类型参数的值和受 Shield 保护的全球资源的数量对文档步骤进行分支。

    • ReviewGlobalResources:

      查看 Shield Advanced 受保护的全球资源,例如 Route 53 托管区域、 CloudFront 分布和全球加速器。

    • BranchOnResourceType:

      根据资源类型选择对文档记录进行分支(如果是全球、区域或两者)。

    • ReviewRegionalResources:

      查看受 Shield Advanced 保护的区域资源,例如应用程序负载均衡器、网络负载均衡器、经典负载均衡器、Amazon Elastic Compute Cloud (Amazon EC2) 实例(弹性 IP)。

    • SendReportToS3:

      将 DDoS 评估报告详情上传至 Amazon S3 存储桶。

  7. 完成后,将在 Amazon S3 存储桶中提供评估报告 HTML 文件的 URI:

    运行手册成功执行后该报告的 S3 控制台链接和 Amazon S3 URI

参考

Systems Manager Automation

AWS服务文档