写写我的个人学习心德,本文仅为个人学习心德,与AWS无关
内容简介
Amazon EC2主机作为承载公司业务及内部运转的底层平台,所承载的数据和服务价值使其成为备受黑客青睐的攻击对象,主机安全防护一直是安全人员重点关注的难题。在建立主机防护过程中,安全人员会对主机应用设定黑名单和白名单, 然而数量庞大的云主机,如何实现适时、高效且自动化的监管并能及时处理呢?
本文将介绍在亚马逊云科技AWS上,如何通过使用Amazon Config一致性包,自动监控云上EC2的应用黑白名单情况,并提供了自动部署的yaml模板文件以及并提供CLI示例命令行。
先决条件
可以使用最新版本的 AWS Command Line Interface (CLI) https://aws.amazon.com/cli/
在EC2中部署Systems Manager Agent,通过Node Management可以统一管理目标EC2。请参考https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up-ec2.html)
开启Amazon Security Hub和AWS Config。
架构与工作原理
AWS Config 是一种完全托管的服务,可为您提供 AWS 资源库存、配置历史记录和配置更改通知,以确保安全性和方便管理。
Amazon Systems Manager 是一项管理服务,可以帮助您自动收集软件清单、应用操作系统补丁、创建系统映像以及配置 Windows 和 Linux 操作系统。Systems Manager Inventory 从 Amazon EC2 实例和本地实例收集元数据,与 AWS Config集成使用则可以实时监控EC2内应用的变化情况,Config会自动进行规则判定,Noncompliant(不合规)或 Compliant(合规)。
本文通过创建两条Config Rule(ec2-managedinstance-applications-blacklisted https://docs.aws.amazon.com/config/latest/developerguide/ec2-managedinstance-applications-blacklisted.html和ec2-managedinstance-applications-required https://docs.aws.amazon.com/config/latest/developerguide/ec2-managedinstance-applications-required.html),并将其写入一个自定义的一致性包内,部署完成后则可以在控制台中查看所有主机的合规情况。同时Configure rule的检测结果会自动同步至Security Hub的finding中,供安全人员使用。
部署方法
本文附录提供模板文件,请复制内容保存为.yaml文件,以备使用。
方法一 控制台手动部署
可以通过登录亚马逊云科技平台-> Config-> Conformance Pack-> Deploy conformance pack-> Template is ready-> Upload a template file,上传模板文件,注意在Step 2的参数设置部分,需要提供如下图的两个参数,分别为白名单的应用名称和黑名单的应用名称,如果有多个应用,请使用英文状态下的逗号隔开。
参数设置示例
详细操作请见使用 AWS Config 控制台部署一致性包。https://docs.aws.amazon.com/zh_cn/config/latest/developerguide/conformance-pack-console.html
方法二 使用CLI命令行部署
设置以下参数
region=(运行命令行的区域,例如:us-east-1)
packname=(一致性包的名称,例如:'BlackorWhite')
templatename=(从附录中保存的模板文件,例如:'TestConformancePack.yaml')
white=(白名单中的应用名称,例如:"python3")
black=(黑名单中的应用名称,例如:"openssl")
运行以下示例命令行
aws configservice put-conformance-pack \
--conformance-pack-name $packname \
--template-body file://$templatename \
--conformance-pack-input-parameters ParameterName=WhiteAppNames,ParameterValue=$white ParameterName=BlackAppNames,ParameterValue=$black \
--region=$region
查看结果
运行成功后登录Config控制台-> Conformance packs,可以看到新建的一致性包BlackorWhite,其显示整体合规分数为50%,
创建后的一致性包
点击按钮“View”进入,可以看到该一致性包包含了两条Config rule,点开进入白名单的rule即由white开头的rule,可以看到所有EC2的针对此条rule的合规状态。
白名单规则结果展示安全人员可以从Security Hub控制台查看到应用黑白名单的告警信息,从而做进一步的安全事态分析。
Securityhub视图小结
在这篇博文中,我向您展示了使用亚马逊云科技的原生服务Systems Manager和Config,对EC2应用的黑白名单进行监控是多么简单方便。您可以继续通过使用Security Hub控制台对相关告警进行后续聚合、分析以及自动修复。
如果您需要个性化定制更多配置变更监测,请联系您的AWS代表,请他帮忙联系ProServe安全团队。
附录
请复制以下内容,保存为以.yaml结尾的文件。
Parameters:
WhiteAppNames:
Default: 'python3'
Type: String
BlackAppNames:
Default: 'python:2.7.18,openssl:1.0.2k'
Type: String
下略
参考资料
【1】 systems-manager-setting-up-ec2
【2】 ec2-managedinstance-applications-blacklisted
【3】 ec2-managedinstance-applications-required
【4】 preventing-blacklisted-applications-with-aws-systems-manager-and-aws-config
网友评论