阿里云首页 阿里云安全产品和技术

Hadoop环境安全加固

Hadoop是一个由Apache基金会所开发的一个开源、高可靠、可扩展的分布式计算框架。

Hadoop的框架最核心的设计就是HDFS和MapReduce模块。HDFS为海量的数据提供了存储,MapReduce 则为海量的数据提供了计算。

  • HDFS是Google File System(GFS)的开源实现。

  • MapReduce是一种编程模型,用于大规模数据集(大于1 TB)的并行运算。

Hadoop 环境安全问题

1. WebUI 敏感信息泄漏

Hadoop默认开放了很多端口来提供WebUI服务。下表列举了相关的端口信息:

HDFS

NameNode

50070

SecondNameNode

50090

DataNode

50075

Backup/Checkpoint node

50105

MapReduce

JobTracker

50030

TaskTracker

50060

通过访问NameNode WebUI管理界面的50070端口,可以下载任意文件。而且,如果DataNode的默认端口50075开放,攻击者可以通过HDSF提供的restful API对HDFS存储的数据进行操作。

2. MapReduce 代码执行漏洞

3. Hadoop 的第三方插件安全漏洞

4. Hive 任意命令/代码执行漏洞

Hive 是建立在Hadoop上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据的提取转化加载(ETL),是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive定义了简单的类 SQL查询语言,称为HQL,它允许熟悉SQL的用户查询数据。同时,HQL语言也允许熟悉MapReduce开发者的开发自定义的mapper和reducer来处理内建的mapper和reducer无法完成的复杂的分析工作。

HQL语言可以通过transform命令自定义Hive使用的Map/Reduce脚本,从而调用Shell、Python等语言,导致攻击者可以通过Hive接口等相关操作方式直接获取服务器权限。

安全加固方案

根据上述Hadoop环境安全问题可以发现,对外暴露服务端口会存在严重的安全风险。建议您按照以下方式为Hadoop环境进行安全加固。

1. 网络访问控制

使用安全组防火墙或本地操作系统防火墙对访问源IP进行控制。如果您的Hadoop环境仅对内网服务器提供服务,建议不要将Hadoop服务所有端口发布到互联网。

2. 启用认证功能

启用Kerberos认证功能。

3. 更新补丁

不定期关注Hadoop官方发布的最新版本,并及时更新补丁。

更多信息