AWSPremiumSupport-DDoSResiliencyAssessment - AWS Systems Manager 自動化 Runbook 參考

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

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 會檢查所有類型的資源。如果只選取GlobalResourcesRegionalResources參數,runbook 只會對選取的資源類型執行檢查。

重要

運行此自動化(控制台)

文件類型

 自動化

擁有者

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" } ] }

指示

  1. 導航到 AWS Systems Manager 控制台DDoSResiliencyAssessment中的 AWSPremiumSupport-

  2. 選擇執行自動化

  3. 對於輸入參數,請輸入以下內容:

    • 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 中路徑的任何前置詞。

    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 儲存貯體的擁有者。

    • 中三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 儲存貯體。

  7. 完成後,Amazon S3 儲存貯體會提供評估報告HTML檔案:URI

    S3 控制台鏈接和 Amazon S3,URI用於成功執行手冊的報告

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

參考

Systems Manager Automation

AWS 服務文件