写点什么

如何自动导入第三方威胁情报 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:00556
用户头像

发布了 1609 篇内容, 共 72.1 次阅读, 收获喜欢 68 次。

关注

评论

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

如何做架构设计

天天向上

架构实战营

Hello Git快速入门,三年经验Java开发面经总结

Java 程序员 后端

Android C++系列:JNI调用 Java 类的构造方法和父类的方法.md

轻口味

c++ android jni 11月日更

Github上堪称最全的面试题库(Java岗)到底有多香,java基础进阶视频

Java 程序员 后端

Github限时开放!阿里内部强推的《微服务容器化参考指南

Java 程序员 后端

《Kubernetes in action 读书笔记》:Kurbernetes横空出世

后台技术汇

kubenetes 11月日更

Prometheus HTTP API 查询(三)查询元数据

耳东@Erdong

Prometheus PromQL HTTP API 11月日更

GitHub上标星75k+的《Java面试突击版,京东java面试题答案

Java 程序员 后端

Java基础 | 泛型机制与反射原理

知了一笑

Java jdk 反射 泛型

HarmonyOS(鸿蒙),java免费视频百度网盘

Java 程序员 后端

感觉要起飞!终于找到开发效率低的原因....

Jackpop

InnoDB(4(1),java技术架构知识

Java 程序员 后端

Github上都在疯找的阿里内部“全栈技能修炼”终于来了,kafka基础概念

Java 程序员 后端

GitHub标星17万:打破程序员“中年危机,单点登录(Single-Sign-On)解决方案

Java 程序员 后端

Java容器 | 基于源码分析List集合体系

知了一笑

Java List 集合 ArrayList

HTML笔记 —— 标签和超链接,java面试数据库隔离级别实战

Java 程序员 后端

IDEA的Docker插件实战(Docker Image篇),rabbitmqpdf百度云

Java 程序员 后端

学生管理系统-详细架构设计文档

joukosusi

架构

IDEA这样配置,好用到爆炸!,Java开发必须要会

Java 程序员 后端

InnoDB(4,java中级工程师面试题

Java 程序员 后端

Java基础 | Proxy动态代理机制详解

知了一笑

jdk 动态代理 java基础 Proxy

Gradle项目的jar发布到私有仓库,java并发编程实战王宝令

Java 程序员 后端

Python+JavaScript = 真牛!

Jackpop

Java容器 | 基于源码分析Map集合体系

知了一笑

Java hashmap map

Go语言安装和配置SDK,阿里牛逼

Java 程序员 后端

HDU-3038-How Many Answers Are Wrong【 带权并查集 】题解

Java 程序员 后端

IDEA类和方法注释模板设置(超详细教程),java程序执行过程与编译原理

Java 程序员 后端

数据分析入门

加哥

大数据

GitLab CI构建SpringBoot-2,rabbitmq原理及作用

Java 程序员 后端

.NET6新东西--ConfigurationManager

喵叔

11月日更

HashMap + 软引用进行缓存,java程序设计案例教程第二版答案

Java 程序员 后端

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