美文网首页AWS学习记录
2022-09-09 使用 Amazon Inspector 和

2022-09-09 使用 Amazon Inspector 和

作者: 清风晓星辰 | 来源:发表于2022-09-20 09:07 被阅读0次

    写写我的个人学习心德,本文仅为个人学习心德,与AWS无关

    内容简介

    本文是对学习【1】后的一些感想,将其部署步骤中在AWS Console的手动部分,补充了CLI命令行,使得操作更加简便。
    CLI对应章节使用了原文的章节号,方便阅读和查找。
    请先下载【3】中的 aws-samples-automate-vulnerability-management-and-remediation到本地,运行CLI一定要在templates文件夹下

    架构与工作原理

    Inspector发现的漏洞会和自动进入到Securityhub中,在security hub delegated admin account中聚合后的region,创建两个custom actionbutton,后台通过EventBridge Rule调用Automation来对漏洞列表中(放在S3上)记录的主机漏洞信息进行跨账号修复。下边为【1】 的架构图


    多账号架构图

    部署方法

    根据原文章步骤补充CLI Walkthrough

    Step 1: Create Security Hub custom actions for resolving Amazon Inspector Findings 创建按钮

    Set parameter 参数设置

    region为securityhub指定的聚合aggregated region
    其它两个参数是按照原blog写好的,不需要修改

    region='eu-west-2'
    buttonnames=('Rem-Inspector-NoRBT' 'Rem-Inspector-RBT')
    actionids=('InspectorRemNoRBT' 'InspectorRemRBT')
    
    Run CLI command
    for ((i=1; i<=${#buttonnames[@]}; i++));do
    arn=$(aws securityhub create-action-target \
        --name $buttonnames[$I]\
        --description $buttonnames[$i] \
        --id $actionids[$i] --region=$region  --output text --query 'ActionTargetArn')
    echo $arn
    arnlist[i]=$arn
    done
    echo $arnlist
    

    Step 2: Deploy the CloudFormation template for automation runbook 创建后台修复的runbook

    下载【3】中的repository到本地运行CLI的目录下。

    stackname=Remediateinspector
    template='ResolveInspectorFindingsCFN.yaml'
    orgid=$(aws organizations describe-organization  --query 'Organization.Id' --output text --region=$region)
    
    aws cloudformation create-stack --stack-name $stackname --template-body file://$template \
    --parameters  \
    ParameterKey=OrganizationId,ParameterValue=$orgid  \
    ParameterKey=RemediateInspectorFindingCustomActionNoRBTArn,ParameterValue=$arnlist[1] \
    ParameterKey=RemediateInspectorFindingCustomActionRBTArn,ParameterValue=$arnlist[2] \
    --capabilities CAPABILITY_IAM \
    --region=$region
    

    需要等待大约三至五分钟,Cloudformation stack完成后再运行下边命令.如果提前运行以下命令行,会没有结果,此时请耐心⌛️,再重复运行一次,直到得到两个屏幕回显

    outputs=($(aws cloudformation describe-stacks --stack-name $stackname --region=$region \
    --query 'Stacks[*].Outputs[*].OutputValue' --output text))
    echo $outputs
    s3name=$outputs[2]
    runbookname=$outputs[3]
    

    Step 3: Create execution roles for multi-account and multi-Region automation using StackSet创建cross account role

    参数设置

    stacksetname =SSMAutomationrole
    

    切换至Organizations的Management Account,运行CLI 命令,在所有member account中创建Cloudformation stacksets来创建SSMAutomationRole以供后续跨账号修复漏洞时使用。

    stacksettemplate=automationExecutionRole.yaml
    aws cloudformation create-stack-set \
        --stack-set-name $stacksetname\
        --template-body file://$stacksettemplate  \
        --permission-model SERVICE_MANAGED \
        --auto-deployment Enabled=true,RetainStacksOnAccountRemoval=true \
        --parameters \
        ParameterKey=InstallOverrideListBucket,ParameterValue=$s3name  \
        ParameterKey=DelegatedAdministratorAccountId,ParameterValue=$accid \
        ParameterKey=AutomationRunPatchBaselineRunbook,ParameterValue=$runbookname \
        --capabilities CAPABILITY_NAMED_IAM \
        --region=$region
    aws cloudformation create-stack-instances \
        --stack-set-name $stacksetname\
        --deployment-targets OrganizationalUnitIds=$(aws organizations list-roots --query "Roots[].Id" --output text)  \
        --regions $region  --region=$region
    

    运行正确后回返回以下两段ID
    {
    "StackSetId": "SSMAutomationrole:4eb98a7d-251c-4c74-ae7c-0451cee5ffd1"
    }
    {
    "OperationId": "bfeb270c-1ae8-4357-94e3-1d70e83180c5"
    }
    ⌛️cloudformation任务完成后,在平台中可以看到各个任务成功完成,再进行下一步。


    Console snapshot of operations Console snapshot of stack instance

    Step 4: Update EC2 IAM instance roles with permissions to access the install override list S3 bucket

    被修复的ec2的IAM role里要加上一条允许其访问S3的policy

    Step 5: Remediate vulnerabilities using the Security Hub custom action

    小结

    参考资料

    【1】 Automate vulnerability management and remediation in AWS using Amazon Inspector and AWS Systems Manager – Part 1

    【2】 Automate vulnerability management and remediation in AWS using Amazon Inspector and AWS Systems Manager – Part 2

    【3】 aws-samples-automate-vulnerability-management-and-remediation

    相关文章

      网友评论

        本文标题:2022-09-09 使用 Amazon Inspector 和

        本文链接:https://www.haomeiwen.com/subject/vrtznrtx.html