【云安全小技巧】——使用EMR分析云审计数据

发布于:2024-10-24 编辑:匿名 来源:网络

前言云安全小技巧系列文章是腾讯云账号与权限团队一线开发人员推出的一系列关于用户安全的小技巧。本系列文章旨在帮助腾讯云用户充分利用腾讯云提供的产品功能,安全解决实际生产中遇到的问题。

文章会提到很多应用场景以及错误的解决方案和正确安全的解决方案。本系列文章不仅会有场景分析,还会有技术分析,所以只要你是腾讯云的用户,无论你是技术新手还是技术专家,都可以一起讨论和实践。

对于用户提出的安全问题,我们将尽快跟进,并从平台角度提供安全合理的解决方案。场景 在实际工作中,我们经常会遇到用户想要定期审核自己的腾讯云账号。

每个用户都有不同的审核规则。审计规则可能有很多,我们就不详细描述了。

这里只是一个简单的例子,腾讯云客户A。客户A有一个腾讯云主账户,这个主账户下有很多子账户。

A老板希望能够随时关注A账户下的资源子账户,全面了解他们在何时何地经营过什么业务?并且您可以自行定制审核规则。一旦触犯规则,可以及时通知老板。

在收到很多类似的需求后,我们开始反思云审计应该具备什么样的开放功能来帮助用户实现自己的愿望,让客户A的老板能够以上帝的视角俯瞰整个腾讯云账号,只要因为没有预期的干扰可以被及时感知。 (就像《将夜》中的大师,俯视世界)后来我们不断尝试和探索,终于找到了一个可持续的、可扩展的、可移植的解决方案,可以帮助客户A的老板从上帝的角度审视他的业务。

腾讯云账号。为了验证该方案的可用性和鲁棒性,我们已经在现网运行了约两个月的时间。

事实证明,该方案运行稳定,可分析TB级数据。基本概念在介绍整体解决方案之前,我们先介绍几个基本概念。

了解了这些概念之后。我们会详细介绍解决方案,并在介绍解决方案的同时附上关键步骤的源码,以便客户A老板的程序员能够快速实现老板的需求。

毕竟我们都是程序员,为什么要让程序员为难程序员呢?什么是云审计?云审计可以获取您的腾讯云账号下的API调用历史记录,包括通过腾讯云管理控制台、腾讯云SDK、命令行工具以及其他腾讯云服务进行的API调用,并监控腾讯云中的任何部署。行为。

您可以确定哪些子用户和协作者使用腾讯云API、从哪个源IP地址进行调用以及调用发生的时间。具体内容请参见云审计产品页面。

什么是跟踪集 跟踪是一种配置,可用于将云审计的事件传递到腾讯云的 COS 存储桶。简单来说,跟踪集可以帮助用户将 API 调用记录持久保存到 COS 存储桶中。

之所以有这个功能,是因为云审计目前只能帮助用户缓存一段有限时间内的API调用记录,无法实现持久化存储。什么是 COS 对象存储(Cloud Object Storage,COS)是腾讯云为非结构化数据提供的分布式存储服务,支持 HTTP/HTTPS 协议访问。

它可以容纳海量数据,并确保用户无感知带宽和容量扩展。 ,可以作为大数据计算分析的数据池。

腾讯云 COS 提供 Web 管理界面、多语言 SDK、命令行和图形化工具,并完全兼容 S3 API 接口,允许用户直接使用社区工具和插件。 COS还可以与其他云产品结合,比如利用CDN的全球节点提供加速服务,利用数据万向的图像处理能力提供一站式图像解决方案。

具体内容请参考对象存储的产品介绍页面。什么是电子病历? Elastic MapReduce (EMR) 将云技术与 Hadoop、Hive、Spark、Hbase、Storm 等社区开源技术相结合,提供安全、低成本、高可靠、弹性扩展的云托管 Hadoop 服务。

您可以在几分钟内创建安全可靠的专用 Hadoop 集群,以分析集群内数据节点或 COS 上驻留的海量 PB 数据。具体内容请参考EMR的产品介绍页面。

详细计划 了解了以上基本概念后,有经验的程序员大概就知道计划是什么样子了。但我还是决定详细介绍一下详细的计划。

