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

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

AWSPremiumSupport-DDoSResiliencyAssessment

描述

AWS Systems Manager 自动化运行手册可帮助您根据 AWS Shield Advanced 保护措施检查DDoS漏洞和资源配置。AWSPremiumSupport-DDoSResiliencyAssessment AWS 账户它为易受分布式拒绝服务 (DDoS) 攻击的资源提供配置设置报告。它用于收集、分析和评估以下资源:Amazon Route 53、Amazon 负载均衡器、Amazon CloudFront 分配 AWS Global Accelerator 和 AWS Elastic,IPs用于根据推荐的 AWS Shield Advanced 保护最佳实践进行配置设置。最终配置报告以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 ARN Manager Automation 代表您执行操作的 AWS Identity and Access Management (IAM) 角色的亚马逊资源名称 ()。如果未指定角色,Systems Manager Automation 将使用启动此运行手册的用户的权限。

  • AssessmentType

    类型:字符串

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

    有效值:['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角色(如果存储桶位于其他存储桶中) AWS 账户。ARN如果未指定此参数,则运行手册将使用AutomationAssumeRole或启动此 Runbook 的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策略示例

{ "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. 在 AWS Systems Manager 控制台DDoSResiliencyAssessment中导航到 AWSPremiumSupport-

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

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

    • AutomationAssumeRole(可选):

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

    • AssessmentType(可选):

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

    • S3BucketName(必填):

      用于以HTML格式保存评估报告的 Amazon S3 存储桶的名称。

    • S3BucketOwner(可选):

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

    • S3BucketPrefix(可选):

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

    Input parameters form for AWS Systems Manager Automation with fields for role, resources, and S3 bucket settings.
  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 配置以确保存在最低限度的必要详情。例如:IAM访问 AWS Shield 响应小组 (SRT) 团队、联系人列表详细信息和SRT主动参与状态。

    • ListShieldAdvancedProtections:

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

    • BranchOnResourceTypeAndCount:

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

    • ReviewGlobalResources:

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

    • BranchOnResourceType:

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

    • ReviewRegionalResources:

      查看 Shield Advanced 受保护的区域资源,例如应用程序负载均衡器、网络负载均衡器、经典负载均衡器、亚马逊弹性计算云 (Amazon) 实例 (ElasticEC2) 实例 (Elastic)。IPs

    • SendReportToS3:

      将DDoS评估报告详细信息上传到 Amazon S3 存储桶。

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

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

    Execution status showing successful completion with 9 steps executed and no failures.

参考

Systems Manager Automation

AWS 服务文档