Fortigate集成AWS中国区Guardduty威胁源安全服务

网友投稿 292 2022-09-17

Fortigate集成AWS中国区Guardduty威胁源安全服务

AWS Guardduty服务在AWS中国区已发布,本文档介绍AWS中国区Guardduty服务为Fortigate 提供威胁源集成功能。 AWS GuardDuty是一项托管的威胁检测服务,用于监视与AWS资源相关的恶意或未经授权的行为/活动。 GuardDuty提供了称为“findings”的日志,Fortinet提供 “ aws-lambda-guardduty”的Lambda脚本,该脚本将来自AWS GuardDuty findings日志转换为S3存储中的恶意IP地址列表,FortiGate的Fabric SDN connector外部威胁源集成来自Guardduty 发现的威胁。 要实现Guardduty威胁源集成,需要订阅AWS上GuardDuty,CloudWatch,S3和DynamoDB 服务。

一、Fortigate 与guardduty威胁源集成工作流程

AWS 的guardduty威胁检测服务检测到安全威胁,产生findings事件Cloudwatch服务监听Finddings事件触发 lambda函数,lambda函数为fortinet开源的开源代码Labda 函数基于guardduty事件的威胁源及别生成威胁IP列表和事件ID,存储于dynamo dbDynamo db 产生新记录时触发lambda函数Labmda函数把IP记录生成文本文件存储于S3存储桶在云上或企业连缘的Fortigate 定时读取S3存储桶威胁源IP列表文件,加载到Fortigate的外部威胁源列表, 从IP层阻断网络威胁

二、创建S3存储桶

存储桶用来存放威协源文本文件,文件内容为IP列表纯文本文件

S3>创建存储桶

保存存储桶名称,设置存桶权限为可公开访问,企业边缘或其它区域的fortigate可只读访问威胁源列表文件。

三、创建dynamo db 数据库

Dynamo db 数据库用于存储从Guardduty日志提取的IP列表,每个事件一条数据库记录。

Dynamo db > 创建表

Dynamo  db 表包含两个字段

设置管理dynamo db  管理流

记住dynamo db arn全名

四、创建lambda 权限角色组

创建S3存储桶权限策略

IAM>访问管理>策略>创建策略

包含 S3服务下的ListBucket,HeadBucket(此权限在中国区没有) , GetObject , PutObject, pubobjectacl

权限限定只对前面创建的存储桶生效

创建dynamo db 权限策略

IAM>访问管理>策略>创建策略

包含DYNAMO DB服务DescribeStream,GetRecords,GetShardIterator, ListStreams,Scan,UpdateItem权限

限定只授权前面创建的DYNAMO DB 表

创建labda权限角色组

IAM>访问管理>角色>创建角色

授予lambda服务权限

添加lambda 基本权限策略和 S3,dynamo db 权限策略

五 创建dynamo db 触发器

dynamo db 数据记录发生变化时,触发lambda函数转换为S3列表文件

dynamo db > 表 > 表名> 触发>  创建触发器

触发函数关联lambda函数

六 创建lambda函数

Lambda>  创建函数

用前面创建的权限任务组授权LAMBDA函数,运行时选node.js 14.0 ,github 上的lambda函数要求运行是node.js 8.0  ,AWS 中国区已经没有8.0

从​​下载zip格式代码包,上传到lambda函数

设置lambda函数运行参数,大小写敏感。

MIN_SEVERITY    安全威胁级别,参考值 3

S3_BUCKET  存储桶名字

S3_BLOCKLIST_KEY    存在存储桶里的威胁源列表文件名

REGION AWS 区域,中国宁夏区或中国北京区

DDB_TABLE_NAME   dynamo db数据库名

把函数运行时间适当延长,15-30秒

七 创建cloudwatch规则

Cloudwatch监控Guardduty生成的findings安全事件,触发lambda函数转换findings为danomo db 数据记录

Cloudwatch > 规则> 创建规则

规则事件源为guardduty  findings,规则类型为事件模式,目标为lambda函数。

八 测试产生威胁源

在lambda函数测度页面,生成guardduty findings,  生成威胁源数据,修改IP和 ID值 产生我个威胁源IP

Lambda > 函数>测试

{

"id": "fa9fa4a5-0232-188d-da1c-af410bcfc344",

"detail": {

"service": {

"serviceName": "guardduty",

"action": {

"networkConnectionAction": {

"connectionDirection": "INBOUND",

"remoteIpDetails": {

"ipAddressV4": "223.6.6.6"

}

}

},

"additionalInfo": {

"threatListName": "GeneratedFindingThreatListName"

},

"eventLastSeen": "2021-04-21T22:12:01.720Z"

},

"severity": 3

}

}

执行结果无错误,如果有错误一般是S3或DYNAMO DB 权限问题。

验证dynamo db 数据库记录

Dynamo db > 表 > 表名> 项目

验证S3 存储桶威胁源列表文件

S3 > 存储桶 > 对象

记录此文件的URL  Fortigate集成AWS  Guardduty威胁源

Fortigate Security fabric 创建IP地址威胁来源

链接到s3存储桶文件

验证威胁源列表动态同步到fortigate

Fortigate 的DNS安全、反病毒、web过滤模块调用威胁源从IP层拦截威胁

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:AWS RDS-Mysql CA证书轮换指南​
下一篇:休克文案:这个品牌很懂女人心!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~