如果你得到意想不到的惊喜怎么办?首先我们画一张图,体验一下作为上帝俯瞰整个解决方案的乐趣。作为一名程序员,你可以站在上帝的角度理解为什么老板要忽略他的云账户。

只有这样,我们才有更多的动力去帮助老板实现这个计划。解决方案描述 从上图可以看出,客户A在腾讯云上拥有大量资源,员工数量也很多。

分支机构遍布世界各地,员工也非常勤奋。那么如果你是这家公司的老板,你是否想默默关注我全球员工在云上的工作状态和行为,并通过这个视角,及时发现安全风险并及时做出调整?以下解决方案介绍的重点是帮助用户快速构建上图描述的解决方案。

所以假设您已经拥有上述所需的所有云资源。例如,当我描述跟踪集的格式时,我不会介绍如何创建跟踪集。

还假设您已经掌握了 MapReduce 的基本概念。如果我在描述 Hive,我不会详细介绍 Hive 是什么。

在开始正式详细描述该解决方案之前,我需要首先谈谈该解决方案目前的局限性。 COS 存储桶必须建在上海地区,因为目前云审计仅支持将 API 调用记录下发到上海地区的 COS 存储桶。

目前仅支持控制流日志分析,不支持数据流审计分析。虽然 COS 桶只能建在上海地区,但是可以记录各个地区的操作记录。

也就是说,我们的数据必须是完整的,不会有死角。 Cloud Audit 并非会记录所有业务审计日志。

支持的业务列表请参见云审计产品文档。 EMR集群也最好建在上海,因为这样可以避免大量的外部网络流量。

创建 EMR 集群时,关键一步是让 EMR 读取您的 COS 资源。这个授权非常重要,不能忽略。

在 Hive 上创建基于 COS 的数据库,用于连接 Hive 数据库。登录EMR Master机器,执行以下命令连接Hive。

代码语言:shell copy cd /usr/local/service/hive/bin && ./beeline -u "jdbc:hive2://10.0.0.1:" -n hadoop -p xxxxxx(你的Hive密码)创建一个COS- based 数据库连接到hive后,可以基于其上的COS存储桶创建数据库。您可以执行以下命令。

代码语言:sql copy create database cloudaudit location '';将云审计的核心字段映射到Hive表中的字段。创建完基于 COS 的数据库后,下一步就是将其存储在 COS 中,将云审计数据映射到 Hive 表中,以便我们可以使用 MapReduce 来分析云审计数据。

(创建这个映射关系时,要充分了解云审计的各个领域,这里不再赘述,用户可以自行了解)下面是具体的建表语句。代码语言:sql copy CREATE EXTERNAL TABLE `cloudaudit_logs`( `useridentity` struct COMMENT '账户信息,其中accountid为主账户和principalid是当前操作账户', `eventtime` string COMMENT '事件发生的时间', `eventsource` string COMMENT '事件来源', `sourceipaddress` string COMMENT '事件发起的IP地址', ` eventregion` string COMMENT '资源的区域' , `eventname` string COMMENT '事件名称,例如:RestartInstances',`resourcetype` string COMMENT '资源类型,例如:CVM', `useragent` string COMMENT '主叫代理', `errorcode` string COMMENT '错误码,0表示正确', `errormessage` string COMMENT '错误描述', ` extraeventdata` struct COMMENT '仅用于登录的额外字段', `requestid` string COMMENT '请求的唯一 ID', `eventid` string COMMENT '请求的唯一 ID日志',`eventtype` string COMMENT '请求类型,ConsoleCall 代表控制台操作,ApiCall 代表 API 调用,ConsoleLogin 代表登录', `apiversion` string COMMENT 'api 版本', `actiontype` string COMMENT '操作类型', `resources` array COMMENT 'resource', `resourcename` string COMMENT '资源名称') PARTITIONED BY (`dt` string) //这是一个分区,很重要目前每小时有 1 个分区,1 个分区对应 COS 存储桶下的一个目录 ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' WITH SERDEPROPERTIES ( 'ignore.malformed.json'='true') STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat'OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION '' 定期将 COS 存储桶中的数据映射到 Hive 表。

上一步是根据云审计字段的映射创建的。 Hive表,那么需要定期(目前为一小时)将COS目录下的数据映射到Hive表。

