本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWSPremiumSupport-DDoSResiliencyAssessment
Description
該AWSPremiumSupport-DDoSResiliencyAssessment
, AWS Systems Manager 自動化 runbook 可以幫助您檢查DDoS漏洞和資源的配置,按照 AWS Shield Advanced 保護您 AWS 帳戶的. 它會針對容易受到分散式拒絕服務 (DDoS) 攻擊的資源提供組態設定報告。它可用來收集、分析和評估下列資源:Amazon Route 53、Amazon 負載平衡器、Amazon CloudFront 分發 AWS Global Accelerator 和 AWS 彈性,根據建議IPs的 AWS Shield Advanced 保護最佳實務來針對其組態設定進行。最終組態報告可在您選擇的 Amazon S3 儲存貯體中以HTML檔案形式提供。
它是如何工作的?
此 Runbook 包含一系列檢查各種類型的已啟用公用存取的資源,以及它們是否已根據AWS DDoS最佳實務白皮書中的建議設定保護。手冊執行以下操作:
-
檢查是否已啟用 AWS Shield Advanced 的訂閱。
-
如果啟用,它會發現是否有任何神 Shield 進階受保護的資源。
-
它會尋找中的所有全球和區域資源, AWS 帳戶 並檢查這些資源是否受到 Shield 保護。
-
它需要用於評估的資源類型參數、Amazon S3 儲存貯體名稱和 Amazon S3 儲存貯體 AWS 帳戶 ID (S3BucketOwner)。
-
它會以存放在 Amazon S3 儲存貯體提供的HTML報告形式傳回發現項目。
輸入參數AssessmentType
決定是否對所有資源的檢查將被執行。依預設,runbook 會檢查所有類型的資源。如果只選取GlobalResources
或RegionalResources
參數,runbook 只會對選取的資源類型執行檢查。
重要
-
存取
AWSPremiumSupport-*
Runbook 需要企業或商業 Support 訂閱。如需詳細資訊,請參閱比較 AWS Support 方案。 -
此手冊需要
ACTIVE
AWS Shield Advanced 訂閱。
文件類型
自動化
擁有者
Amazon
平台
Linux,macOS, Windows
參數
-
AutomationAssumeRole
類型:字串
描述:(選用) 允許 Systems Manager 自動化代表您執行動作的 AWS Identity and Access Management (IAM) 角色的 Amazon 資源名稱 ()。ARN如果未指定角色,Systems Manager 自動化會使用啟動此 runbook 的使用者的權限。
-
AssessmentType
類型:字串
描述:(選擇性) 決定要評估DDoS復原能力評估的資源類型。默認情況下,runbook 將評估全球和區域資源。對於區域資源,runbook 描述了所有的應用程式 (ALB) 和網路 (NLB) 負載平衡器,以及您的 /區域中的所有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
類型:字串
說明:(選用) 擁 AWS 帳戶 有 Amazon S3 儲存貯體的儲存貯體。如果 Amazon S3 儲存貯體屬於其他儲存貯體,請指定此參數 AWS 帳戶,否則您可以將此參數保留空白。
允許的模式:
^$|^[0-9]{12,13}$
-
S3 BucketOwnerRoleArn
類型:
AWS::IAM::Role::Arn
說明:(選用) 具有權限的ARNIAM角色,用於描述 Amazon S3 儲存貯體,並在儲存貯體位於不同的情況下 AWS 帳戶 封鎖公用存取組態 AWS 帳戶。如果未指定此參數,runbook 會使用
AutomationAssumeRole
或啟動此 runbook 的使用IAM者 (如果AutomationAssumeRole
未指定)。請參閱 runbook 描述中所需的權限部分。允許的模式:
^$|^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
參數需要下列動作才能成功使用 runbook。
-
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-
。 -
選擇執行自動化
-
對於輸入參數,請輸入以下內容:
-
AutomationAssumeRole(選擇性):
() 角色的 Amazon 資源名稱 AWS Identity and Access Management (ARNIAM),可讓 Systems Manager 自動化代表您執行動作。如果未指定角色,Systems Manager 自動化會使用啟動此 runbook 的使用者的權限。
-
AssessmentType(選擇性):
決定要評估DDoS復原能力評估的資源類型。默認情況下,runbook 評估全球和區域資源。
-
S3 BucketName (必要):
用於以HTML格式儲存評估報告的 Amazon S3 儲存貯體名稱。
-
S3 BucketOwner (選擇性):
用於擁有權驗 AWS 帳戶 證的 Amazon S3 儲存貯體識別碼。如果報告需要發佈到跨帳戶 Amazon S3 儲存貯體,則需要 AWS 帳戶 ID;如果 Amazon S3 儲存貯體與自動化啟動相同,則需 AWS 帳戶 要此 ID。
-
S3 BucketPrefix (選擇性):
用於存放結果的 Amazon S3 中路徑的任何前置詞。
-
-
選取執行。
-
自動化啟動。
-
文件會執行下列步驟:
-
CheckShieldAdvancedState:
檢查「S3BucketName」中指定的 Amazon S3 儲存貯體是否允許匿名或公開讀取或寫入存取權限、儲存貯體是否啟用靜態加密,以及「S3BucketOwner」中提供的 AWS 帳戶 ID 是否為 Amazon S3 儲存貯體的擁有者。
-
中三BucketSecurityChecks:
檢查「S3BucketName」中指定的 Amazon S3 儲存貯體是否允許匿名或公開讀取或寫入存取權限、儲存貯體是否啟用靜態加密,以及「S3BucketOwner」中提供的 AWS 帳戶 ID 是否為 Amazon S3 儲存貯體的擁有者。
-
BranchOnShieldAdvancedStatus:
分支機會根據 AWS Shield Advanced 訂閱狀態和/或Amazon S3 儲存貯體擁有權狀態記錄步驟。
-
ShieldAdvancedConfigurationReview:
檢閱 Shield 進階組態,以確保最低需要的詳細資料存在。例如:IAM存取 AWS Shield 回應小組 (SRT) 小組、聯絡人清單詳細資料和SRT主動參與狀態。
-
ListShieldAdvancedProtections:
列出受保 Shield 的資源,並為每個服務建立一組受保護的資源。
-
BranchOnResourceTypeAndCount:
根據資源類型參數的值和 Shield 受保護的全域資源數量來分支文件步驟。
-
ReviewGlobalResources:
查看 Shield 進階受保護的全球資源,例如 Route 53 託管區域、 CloudFront 分佈和全球加速器。
-
BranchOnResourceType:
根據 [資源] 類型選項 (如果是 [全域]、[區域] 或兩者) 來分支文件步驟。
-
ReviewRegionalResources:
檢閱 Shield 進階受保護的區域資源,例如應用程式負載平衡器、網路負載平衡器、傳統負載平衡器、Amazon 彈性運算雲端 (AmazonEC2) 執行個體 (彈性)。IPs
-
SendReportTo中三:
將DDoS評估報告詳細資訊上傳到 Amazon S3 儲存貯體。
-
-
完成後,Amazon S3 儲存貯體會提供評估報告HTML檔案:URI
S3 控制台鏈接和 Amazon S3,URI用於成功執行手冊的報告
參考
Systems Manager Automation
AWS 服務文件