【QCon】精华内容上线92%,全面覆盖“人工智能+”的典型案例!>>> 了解详情
写点什么

如何使用 Amazon Macie 创建自定义提醒

  • 2019-10-17
  • 本文字数:4499 字

    阅读完需:约 15 分钟

如何使用 Amazon Macie 创建自定义提醒

Amazon Macie 是一项安全服务,可以让您轻松发现、分类和保护 Amazon S3 中的敏感数据。Macie 会收集 AWS CloudTrail 事件和 Amazon S3 中的元数据,例如权限和内容分类。在这篇文章中,我将向您展示如何使用 Amazon Macie 来为这些数据集创建自定义提醒,以通知您感兴趣的事件和对象。也会介绍可以在 Macie 中找到的不同数据类型,并讨论如何识别与设定和安全用例相关的字段。您将从本文学到一种适用于您自己场景的调查和自定义提醒的方法。


注意⚠️:如果您之前没有使用过 Amazon Macie , 可以通过该链接介绍的操作步骤来作为起点。

了解 Macie 中的数据类型

Macie 能发现三种数据源:分别为 CloudTrail 事件,S3 Bucket(S3 存储桶)元数据和 S3 Object(S3 存储对象)元数据。每个数据源都单独存储在自己的索引中。因此,在编写查询时,在不同的查询中保留来自不同数据源的字段就显得非常重要。


在每个数据源中,有两种类型的字段:Extracted(提取的字段)和 Generated(生成的字段)。Extracted(提取的字段)的字段直接来自于与该数据源关联的、预先存在的 AWS 字段。 例如,CloudTrail 数据源中的提取字段直接来自于 CloudTrail 日志中记录的事件,这些事件对应于 IAM 用户,角色或 AWS 服务所执行的操作。您可以参阅CloudTrail 日志文件示例来获得更多详细的信息。


Generated(生成的字段)由 Macie 创建。这些字段为创建更强大的查询提供了额外的安全值和上下文。例如,通过从 CloudTrail 事件中获取 IP 地址并将其与 global service provider list(全球服务提供商列表)进行匹配来填充 ISP (互联网服务提供商)字段,就可以搜索出关联 ISP(互联网服务提供商)的 API 调用。


下面的链接会描述三个数据源中的每个字段的更多细节。我将使用它们来发现哪些字段适合调查特定的安全用例。


选择一个安全用例来自定义提醒

出于本文的目的,我将聚焦于一个特定的安全用例来作为演示。对于您要调查的任何特定安全用例,发现由 Macie 收集的相关数据字段并将其转换为自定义提醒的过程,都是相同的。基于此,我将寻找存储在 S3 中的敏感或关键数据的这一主题进行探索,因为它影响许多 AWS 客户。


