我的学习心得,与AWS公司无关
背景
刚刚看到AWS家官方发布的英文blog,将CSV文件通过放入S3后,使用Lambda将其分析后生成Security Hub ASFF格式finding进入Securityhub生成一条标准finding: How to export AWS Security Hub findings to CSV format
突然想起来,我半年前做过一个类似的啊!因为当时中国区Nessus还没上marketplace,中国区也没有inspector,于是我就用这个思路将Nessus的扫描报告写成近乎与Inspector一样的格式,接入了Securityhub,并且还通过private IP找到ec2主机的基本信息,解决了安全人员扫漏洞容易,找机器难的旧疾!
如下图,为Inspector与Nessus 进入Securityhub finding的对比图
架构
一个S3加一个Lambda,很简单吧!
重点是lambda里写的东西!
Lambda代码请上我的GitHub下载.
部署
Step1 S3需要配置一下监听,请参考[2]操作,确保下图中的设置为ON
Step2 请从[GitHub]下载所有文件然后按照Readme中的CLI 命令一路copy paste就可以了
测试
为了避免不同VPC中相同private IP的重复问题,我在lambda中要验证VPCID,所以建议在使用Nessus配置任务时就把任务名设置为VPCID,然后导出的CSV文件自动以VPCID开头,直接扔进S3就行。
注意,现在Nessus已经在中国区的Marketplace上购买了,它家官方有插件就能自动进入finding,这个lambda其实已经不需要了,但是如果你使用的是其它opensource的工具,就可以使用这个思路,修改下Lambda中对应的字段就可以接入Securityhub了。如果想请人帮忙,可以联系你AWS的代表,请他联系ProServe 安全团队哦.
参考文献
【1】 How to export AWS Security Hub findings to CSV format
【2】使用 Amazon S3 控制台启用和配置事件通知