以下是核心Python代码。代码语言:python 代码运行次数:0 复制 Cloud Studio 代码运行 lastHour = (datetime.datetime.now() - datetime.timedelta(hours=1)).strftime('%Y%m%d%H')hive_client = hiveClient.HiveClient(db_host=config.HIVE_CONFIG['host'], port=config.HIVE_CONFIG['port'], user=config.HIVE_CONFIG['user'], 密码=config.HIVE_CONFIG['passWord'], 数据库= config.HIVE_CONFIG['database'], authMechanism=config.HIVE_CONFIG['authMechanism'])# 第一步:首先判断要创建的分区是否存在。

如果不存在,则创建一个新分区partitionSql = 'showpartitionscloudaudit_logs'result = hive_client.query(partitionSql)partitions = []for row in result:partitions.append(row[0])if'dt='+lastHour不在分区中:alterPartitionSql = 'ALTER TABLE cloudaudit_logs ADD PARTITION (dt="' + lastHour + '") location"' + lastHour + '"' hive_client.queryWithoutReturn(alterPartitionSql) 将 COS 中的冷数据聚合为热数据。这句话的含义不难理解。

实际上 COS 中存储的日志数据是往往很大,无法直接作为逻辑开发的数据基础,所以需要对里面的数据进行一次聚合,并将结果数据存储在Mysql等热门介质中,下面是一段核心的Python代码。聚合Hive数据。

语言:javascript copy# 第二步:执行数据统计命令 sql = 'select useridentity.accountid,userIdentity.principalId,sourceIPAddress,eventName,resourceType,errorCode,eventType,' \ ' count(*) as cnt from cloudaudit_logs where dt = " ' + lastHour + '" group by userIdentity.accountid,' \ 'sourceIPAddress,userIdentity.principalId,eventName,resourceType,errorCode,eventType'result = hive_client.query(sql)hive_client.close() 即将执行的操作接下来发生的事情,我想大家都猜到了,就是将结果数据存储在Mysql中。然后就是定期的审核规则,上帝视角可能是这样的。

操作时序图可能是这样的。

