本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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
决定是否对所有资源进行检查。默认情况下,运行手册会检查是否有所有类型的资源。如果只选择了 GlobalResources
或 RegionalResources
参数,运行手册将仅对选定资源类型执行检查。
重要
-
访问
AWSPremiumSupport-*
运行手册需要订阅 Enterprise 或 Business Support。有关更多信息,请参阅比较 支持 计划。 -
此运行手册需要
ACTIVE
AWS Shield Advanced 订阅。
文档类型
自动化
所有者
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" } ] }
说明
-
在 AWS Systems Manager 控制台DDoSResiliencyAssessment中导航到 AWSPremiumSupport-
。 -
选择 Execute automation(执行自动化)
-
要输入参数,请输入内容:
-
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 内用于存储结果的路径的前缀。
-
-
选择执行。
-
自动化启动。
-
文档将执行以下步骤:
-
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 存储桶。
-
-
完成后,将在 URI Amazon S3 存储桶中提供评估报告HTML文件:
运行手册成功执行报告URI的 S3 控制台链接和 Amazon S3
参考
Systems Manager Automation
AWS 服务文档