Hadoop黑客赎金事件解读及防范

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
简介:

前言

年关将至,Mongodb数据丢失的事情还在眼前,数以千计的Mongodb数据库已经被删除或者被黑客勒索,参考:MongoDB黑客赎金事件解读及防范。就在最近一段时间,黑客也在攻击Hadoop,有不少Hadoop集群的数据全部丢失,这些数据甚至有上TB的数据量,对企业造成了巨大的损失。 本文讲述这个问题及后续的预防方案。

希望看到文章的同学及时修复问题,避免数据丢失。也欢迎转发,让更多的同学知晓。

攻击手段

一般使用者为了方便或者不注意,在电信IDC机房或者云上直接开放了HDFS的50070 web端口。那么黑客可以通过简单的几个命令,比如:

操作:
curl -i -X DELETE "http://ip:50070/webhdfs/v1/tmp?op=DELETE&recursive=true"
curl -i -X PUT "http://ip:50070/webhdfs/v1/NODATA4U_SECUREYOURSHIT?op=MKDIRS" 

黑客可以把tmp(可以其它目录)下的数据删除;也可以看到很多日志信息获取敏感数据;或者不断写,把HDFS写满;更加有一些黑客把数据备份走,再把HDFS删除,直接发送勒索邮件。

最后界面如图,一般黑客还提醒如下:

screenshot
其实这个不是HDFS的漏洞,是HDFS提供的webhdfs功能,不过很多同学没有意识到数据可以通过此途径删除。

目前在 https://www.shodan.io 上查询50070端口,如下图

screenshot
在中国有 8,500+ hadoop集群的50070端口是对公网开放的,这些集群理论都存在风险。这个只是此网站公布的,真实的数据远比这个多得多,安全形势不容乐观。

防护手段

基本的:

最好的处理方式是,把所有直接开放的端口,包括50070端口在内的所有端口对公网全部禁止。这些端口包括:
Hadoop默认情况开放了很多端口提供WebUI, 下面列举了相关端口信息:

  • HDFS

    • NameNode 默认端口 50070
    • SecondNameNode 默认端口 50090
    • DataNode 默认端口 50075
    • Backup/Checkpoint node 默认端口 50105-
  • YARN(JobTracker)

    • ResourceManager 默认端口8088
    • JobTracker 默认端口 50030
    • TaskTracker 默认端口 50060
  • Hue 默认端口 8080

等等

如果不清楚,则按照最小化原则,开放最小化端口,如果实在需要访问这些端口:
1、如果是云环境,可以在云上购买一台带界面的环境(win、linux等,这个机器就是跳板机),再最小化打通此机器跟Hadoop环境的通道。
2、即使要开通公网的端口,可以到ecs的安全组中,开通到你本地环境的公网ip的端口,不要全网开通。

PS:一些客户说我这个是测试环境,不是生产环境,丢失了没有关系。但是需要注意的是,如果客户攻击了你此台机器,此台机器沦为黑客的肉机不说,如果别的机器跟这些机器在一个安全组,则很有可能会攻击其他机器的。

高级的

  • 关闭webhdfs的功能,dfs.webhdfs.enabled设置为false
  • 开启类似kerberos功能(比较复杂,不过多表述)
  • 及时备份重要数据,比如云上备份到OSS中

E-MapReduce

如果目前在ECS自建,或者想自建的同学,欢迎使用E-MapReduce产品:https://www.aliyun.com/product/emapreduce。 目前E-MapReduce产品购买集群后

  • 默认会禁止所有大数据组件的所有端口。
  • yarn ui、ganglia等通过80端口访问,设置账号、密码访问机制,保证安全,无需直接开放50070端口。
screenshot
  • 可以设置周期任务,把一些重要的数据备份到OSS中(通过E-MapReduce提供的工作流,运行DiskCP),备份整个集群往往不现实,因为hadoop意味着数据量巨大,用户可以自己设计备份原则,备份核心的机密的数据。
  • 内核团队关注Hadoop相关漏洞,及时从产品、内核层面修复
  • 定期扫描一些端口,预防客户误开

后续会探求更强大安全保护机制,提供给客户选择,比如E-MapReduce层面的账号密码机制,E-MapReduce团队会一直关注数据安全问题。

特别需要注意的是, E-MapReduce已经做好了安全防护,但是一些客户打开公网的端口,最后导致数据丢失,是非常悲剧的事情。


HBase技术交流社区 - 阿里官方“HBase生态+Spark社区大群”点击加入:https://dwz.cn/Fvqv066s

相关文章
|
分布式计算 安全 Hadoop
你的数据安全么?Hadoop再曝安全漏洞| 黑客利用Hadoop Yarn资源管理系统未授权访问漏洞进行攻击
4月30日,阿里云发现,俄罗斯黑客利用Hadoop Yarn资源管理系统REST API未授权访问漏洞进行攻击。 Hadoop是一款由Apache基金会推出的分布式系统框架,它通过著名的 MapReduce 算法进行分布式处理,Yarn是Hadoop集群的资源管理系统。
7555 0
|
存储 消息中间件 Java
Hadoop-No.15之Flume基于事件的数据收集和处理
Flume是一种分布式的可靠开源系统,用于流数据的高效收集,聚集和移动.Flume通常用于移动日志数据.但是也能移动大量事件数据.如社交媒体订阅,消息队列事件或者网络流量数据. Flume架构 Flume的数据源使用来自外部数据源的时间,然后转发到Channel中.
962 0
|
资源调度 分布式计算 Java
Hadoop Yarn事件处理框架源码分析
由于想在项目中使用类似yarn的事件处理机制,就看了实现。主要是由Dispatcher.java,EventHandler.java,Service.java这3个类撑起来的。
1119 0
|
分布式计算 资源调度 Java
Hadoop2.6.0的事件分类与实现
说实在的,在阅读Hadoop YARN的源码之前,我对于java枚举的使用相形见绌。YARN中实现的事件在可读性、可维护性、可扩展性方面的工作都值得借鉴。
2022 0
|
SQL 关系型数据库 Apache
2015也过去一半了,Hadoop大事件盘点
2015也快过去一半了,Hadoop在过去一年的发展究竟如何,下面小象带你盘点一下2014Hadoop大事件! 2014年2月,Hadoop 2.3.0发布,新特性包括支持HDFS的混合存储分级,可以集中管理HDFS内存里的缓存数据,通过HDFS中的YARN分布式缓存简化MapReduce分配及一些Bug修正。
1831 0
|
2月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
167 6
|
2月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
68 2
|
28天前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
87 2
|
29天前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
65 1

相关实验场景

更多