【云安全小技巧】——使用EMR分析云审计数据

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • 新规实施:申请手机号码将全面实行人脸比对

    新规实施:申请手机号码将全面实行人脸比对

    雷锋网消息,2020年12月2日,根据工信部此前发布的相关规定,自12月起1、2020年,电信企业必须在物理渠道全面落实肖像比对技术措施。 只有画像一致才能完成入网手续。 而且,自即日起,电信公司自有营业厅必须向用户提供查询其名下手机号码的服务,对用户有异议的手机号码应立

    06-18

  • 北京石景山区设立现代创新产业基金,总规模为30亿元

    北京石景山区设立现代创新产业基金,总规模为30亿元

    北京市石景山区设立总规模30亿元的现代创新产业基金。 据投资界7月6日消息,石景山区宣布设立总规模30亿元的现代创新产业基金。 通过科学引导,推动区域内以科技服务、数字创意、新一代信息技术为特色的现代金融主导产业发展,支持“1”高精尖产业发展,生态环保、城市更新等

    06-18

  • 打造企业级RPA平台,UiPath获2.25亿美元E轮融资

    打造企业级RPA平台,UiPath获2.25亿美元E轮融资

    投资圈(ID:pedaily)7月15日消息,据36氪报道,企业级RPA软件公司UiPath宣布,已完成2.25亿美元E轮融资。 由 Alkeon Capital Management 领投,投资者包括 Accel、Coatue、Dragoneer、IVP、Madrona Venture Group、红杉资本、腾讯投资、Tiger Global 和 Wellington。 本轮融

    06-18

  • 博姿科技专访创始人与李忠双:重新定义工业机器人,为先进制造做出贡献 -看到新势力NO. 108

    博姿科技专访创始人与李忠双:重新定义工业机器人,为先进制造做出贡献 -看到新势力NO. 108

    在人类发展史上,生产力更替是人类社会不断进步的支柱。 随着人工智能等先进技术的广泛应用,第四次工业革命的号角已经吹响。 同时,当前消费者对个性化产品的需求强烈,导致生产需要从大批量同质化转向小批量、多品种柔性生产。 新一轮工业革命,制造业生产线升级势在必行,

    06-18

  • 为让北美年轻人住上长租公寓,Tripalink获得3000万美元B+轮融资

    为让北美年轻人住上长租公寓,Tripalink获得3000万美元B+轮融资

    据投资界(ID:pedaily)11月5日消息,据36氪报道,Tripalink北美青年长租公寓品牌完成3000万美元B+轮融资,由Conductive Ventures和Altos Ventures共同领投,Assurant Ventures、Calin SJG Fund、K2VC、Tekton跟投风险投资。 Preferred Bank也参与了本轮投资。 截至目前,T

    06-18

  • 华控基金董事长张扬入选2020年投资行业百强投资人

    华控基金董事长张扬入选2020年投资行业百强投资人

    8月12日,《投资界》公布了中国权威人物评选的“投资行业最佳投资人”名单。 华琼基金的创始人、董事长张扬榜上有名。 人物名单。 “投资行业杰出投资人”投资者榜评选已连续五年举办。 自正式启动以来,今年的评选吸引了数千名早期投资人、VC、PE和战略投资者的积极参与。 投

    06-17

  • Kyligence完成7000万美元D轮融资,红点、顺为等参与,

    Kyligence完成7000万美元D轮融资,红点、顺为等参与,

    3月21日,Kyligence(上海久智信息科技有限公司)宣布完成7000万美元D轮融资。 本轮融资由浦发国际领投,中金资本旗下基金、歌斐资管、国方资本、ASG、鸿兆基金、浦信资本及原股东红点中国、耀明资本、顺为资本等跟投。

    06-18

  • 什么值得买?七夕最佳购物指南:四招而已

    什么值得买?七夕最佳购物指南:四招而已

    如何庆祝七夕肯定是大家最近最困扰的问题。 怎样才能有意义、划算、深刻呢?作为中国第一智能手机品牌,vivo推出了七夕最强策略。 只需四招,瞬间让你成为最强七夕达人!点击领取最佳礼物——终极品遇终极促销 3GB存储版vivo X5Max+、全球首款2K屏顶级旗舰vivo Xplay3S、只剩

    06-17

  • 听歌、识别歌曲的工具Shazam推出了Chrome插件,但还不够完善

    听歌、识别歌曲的工具Shazam推出了Chrome插件,但还不够完善

    自从2017年Shazam被苹果收购后,它就成为了苹果旗下的免费服务。 它以 Apple Music 为后盾,内置数万首歌曲。 在iPhone和iPad的控制中心,Mac用户如果想用它来识别歌曲,需要先安装软件,但无论如何,Shazam是寄生在苹果身上的,至少他们不用再担心盈利模式了。 近日,Shazam

    06-21

  • 转转:2020年转转集团服务GMV增长111%,集团收入同比增长229%

    转转:2020年转转集团服务GMV增长111%,集团收入同比增长229%

    今天,转转集团发布《年度二手交易服务白皮书》。 数据显示,转转集团服务GMV同比增长111%,集团营收同比增长229%。 生长%; 3C数码B2C业务支付订单量同比增长0.2%;全年机检服务订单量同比增长0.04%。

    06-18

  • 首次发布 -国药齿科完成A轮融资,华兴资本领投

    首次发布 -国药齿科完成A轮融资,华兴资本领投

    投资界(ID:pedaily)据2月9日消息,中国齿科中游整合+创新的新生力量国药齿科宣布完成A轮融资。 本轮融资由华兴资本旗下华兴新经济基金领投,德通资本跟投。 华兴资本担任本轮融资独家投资方。 完成新一轮融资后,国药齿科将加大中游渠道整合投入,打造中国DSO模式下的业务

    06-17

  • 多位高管参与揭秘字节AI领地之战

    多位高管参与揭秘字节AI领地之战

    Tech星球*了解到,字节旗下多个部门加大了AI产品研发投入,成果已陆续落地,其中包括抖音电商、海量引擎等业务部门,其中最为活跃的Flow部门不仅会推出豆袋、按钮等AI产品,还将推出AI角色互动APP“Talking Room”和一款可能是图片的AI产品“PicPic”。 另据消息,人士透露,

    06-18