写点什么

如何自动导入第三方威胁情报 Feeds 到 Amazon GuardDuty

  • 2019 年 10 月 18 日
  • 本文字数:2332 字

    阅读完需:约 8 分钟

如何自动导入第三方威胁情报 Feeds 到 Amazon GuardDuty

Amazon GuardDuty 是 AWS 推出的威胁检测服务,致力于保护您的 AWS 账号,以及通过持续监控针对您的工作负载的恶意和未授权访问行为。您可以通过 AWS 管理控制台一键启动该服务,其通过分析您的 AWS 账户中的数十亿个事件,并使用机器学习来检测账户和工作负载活动中的异常。然后它引用集成的威胁情报源来识别可疑的攻击者。在 AWS 区域内,GuardDuty 处理来自 AWS CloudTrail 日志,VPC 流日志,和 DNS 日志的数据,并且所有的日志在传输过程中加密。GuardDuty 从日志中提取各种字段以进行性能分析和异常检测,然后丢弃日志。 GuardDuty 的威胁情报调查结果基于来自 AWS 的内部威胁情报以及来自第三方供应商 CrowdStrike 和 Proofpoint 的威胁情报源。


除了使用内置的威胁源外,您还可以通过两种方式来自定义您的保护。如果您需要实施行业特定的威胁源(例如金融服务或医疗保健领域的威胁源),则自定义功能就非常有用。第一种自定义选项是可以自己提供白名单的 IP 列表。第二种是可以上传第三方的威胁列表到 GuardDuty 来生成调查结果。但是,维持 Guard Duty 中第三方威胁列表的最新状态需要许多手动步骤,您需要:


  • 授权管理员访问权限

  • 从第三方提供商处下载列表

  • 将生成的文件上传到服务

  • 替换过时的威胁源


这篇文章将向您展示如何在使用第三方威胁源时,自动执行这些步骤。我们将使用 FireEye iSIGHT 威胁情报源作为例子,来展示如何将获得许可的威胁源上传到 GuardDuty,这个解决方案也可以适用于其他威胁情报源。如果使用默认参数来部署,则构建的环境如下图所示:



此解决方案中使用以下资源:


  • 一个定期调用 AWS Lambda 函数的 Amazon CloudWatch 事件。默认情况下,CloudWatch 将每六天调用一次该函数,但如果您愿意,您可以修改该值。

  • AWS Systems Manager 参数存储,可安全地存储您提供的公钥和私钥。下载威胁源时需要这些密钥。

  • AWS Lambda 函数,由一个脚本组成,该脚本以编程方式将许可的 FireEye iSIGHT 威胁情报源导入 Amazon GuardDuty。

  • 一个 AWS 身份和访问管理(IAM)角色,使 Lambda 函数可以访问以下内容:

  • a. GuardDuty,列出,创建,获取和更新威胁列表。

  • b. CloudWatch 日志,用于监控,存储和访问 AWS Lambda 生成的日志文件。

  • c. Amazon S3,用于在 Amazon S3 上传威胁列表并将其提取到 GuardDuty。

  • 用于存储威胁列表的 Amazon Simple Storage Service(S3)存储桶。部署解决方案后,除非您手动删除,否则将保留该存储桶。

  • Amazon GuardDuty,需要在要部署解决方案的同一 AWS 区域中启用。


注意⚠️:在所有地区启用 GuardDuty 是一种最佳安全实践。


实施部署:

完成先决条件后,请按照下列步骤操作:


  1. 点击下面链接来启动您账号里的 CloudFormation 堆栈。CloudFormation 堆栈大约需要 5 分钟才能完成部署:


https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?stackName=GuardDutyThreatFeed&templateURL=https://s3.amazonaws.com/awsiammedia/public/sample/guard-duty-threat-feed/latest/guard-duty-threat-feed.template


注意⚠️:如果您邀请其他帐户来启用 GuardDuty 并与您的 AWS 账户关联(以便您可以代表他们查看和管理他们的 GuardDuty 调查结果),请从主账户运行此解决方案。 在此处可以找到有关管理主人和成员 GuardDuty 帐户的更多信息。 从主帐户执行此解决方案可确保 Guard Duty 使用导入的威胁列表报告来自所有成员帐户的结果。


该模板将在美国东部(弗吉尼亚北部)地区启动。 要在其他 AWS 区域中启动解决方案,请使用控制台导航栏中的区域选择器。 这是因为 Guard Duty 是一项针对特定地区的服务。


所有代码在:https://github.com/aws-samples/amazon-guardduty-threat-feed


  1. 在“选择模板”页面上,选择“下一步”

  2. 在“指定详细信息”页面上,为您的解决方案堆栈命名。

  3. 在“参数”下,查看模板的默认参数并根据需要修改相应的值。


