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

本文涉及的产品
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS AI 助手,专业版
简介: 年关将至,Mongodb数据丢失的事情还在眼前,数以千计的Mongodb数据库已经被删除或者被黑客勒索,就在最近一段时间,黑客也在攻击Hadoop,有不少Hadoop集群的数据全部丢失,这些数据甚至有上TB的数据量,对企业造成了巨大的损失。本文讲述这个问题及后续的预防方案。

前言

年关将至,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中

社群

技术交流钉钉大群 阿里云 HBase+Spark社区 【强烈推荐!】 群内每周进行群直播技术分享及问答

目录
相关文章
|
安全 数据安全/隐私保护
密码学系列之一:密码学的前世今生
密码学系列之一:密码学的前世今生
1032 0
|
9月前
|
缓存 负载均衡 API
深入解析电商支付API的性能瓶颈与解决方案
在电商快速发展的当下,支付API的性能直接影响用户体验与交易成功率。本文深入分析支付API在高并发下的性能瓶颈,并提供包括CDN加速、异步处理、缓存优化、数据库索引、负载均衡等在内的系统性解决方案,助力开发者提升支付效率,保障交易流畅稳定。
234 1
|
存储 小程序 前端开发
毕业设计:微信小程序健康管理系统的开发与实现
经过调查和走访研发的这套在线健康管理系统,采用微信小程序云开发实现,基于Mongodb数据库进行数据存储,前端使用微信小程序开发实现,后端基于Nodejs开发实现。系统前端用户主要实现查看新闻通知、体检知识、在线体检预约、查看我的预约、修改个人资料等。后台主要实现用户管理、内容管理、活动和预约管理、统计预约用户数等功能。这套系统的上线对于人们健康的管理和体检预约都有很大帮助。...
4012 3
毕业设计:微信小程序健康管理系统的开发与实现
|
机器学习/深度学习 人工智能 自然语言处理
以史为鉴,未雨绸缪:身处“大模型掀起的AI浪潮中”的感悟和思考
本文旨在帮助读者更深入地理解大模型和AI技术,重点介绍关键技术革新的背景与影响,特别是本次大模型时代和新一轮AI浪潮的推动因素与发展历程。
|
测试技术 数据库 Python
SQLAlchemy的同步和异步的代码对比
这篇文章比较了SQLAlchemy同步和异步操作的代码差异,包括创建数据库引擎、会话、执行查询、新增、编辑和删除数据的不同方式。
832 7
|
存储 数据挖掘 Linux
服务器数据恢复—ext4文件系统服务器数据恢复案例
服务器数据恢复环境: 某品牌服务器+同品牌存储,Linux centos7+EXT4文件系统。 服务器故障: 意外断电导致服务器操作系统不能正常启动。经过修复后系统可以正常启动,但是挂载的分区无法正常访问。使用fsck修复这个问题分区,虽然修复完成之后文件系统正常,但是发现部分文件丢失,查看后发现缺失的部分文件在lost+found文件夹里,文件名已经发生改变。
|
存储 Kubernetes 安全
如何以非root用户运行Docker容器
如何以非root用户运行Docker容器
|
前端开发 开发者 SEO
HTML基础标签解析:H1-H6、DIV与P的正确使用方法
HTML基础标签解析:H1-H6、DIV与P的正确使用方法
727 0
|
监控 网络协议 C#
一款基于C#开发的通讯调试工具(支持Modbus RTU、MQTT调试)
一款基于C#开发的通讯调试工具(支持Modbus RTU、MQTT调试)
404 0