很多产品设计之初便是利用在内网,以是 默认不开启身份认证或者压根就 没有身份认证模块, 这种设计理念是有问题的 。例如es、redis、mongodb这些根本举动步伐级的软件就由于没有身份认证很多安全问题都是由它导致的 。同时产品的安全设计也不要寄托在开拓职员/运维职员的安全意识上,纵然是安全职员也有轻忽大意的时候。
Hadoop简介:
Hadoop是一个由Apache基金会所开拓的一个开源 高可靠 可扩展的分布式打算框架。 Hadoop的框架最核心的设计便是:HDFS和MapReduce。
HDFS为海量的数据供应了存储,MapReduce则为海量的数据供应了打算。
HDFS是GoogleFile System(GFS)的开源实现。
MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并走运算。
总的来说Hadoop安全问题涉及三个方面:
第一:WebUI敏感信息泄露:
Hadoop默认情形开放了很多端供词给WebUI, 下面这些 多多少少都会泄露一些信息,但是总的来说在内网还好吧。
一、HDFS
1.NameNode 默认端口 50070
2.SecondNameNode 默认端口 50090
3.DataNode 默认端口 50075
4.Backup/Checkpoint node 默认端口 50105
二、MapReduce
1.JobTracker 默认端口 50030
2.TaskTracker 默认端口 50060
端口探测,扫描HDFS和MapReduce的WebUI对应的做事端口
NameNode WebUI管理界面
通过NameNode节点管理HDFS
个中比较主要的是 DataNode 默认端口50075开放的话,攻击者可以通过hdsf供应的restful api对hdfs存储数据进行操作。
restful api参考:http://hadoop.apache.org/docs/r1.0.4/webhdfs.html
第二:MapReduce代码实行漏洞
MapReduce demo:
轻微改动了一下:
既然可以实行jar程序,实行系统命令还是很随意马虎的,但是这个须要一个Hadoop的shell, 问题也不大。
第三:Hadoop的第三方插件安全漏洞
Cloudera Manager
1、Cloudera Manager CVE-2016-4949 Information Disclosure Vulnerability
2、Template rename stored XSS (CVE-2016-4948)
Kerberos wizard stored XSS (CVE-2016-4948)
Host addition reflected XSS (CVE-2016-4948)
Cloudera HUE =
1、Enumerating users with an unprivileged account (CVE-2016-4947)
2、Stored XSS (CVE-2016-4946)
3、Open redirect
Apache Ranger =
1、Unauthenticated policy download
2、Authenticated SQL injection (CVE-2016-2174)
Apache Group Hadoop 2.6.x
1、Apache Hadoop MapReduce信息透露漏洞(CVE-2015-1776)
Hive任意命令/代码实行漏洞
HQL可以通过transform自定义Hive利用的 Map/Reduce 脚本,从而调用shell/Python等措辞,导致攻击者可以通过hive接口等干系操作办法直接获取做事器权限
漏洞每每是相似的,Spark 6066 7077端口也存在着类似的安全问题,默认情形下可以推送jar包实行,如果权限足够大可以实现植入ssh公钥,有兴趣的可以研究下,估计在内网可以搞到一些研发的机子。。。
安全办理方案:
1、开启kerberos认证
2、敏感页面以及目录最好也不要对普通用户开放,可nginx方向代理、iptables办理。(jmx/logs/ cluster/status.jsp/)
3、hadoop集群单独支配 做好安全监控创造被攻击迹象及时高警