col 1col 2col 3
ParameterValueDescription
Public Key<Requires input>FireEye iSIGHT Threat Intelligence public key.
Private Key<Requires input>FireEye iSIGHT Threat Intelligence private key
Days Requested7The maximum age (in days) of the threats you want to collect. (min 1 – max 30)
Frequency6The number of days between executions – when the solution downloads a new threat feed (min 1 – max 29)


  1. 选择“下一步”

  2. 在“选项”页面,您能给您的资源指定 tags (键值对)

  3. 在“预览”页面,预览和确认配置,并确认勾选“模板将使用自定义名称创建 AWS Identity and Access Management(IAM)资源“

  4. 点击”创建“


大概 5 分钟后,栈将新建完成,您可以通过“事件”选项卡来确认



在您配置解决方案部署成功后,Lambda 函数会立即更新 GuardDuty 威胁列表。它还设置为定期运行以保持您的环境更新。但是,在需要更快更新威胁情报列表的情况下,例如发现新的 Zero Day 漏洞,您可以手动运行 Lambda 函数以避免延迟等到 Lambda 函数计划的更新事件。 要手动运行 Lambda 函数,请按照此处描述的步骤创建并将新下载的威胁源提取到 Amazon GuardDuty 中。


总结:

我们通过该文描述了如何部署自动化的解决方案,该解决方案可以下载您从第三方提供商(如 FireEye)获得许可的最新威胁情报源到 GuardDuty。 该解决方案为 GuardDuty 提供了大量的个人威胁情报数据,以便处理和报告调查结果。 此外,由于 FireEye(或您选择的威胁情报提供商)发布了较新的威胁,它们将自动被导入到 GuardDuty。


Original article: https://aws.amazon.com/blogs/security/how-to-automate-import-third-party-threat-intelligence-feeds-into-amazon-guardduty/


原文链接:


https://amazonaws-china.com/cn/blogs/china/feeds-to-amazon-guardduty/


2019 年 10 月 18 日 08:00388
用户头像

发布了 1464 篇内容, 共 51.1 次阅读, 收获喜欢 57 次。

关注

评论

发布
暂无评论
发现更多内容

脑机接口简史——假如这篇推送是你靠意念打开的

脑极体

架构实战营-模块一作业

Sun

编程好习惯之理清函数参数

顿晓

编程好习惯 4月日更

怎么画出专业的架构图?

秋天

架构师 架构·

Scrum Patterns:每日Scrum(译)

Bruce Talk

敏捷开发 译文 Agile Scrum Patterns

关于微信架构

俞嘉彬

PCB如何拼版

不脱发的程序猿

嵌入式 电路设计 硬件设计 4月日更 PCB打样

架构实战营--模块一

永佳

架构实战营

「架构实战营」课堂作业-G20210698010384

张亮

每日总结-2021-04-05

cyningchen

架构实战营 模块一作业

netspecial

架构实战营

模块1作业

段吉贵

架构实战营

支持向量机实现光学字符识别

不脱发的程序猿

人工智能 机器学习 4月日更 支持向量机 实现光学字符识别

零基础学Tableau系列 | 05—(进阶)数据集合并、符号地图、智能显示、插入自定义形状、仪表板

不温卜火

数据可视化 数据清洗 4月日更

starforce源码解读一:关键字partial

六维

C# 源码阅读 4月日更 游戏框架

学生管理系统方案架构设计

俞嘉彬

架构实战营模块1作业

黄双鹏

架构实战营

“学生管理系统”毕设架构设计

Vincent

架构实战营

为什么数据库字段要使用NOT NULL?

艾小仙

脑机接口简史——假如这篇推送是你靠意念打开的

白洞计划

机器学习(二):理解线性回归与梯度下降并做简单预测

caiyongji

机器学习

作业1--微信的业务架构及学生管理系统

大可

基于二叉树实现Map

Silently9527

Java 二叉树 数据结构与算法

浅聊函数防抖与节流

程序员海军

JavaScript 大前端 防抖 节流

VUE2,基于vue-cli搭建创建vue项目

Chalk

Vue 大前端 4月日更

说人话

ES_her0

4月日更

Vite 2 + React 实践

清秋

less vite antd React 4月日更

机器学习和大数据的区别和联系

大数据技术指南

机器学习 大数据 4月日更

模块一:课后作业

菲尼克斯

架构实战营

你朋友牛逼跟你有什么关系?

小天同学

自我思考 个人感悟 人生修炼 4月日更

设计模式-六大设计原则

U+2647

设计模式 设计原则 4月日更

如何自动导入第三方威胁情报 Feeds 到 Amazon GuardDuty_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章