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