在开始设计提醒时,第一步要考虑的是与主题相关的所有资源,属性,操作和身份。在这个案例,我将寻找存储在 S3 中的敏感或关键数据,因此以下是一些可能有用的数据字段:



    我将使用上述列表来指导我在 Macie 参考文档中搜索相关字段。首先,我将深入研究 CloudTrail 数据。

    探索 CloudTrail 数据

    使用 CloudTrail 数据源是了解 AWS 环境中正在发生什么活动的最佳方法,因为它包含您的 AWS API 调用以及 API 调用者的身份信息。如果您不熟悉 CloudTrail,请访问 AWS CloudTrail 文档以获取更多信息。


    我有一个关键的 S3 存储桶,我希望在我的企业环境中,当任何外部网络尝试对该 S3 存储桶进行写入时,我都会收到通知。在这种情况下,通常由我自己组织的身份识别系统通过联合身份验证的方式来控制对存储桶的写入操作。这意味着我想编写一个查询,搜索出没有通过联合身份验证访问方式的针对 S3 存储桶对象的写入尝试。如果您不熟悉联合身份验证是什么,那没关系,您仍然可以继续学习。如果您对联合访问感兴趣,请参阅IAM身份提供商和联合文档


    我首先浏览 “Macie CloudTrail Reference documentation(Macie CloudTrail参考文档)”中标题为“ CloudTrail Data Fields Extracted by Macie. ” 的部分。我发现 objectsWritten.key 的描述满足我要调查 S3 资源上的操作的需求。


    接下来,我将从 CloudTrail 的事件中的 userIdentity 对象中提取的 CloudTrail 字段名称。 userIdentity.type 字段看起来符合需求,但我不确定该字段可以接受的值。通过使用“CloudTrail userIdentity Element documentation (CloudTrailuserIdentity 元素文档)”作为参考,我查找 type(类型)字段并查看 FederatedUser 是否列为其中的一个值。


    匹配!我现在已经拥有编写第一个自定义查询所需的所有信息。我将搜索所有“user sessions(用户会话)”(对应于Macie用户的 5 分钟 CloudTrail 事件聚合)中既尝试写入我的 S3 存储桶又使用的不是 FederatedUseruserIdentity 类型进行的任何 API 调用。注意我正在搜索的是事件组而不是单个事件,因为我们正在查找与特定 API 调用相关的事件,而不是所有 API 调用相关的所有事件。为了匹配不等于 FederatedUser 的值,我使用正则表达式并将 FederatedUser 放在括号内,并在开头添加波浪号(〜)。以下是构造出的搜索查询语句


    objectsWritten.key:/arn:aws:s3:::my_sensitive_bucket.*/ AND userIdentityType.key:/(~FederatedUser)/


    现在,是时候在 Macie 的 Research 页面上测试此查询语句并将其转换为一个自定义提醒了。

    新建自定义提醒

    创建自定义提醒的第一步是从“Research”页面运行查询语句。 这样做的好处是可以验证结果是否符合我的预期,并了解警报发生的频率。 一旦我对查询结果感到满意,只需点击几下即可设置自定义提醒。


    1.在 Macie 左侧的导航面板中,选择“Research


    2.从下拉菜单中的选项中选择与查询匹配的数据源。在这个案例中,我选择 “CloudTrail Data



    3.复制我们的上面章节中构造的查询语句到查询框中后,敲打“Enter”键


    objectsWritten.key:/arn:aws:s3:::my_sensitive_bucket.*/ AND userIdentityType.key:/(~FederatedUser)/


    4.此时,可以验证结果是否符合我的预期,并对查询进行任何必要的修改。 要学习“Research”页面如何帮助验证和修改查询功能的更多信息,请参阅“ Using the Macie Research Tab ”。


    5.一旦我对结果满意,可以点击 “ Save query as alert “ 图标,将该查询语句保存为一个提醒。



    6.现在,我填写该页面的剩余字段:包括 Alert title Description Min number of matches , 以及 Severity 。 有关这些字段的详细信息,请参阅“Macie Adding New Custom Basic Alerts. ”



    7.在 “Whitelisted users ” 字段,我可以添加我希望从提醒中排除的从 Research 页面的查询结果中出现的任何用户。 有关此功能的更多细节,请参阅Whitelisting Users or Buckets for Basic Alerts


    8.最后,点击“SAVE”按钮。


    我现在已经成功自定义了一个具有基本功能的提醒,每次当除 FederatedUser 之外的 userIdentityType 的 API 调用写入我的存储桶时,都会提醒我。现在,我将使用 S3 对象和 S3 存储桶数据源来查找更多有用的字段。

    使用 S3 对象数据源

    S3 对象数据源包含从 S3 API 元数据中提取的字段,以及由 Macie 填充的与内容分类相关的字段。为了扩展我对 S3 中存储的敏感或关键数据的搜索和提醒,我将查看 S3 Object Data Reference documentation 文档来查找候选字段。


    我看到 S3 服务器端加密设置元数据可能很有用,因为我知道某个存储桶中的所有对象都应该使用 AES256 进行加密,因此我希望当一个对象上传时没有匹配到这个属性时,便通知我。


    为了创建查询,我将 server_encryption 字段和 bucket 字段组合在一起,以匹配指定存储桶中的所有 S3 对象。请注意正则表达式中的“ /.* ” 和 ” .*/ “。这允许我匹配所有包含有 my_sensitive_project 字符的存储桶。


    filesystem_metadata.bucket:/.my_sensitive_project./ AND NOT filesystem_metadata.server_encryption:”AES256”


    接下来,我有另一个不同名字的存储桶(my_logs_bucket),我知道该存储桶中的对象不应该包含任何个人身份信息( PII )。个人身份信息通常包括姓名,电子邮件地址和信用卡号等信息。有关 PII 的完整列表,请参阅“ Classifying Data with Amazon Macie. ”获知。我想设置一个提醒,每当有包含任何类型的 PII 的对象被添加到该存储桶时便通知我。由于这是由 Macie 提供的数据字段,因此我查看 Generated Fields 标题下的 pii_impact 字段。我的查询语句将搜索任何不等于 none 的值。


    filesystem_metadata.bucket:”my_logs_bucket” AND NOT pii_impact:”none”

    使用 S3 存储桶数据源

    S3 存储桶数据源包含从 S3 存储桶 API 中提取的信息,以及 Macie 通过处理存储桶元数据和访问控制列表(ACL)生成的字段。按照与上面提及的相同的方法,我通过S3 Bucket Data Reference documentation来查找可帮助我创建有用提醒的字段。


    这里有很多可用的字段,具体依赖于我对我的存储桶事先知道多少信息以及我将要安全防护的哪一种类型的安全向量。为了缩小搜索范围,我决定添加一些防止意外或未经授权的数据销毁的保护措施。


    在 S3 Versioning 段落中,我看到 Multi-Factor Authentication Delete 设置是一个可用的字段。由于我将此存储桶锁定为仅允许 MFA 执行删除操作,因此我可以创建一个提醒,以便每次当禁用 MFA 删除操作时通知我。


    bucket:”my_critical_bucket” AND versioning.MFADelete:”disabled”


    潜在数据销毁的另一种方式是通过设置存储桶生命周期的到期设置,该设置会在存储桶生命周期到期后自动删除数据。我想知道当有人将该设置更改为较低的数值时,及时提醒我,以便我可以进行修改,防止丢失任何最新数据。


    bucket:”my_critical_bucket” AND lifecycle_configuration.Rules.Expiration.Days:<3


    现在我已经收集了另一组潜在的提醒查询,我可以通过我用于 CloudTrail 数据的相同步骤将它们转换为自定义提醒。保存后,只要找到匹配项,我就会开始在 Macie 控制台中收到通知。我可以通过从 Macie 导航窗格中选择“ Alerts ”来查看我收到的提醒。


    现在我已经整理好了另一组提醒查询语句,我可以通过上述“自定义提醒”段类似的步骤,在“ Research ”页面中选择“ S3 bucket properties ” 并将它们转换为一个自定义提醒。当保存后,只要找到匹配项,我就会在 Macie 控制台中收到提醒。我可以通过从 Macie 左侧的导航栏中选择“ Alerts ”来查看收到的提醒。

    总结

    我在本文刚开始的部分描述了 Macie 中可用的各种数据类型和数据源。 接着通过使用一个特定的安全用例来演示如何从文档中寻找相应字段后,逐步完成了创建查询并将其转换为自定义提醒的过程。 我的目标是向您展示如何根据您的特定环境来构建提醒,并解决您自己的个性化需求。另外您所有自定的提醒都可以通过 Macie 左侧导航栏的”Settings”,然后点击” Basic alerts”图标来查看和修改。如果您有任何问题,或者您想请求一个新的字段和数据源,可以来 Macie论坛发帖讨论或联系 AWS Support


    Source ariticle: https://aws.amazon.com/blogs/security/how-to-create-custom-alerts-with-amazon-macie/


    !



    作者介绍:


    于波


    AWS安全工程师,致力于 AWS 云服务在网络安全相关领域的推广和研究。在传统网络架构安全方面有丰富的实践经验,对于机器学习框架在网络安全领域的应用等有浓厚的兴趣和热情。
    复制代码


    原文链接:


    https://amazonaws-china.com/cn/blogs/china/如何使用-amazon-macie-创建自定义提醒/


    2019-10-17 08:00939
    用户头像

    发布了 1826 篇内容, 共 89.7 次阅读, 收获喜欢 73 次。

    关注

    评论

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

    GraphQL设计思想

    Ryan Zheng

    graphql

    模块一作业

    小智

    架构实战营

    20年IT老民工苦心编撰成超大流量分布式系统架构解决方案文档

    公众号_愿天堂没有BUG

    Java 编程 程序员 架构 面试

    DEX去中心化交易所自动刷量机器人开发|去中心化做市机器人

    量化系统19942438797

    去中心化 做市机器人

    ❤️专科出身拿到阿里offer,我直呼666!【付硬核面试】❤️

    编程susu

    Java 编程 程序员 面试 计算机

    入职京东:成功拿到offer薪资30K「面试经历+面试真题」

    今晚早点睡

    Java 秋招

    一文带你掌握 OceanBase 社区版部署细节及原理

    OceanBase 数据库

    数据库 分布式数据库 oceanbase OceanBase 开源 OceanBase 社区版

    文件上传绕过思路拓展

    网络安全学海

    黑客 网络安全 信息安全 渗透测试 安全漏洞

    立于山巅!他,凭什么抗住万亿级流量冲击!

    博文视点Broadview

    如何优雅的在业务中使用设计模式(代码如诗)

    小呆呆666

    flutter android 大前端 设计模式

    MySQL 不完全入门指南

    Java 编程 架构 面试 架构师

    短视频询盘获客系统开发案例解析

    获客I3O6O643Z97

    抖音、快手获客系统 抖音矩阵拓客

    影像篡改与识别(一):胶片时代

    腾讯安全云鼎实验室

    影像 暗房技术 篡改识别

    解密优酷智能生产技术,看 AI 赋能内容数字化

    阿里云视频云

    音视频 短视频 视频处理 视频制作 视频云

    简述 Linux I/O 原理及零拷贝(上)— 磁盘 I/O

    Qunar技术沙龙

    Linux 缓存 Mmap 磁盘 I/O

    【虚拟机专栏】智能合约执行引擎的前世今生

    趣链科技

    华为高级技术专家多年经验分享微服务治理体系、架构及实践文档

    公众号_愿天堂没有BUG

    Java 编程 程序员 架构 面试

    终于有大牛把Spring微服务架构设计第2版文档给整理完毕了

    公众号_愿天堂没有BUG

    Java 编程 程序员 架构 面试

    论坛接口测试——Postman数据驱动(超详细小白教程)

    程序员阿沐

    编程 程序员 软件测试 自动化测试 接口测试

    DEX去中心化交易所自动刷量机器人开发|去中心化做市机器人

    Geek_23f0c3

    去中心化交易所系统开发 量化交易机器人系统开发 量化机器人 做市机器人 自动刷量机器人

    堡垒机和跳板机的三大区别分析-行云管家

    行云管家

    运维 堡垒机 IT运维 跳板机

    软件测试框架之——Postman参数化(超详细小白教程)

    程序员阿沐

    软件测试 自动化测试 接口测试

    石油行业数据采集中的 MQTT 协议

    EMQ映云科技

    数据 mqtt emq 远程监控 实时数据

    没有7年经验你真学不会这份SpringCloud实战演练文档

    公众号_愿天堂没有BUG

    Java 编程 程序员 架构 面试

    译文 | 四张画布教你判断「产品开发优先级」

    LigaAI

    产品经理 产品开发 画布 产品优先级

    微服务的痛:你的微服务还好吗?

    我爱娃哈哈😍

    架构设计 架构设计实战

    摩尔时代如何押注AI算力?英特尔战术大揭秘

    科技新消息

    简单、快捷、低成本的超写实虚拟人平台来了……

    百度开发者中心

    人工智能 AI 最佳实践 虚拟人 前沿技术

    webrtc BitrateAllocator 带宽分配器

    webrtc developer

    WebRTC

    由阿里三位专家撰写:数据库高效优化:架构、规范SQL技巧文档

    公众号_愿天堂没有BUG

    Java 编程 程序员 架构 面试

    【等保测评】黑龙江等保测评机构详细信息说明

    行云管家

    网络安全 等保 等级保护 等保测评

    如何使用 Amazon Macie 创建自定义提醒_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章