AY-漏洞

Hadoop漏洞

1、Hadoop 未授权访问【原理扫描】

漏洞名称 Hadoop 未授权访问【原理扫描】 CVE编号
危险等级
威胁分类 远程信息泄露
漏洞描述 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
在默认情况下,Hadoop允许任意用户访问管理接口。
解决办法 方法1:在防火墙限制可信任IP才可访问50070端口。
https://www.cnblogs.com/liuqq1015/p/17078159.html

方法2:开启身份验证 ,防止未经授权用户访问。
① 开启服务级认证授权,需要在core-site.xml文件中开启参数hadoop.security.authorization,将其设置为true,并且重启hadoop。
<property>
<name>hadoop.security.authorization</name>
<value>true</value>
</property>
(hadoop.security.authorization=true则开启ServiceLevel Authorization,hadoop.security.authorization若为false则不经过任何验证,所有用户拥有全部权限)(修改此配置需要重启hadoop)

② 针对具体的各个服务的认证,在配置文件hadoop-policy.xml中对各个服务属性配置用户或组。 目前只需要针对客户端哪些用户能够访问namenode即可,即修改参数security.client.protocol.acl和security.job.submission.protocol.acl的值。

每个可配置多个用户,用户之间用“,”分割;可配置多个用户组,分组之间用“,”分割,用户和分组之间用空格分割,如果只有分组,前面保留一个空格,如:

<property>
<name>security.job.submission.protocol.acl</name>
<value> alice,bob group1, group2</value>
</property>

默认情况下,属性不对任何用户和分组开放。

每次修改hadoop-policy.xml中的值,要执行刷新操作:
更新namenode相关属性:bin/hadoop dfsadmin –refreshServiceAcl
更新jobtracker相关属性:bin/hadoopmradmin –refreshServiceAcl
(默认有10个服务,每个服务的默认值都是*,表示的就是任何的用户都可以对其进行访问。)

方法3:关闭HDFS的web页面访问,如下图,在HDFS的配置里面找到此选项,取消勾选,重启HDFS服务。
image

方法4:默认情况下,Hadoop HTTP Web控制台(ResourceManager,NameNode,NodeManagers和DataNodes)允许访问而无需任何形式的身份验证。Hadoop HTTP Web控制台支持相当于Hadoop的伪/简单身份验证。如果启用此选项,则必须使用user.name查询字符串参数在第一个浏览器交互中指定用户名。例如:http://localhost:8088/cluster?user.name=hadoop。
属性配置说明:附件1

具体实施操作如下:
4.1 创建secret目录,用于存放密钥文件,任意指定目录位置
mkdir -p /home/xxx/hadoop

4.2 编辑core-site.xml

<property>
<name>hadoop.http.filter.initializers</name>
<value>org.apache.hadoop.security.AuthenticationFilterInitializer</value>
</property>
<property>
<name>hadoop.http.authentication.type</name>
<value>simple</value>
</property>
<property>
<name>hadoop.http.authentication.token.validity</name>
<value>3600</value>
</property>
<property>
<name>hadoop.http.authentication.signature.secret.file</name>
<value>/home/xxx/hadoop/hadoop-http-auth-signature-secret</value>
<!-- 可动态配置,主从同样配置,并生成hadoop-http-auth-signature-secret文件,放到对应位置,内部为允许访问的用户,用user.name=“”访问 -->
</property>
<property>
<name>hadoop.http.authentication.cookie.domain</name>
<value></value>
</property>
<property>
<name>hadoop.http.authentication.simple.anonymous.allowed</name>
<value>false</value>
</property>

4.3 创建hadoop-http-auth-signature-secret密钥文件,添加用户,例如hadoop用户
编辑hadoop-http-auth-signature-secret

添加内容
hadoop

把core-site.xml和hadoop-http-auth-signature-secret文件同步到集群其他节点,重新启动Hadoop集群

4.4 验证
通过用户方式访问:http://IP:50070?user.name=hadoop
参考资料 https://www.cnblogs.com/zcg-cpdd/p/14525113.html


2、Hadoop YARN ResourceManager 未授权访问

漏洞名称 Hadoop YARN ResourceManager 未授权访问 CVE编号
危险等级
威胁分类 【攻击利用】非授权访问/权限绕过
漏洞描述 "
GET /ws/v1/cluster/info HTTP/1.1User-Agent: Java/1.8.0_171
Host: szds34:8088
Accept: text/html, image/gif, image/jpeg, *; q=.2, /; q=.2
Connection: keep-alive
"
该问题产生是由于管理员在配置失误所致,远程攻击者可以利用这个漏洞执行命令反弹shell等方法获取权限。由于服务器直接在开放了 Hadoop 机器 HDFS 的 50070 web 端口及部分默认服务端口,黑客可以通过命令行操作多个目录下的数据,如进行删除,下载,目录浏览甚至命令执行等操作,产生极大的危害。
远程攻击者可以利用这个漏洞执行命令反弹shell等方法获取权限,会导致服务器权限丢失,重要数据被窃取等后果。
解决办法 在HDFS上的操作
1、关闭WebHDFS
image
2、修改HDFS的端口
NameNode Web UI 端口的默认端口是50070,这里举例修改成了50071。
image

在YARN上的操作
1、修改YARN的端口
YARN的端口除了10020、19888、8032不修改,其他都修改,图中是已经修改过的例子。
image
image
修改完成后,重启HDFS和YARN。
参考资料


3、Apache Hadoop权限提升漏洞(CVE-2016-6811)

漏洞名称 Apache Hadoop权限提升漏洞(CVE-2016-6811) CVE编号 CVE-2016-6811
危险等级
威胁分类 权限、特权和访问控制
影响版本 Apache Hadoop 2.2.0~Apache Hadoop 2.7.3
安全版本
漏洞描述 Apache Hadoop是美国阿帕奇(Apache)软件基金会的一套开源的分布式系统基础架构,它能够对大量数据进行分布式处理,并具有高可靠性、高扩展性、高容错性等特点。
Apache Hadoop 2.2.0至2.7.3版本中存在权限提升漏洞,攻击者可利用漏洞升级为yarn 用户的用户,并以root用户身份运行任意命令。
解决办法 方法1:更换Hadoop版本
参考资料 1、https://avd.aliyun.com/detail?id=AVD-2016-6811
2、https://avd.aliyun.com/detail?id=AVD-2018-11766


4、Apache Hadoop远程权限提升漏洞(CVE-2018-8029)

漏洞名称 Apache Hadoop远程权限提升漏洞(CVE-2018-8029) CVE编号 CVE-2018-8029
危险等级
威胁分类
影响版本 Apache Hadoop 3.0.0-alpha1 ~ 3.1.0 版本
Apache Hadoop 2.9.0 ~ 2.9.1 版本
Apache Hadoop 2.2.0 ~ 2.8.4 版本
安全版本 Apache Hadoop 2.8.5 或更高版本
Apache Hadoop 2.9.2 或更高版本
Apache Hadoop 3.1.1 或更高版本
漏洞描述 CVE(CAN) ID:CVE-2018-8029Apache Hadoop是美国阿帕奇(Apache)软件基金会的一套开源的分布式系统基础架构。该产品能够对大量数据进行分布式处理,并具有高可靠性、高扩展性、高容错性等特点。在Apache Hadoop 3.0.0-alpha1到3.1.0版本、2.9.0到2.9.1版本、2.2.0到2.8.4版本中,存在一个远程权限提升漏洞。如果攻击者可以升级为yarn用户,则能以root用户身份运行任意命令。
解决办法 方法1:更换Hadoop版本
参考资料 1、https://cloud.tencent.com/announce/detail/601
2、https://avd.aliyun.com/detail?id=AVD-2018-8029


5、Apache Hadoop 安全漏洞(CVE-2018-8009)

漏洞名称 Apache Hadoop 安全漏洞(CVE-2018-8009) CVE编号 CVE-2018-8009
危险等级
威胁分类 对路径名的限制不恰当(路径遍历)
影响版本 Apache Hadoop 3.1.0
3.0.0-alpha3.0.2<br>2.9.02.9.1
2.8.02.8.4<br>2.0.0-alpha2.7.6
0.23.0~0.23.11
安全版本
漏洞描述 Apache Hadoop 3.1.0,3.0.0-alpha到3.0.2,2.9.0到2.9.1,2.8.0到2.8.4,2.0.0-alpha到2.7.6,0.23.0到0.23.11是可以在接受zip文件的地方通过zip slip漏洞利用。
解决办法 目前厂商已发布升级补丁以修复漏洞,补丁获取链接:
https://hadoop.apache.org/cve_list.html#cve-2018-8009-http-cve-mitre-org-cgi-bin-cvename-cgi-name-cve-2018-8009-zip-slip-impact-on-apache-hadoop
参考资料 https://avd.aliyun.com/detail?id=AVD-2018-8009


6、Apache Hadoop 安全漏洞(CVE-2018-1296)

漏洞名称 Apache Hadoop 安全漏洞(CVE-2018-1296) CVE编号 CVE-2018-1296
危险等级
威胁分类 信息暴露
影响版本 Apache Hadoop 3.0.0-alpha13.0.0<br>2.9.0<br>2.8.02.8.3
2.5.0~2.7.5
安全版本
漏洞描述 在Apache Hadoop 3.0.0-alpha1到3.0.0,2.9.0,2.8.0到2.8.3和2.5.0到2.7.5中,HDFS在listXAttrs期间公开扩展属性键或者值对,仅验证路径级搜索对目录的访问权限,而不是对引用对象的路径级读取权限。
解决办法 厂商已发布了漏洞修复程序,请及时关注更新:
https://hadoop.apache.org/cve_list.html#cve-2018-8009-http-cve-mitre-org-cgi-bin-cvename-cgi-name-cve-2018-8009-zip-slip-impact-on-apache-hadoop
参考资料 https://avd.aliyun.com/detail?id=AVD-2018-1296


7、Apache Hadoop 输入验证漏洞(CVE-2017-3162)

漏洞名称 Apache Hadoop 输入验证漏洞(CVE-2017-3162) CVE编号 CVE-2017-3162
危险等级
威胁分类 输入验证不恰当
影响版本 Apache Hadoop 2.6.x及之前版本
安全版本
漏洞描述 Hadoop是Apache软件基金会所研发的开放源码并行运算编程工具和分散式档案系统。
Apache Hadoop 2.6.x及之前版本中存在安全漏洞。攻击者可通过提交恶意的输入利用该漏洞绕过输入验证保护机制。
解决办法 目前厂商已经发布了升级补丁以修复此安全问题,补丁获取链接:
http://mail-archives.apache.org/mod_mbox/hadoop-common-dev/201704.mbox/<CACO5Y4zUyP7-znomom9NJFTxAzG%2B_RjmjCqeF0CQoogVMzL9Dg%40mail.gmail.com>
参考资料 https://avd.aliyun.com/detail?id=AVD-2017-3162


8、Apache Hadoop 安全漏洞(CVE-2017-15713)

漏洞名称 Apache Hadoop 安全漏洞(CVE-2017-15713) CVE编号 CVE-2017-15713
危险等级
威胁分类 信息暴露
影响版本 Apache Hadoop 0.23.x
2.x(2.7.5)之前版本
2.8.x(2.8.3之前版本)
3.0.0-alpha~3.0.0-beta1
安全版本
漏洞描述 Apache Hadoop 0.23.x、2.x(2.7.5)之前版本、2.8.x(2.8.3之前版本)以及3.0.0-alpha至3.0.0-beta1中的漏洞允许集群用户公开运行MapReduce作业历史记录服务器进程的用户所拥有的私有文件。恶意用户可以构造一个配置文件,其中包含引用MapReduce作业历史记录服务器主机上敏感文件的XML指令。
解决办法 厂商已发布漏洞修复程序,请及时关注更新:
https://lists.apache.org/thread.html/a790a251ace7213bde9f69777dedb453b1a01a6d18289c14a61d4f91@<general.hadoop.apache.org>
参考资料 1、https://nvd.nist.gov/vuln/detail/CVE-2017-15713
2、https://avd.aliyun.com/detail?id=AVD-2017-15713


9、Apache Hadoop 远程权限提升漏洞(CVE-2016-5393)

漏洞名称 Apache Hadoop 远程权限提升漏洞(CVE-2016-5393) CVE编号 CVE-2016-5393
危险等级
威胁分类 访问控制不恰当
影响版本 Apache Hadoop 2.6.5之前的2.6.x版本
2.7.3之前的2.7.x版本
安全版本
漏洞描述 Apache Hadoop是美国阿帕奇(Apache)软件基金会的一套开源的分布式系统基础架构,它能够对大量数据进行分布式处理,并具有高可靠性、高扩展性、高容错性等特点。
Apache Hadoop 2.6.5之前的2.6.x版本和2.7.3之前的2.7.x版本中存在任意命令执行漏洞。远程攻击者可利用该漏洞运行任意命令。
解决办法 目前厂商已经发布了升级补丁以修复此安全问题,补丁获取链接:
http://mail-archives.apache.org/mod_mbox/hadoop-general/201611.mbox/<CAA0W1bTbUmUUSF1rjRpX-2DvWutcrPt7TJSWUcSLg1F0gyHG1Q%40mail.gmail.com>
参考资料 https://avd.aliyun.com/detail?id=AVD-2016-5393


10、Apache Hadoop MapReduce信息泄露漏洞(CVE-2015-1776)

漏洞名称 Apache Hadoop MapReduce信息泄露漏洞(CVE-2015-1776) CVE编号 CVE-2015-1776
危险等级
威胁分类 信息暴露
影响版本 2.6.0、2.6.1、2.6.2、2.6.3、2.6.4
安全版本
漏洞描述 Apache Hadoop是美国阿帕奇(Apache)软件基金会的一套开源的分布式系统基础架构,它能够对大量数据进行分布式处理,并具有高可靠性、高扩展性、高容错性等特点。
Apache Hadoop中存在信息泄露漏洞。允许攻击者利用该漏洞获取敏感信息的访问权限。
解决办法 目前厂商已经发布了升级补丁以修复此安全问题,详情请关注厂商主页:
http://httpd.apache.org/
参考资料 https://avd.aliyun.com/detail?id=AVD-2015-1776


11、Apache Hadoop跨站脚本漏洞(CVE-2017-3161)

漏洞名称 Apache Hadoop跨站脚本漏洞(CVE-2017-3161) CVE编号 CVE-2017-3161
危险等级
威胁分类 在Web页面生成时对输入的转义处理不恰当(跨站脚本)
影响版本 Apache Hadoop 2.7.0之前的版本
安全版本
漏洞描述 Apache Hadoop是支持数据密集型分布式应用并以Apache 2.0许可协议发布的软件框架。
Apache Hadoop 2.7.0之前的版本存在跨站脚本漏洞。远程攻击者可以利用该漏洞通过未转义的查询参数,执行跨站脚本攻击。
解决办法 用户可参考如下厂商提供的安全补丁以修复该漏洞:
https://s.apache.org/4MQm
参考资料 1、https://nvd.nist.gov/vuln/detail/CVE-2017-3161
2、https://avd.aliyun.com/detail?id=AVD-2017-3161


12、Apache Hadoop信息泄露漏洞(CVE-2016-3086)

漏洞名称 Apache Hadoop信息泄露漏洞(CVE-2016-3086) CVE编号 CVE-2016-3086
危险等级
威胁分类 信息暴露
影响版本 2.6.0、2.6.1、2.6.2、2.6.3、2.6.4、2.7.0、2.7.1、2.7.2
安全版本
漏洞描述 Apache Hadoop是美国阿帕奇(Apache)软件基金会的一套开源的分布式系统基础架构,它能够对大量数据进行分布式处理,并具有高可靠性、高扩展性、高容错性等特点。
Apache Hadoop中存在信息泄露漏洞。攻击者可利用该漏洞获取敏感信息的访问权限。
解决办法 目前厂商已经发布了升级补丁以修复此安全问题,详情请关注厂商主页:
http://hadoop.apache.org/
参考资料 1、https://avd.aliyun.com/detail?id=AVD-2016-3086
2、https://nvd.nist.gov/vuln/detail/CVE-2016-3086


13、Hadoop yarn rpc服务未授权访问漏洞(CNVD-2021-101525)【原理扫描】

漏洞名称 Hadoop yarn rpc服务未授权访问漏洞(CNVD-2021-101525)【原理扫描】 CVE编号
危险等级
威胁分类
影响版本 全版本
安全版本
漏洞描述 Apache Hadoop YARN (Yet Another Resource Negotiator)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。
Hadoop Yarn默认对外开放RPC服务,攻击者可利用RPC服务执行任意命令,进而控制服务器。同时由于Hadoop Yarn RPC服务访问控制机制开启方式与REST API不一样,因此即使在 REST API有授权认证的情况下,RPC服务所在端口仍然可以未授权访问。
解决办法 (临时修复建议)
Apache Hadoop官方建议用户开启Kerberos认证。
设置 Hadoop RPC服务所在端口仅对可信地址开放。
建议升级并启用Kerberos的认证功能,阻止未经授权的访问。
参考资料 https://blog.csdn.net/weixin_44309905/article/details/121467347


14、Apache Hadoop 信息泄露漏洞(CVE-2016-5001)

漏洞名称 Apache Hadoop 信息泄露漏洞(CVE-2016-5001) CVE编号 CVE-2016-5001
危险等级
威胁分类 信息暴露
影响版本 Apache Hadoop 2.6.4 之前版本
2.7.x 版本低于 2.7.2 版本
安全版本
漏洞描述 这是 HDFS 短路读取功能中 Apache Hadoop 2.6.4 之前版本和 2.7.x 版本低于 2.7.2 版本的信息泄露漏洞。HDFS DataNode 上的本地用户可能能够创建一个块令牌,通过猜测令牌中的某些字段来授予对随机文件的未经授权的读取访问权限。
解决办法 用户可联系供应商获得补丁信息:
http://hadoop.apache.org/
参考资料 1、https://nvd.nist.gov/vuln/detail/CVE-2016-5001
2、https://avd.aliyun.com/detail?id=AVD-2016-5001



Hive漏洞

1、Apache Hive信息泄露漏洞(CVE-2017-12625)

漏洞名称 Apache Hive信息泄露漏洞(CVE-2017-12625) CVE编号 CVE-2017-12625
危险等级
威胁分类
影响版本 Apache Group Hive 2.1.0-2.3.0
安全版本
漏洞描述 Apache Hive是一个建立在Hadoop架构之上的数据仓库。它能够提供数据的精炼,查询和分析。
Hive 2.1.0-2.3.0版本通过视图表定义掩蔽策略时存在安全漏洞,导致在表中对掩蔽列正确实现策略失败。
解决办法 厂商补丁:
Apache Group
------------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://hive.apache.org/
https://git1-us-west.apache.org/repos/asf?p=hive.git;a=commit;h=0e795debddf261b0ac6ace90e2d774f9a99b7f4b
https://git1-us-west.apache.org/repos/asf?p=hive.git;a=commit;h=6db9fd6e43f6eef3c9d1ca8e324b2edaa54fb0d3
参考资料 1、https://nvd.nist.gov/vuln/detail/CVE-2016-5001
2、https://avd.aliyun.com/detail?id=AVD-2016-5001


2、Apache Hive 信息泄露安全漏洞(CVE-2018-1314)

漏洞名称 Apache Hive 信息泄露安全漏洞(CVE-2018-1314) CVE编号 CVE-2018-1314
危险等级
威胁分类
影响版本 Apache Group Hive <= 3.1.0
Apache Group Hive 2.3.3
安全版本
漏洞描述 Apache Hive是一套基于Hadoop(分布式系统基础架构)的数据仓库软件。
Apache Hive 2.3.3和3.1.0及之前的版本,由于Hive‘EXPLAIN’操作没有正确验证查询的权限,在实现上存在安全漏洞,攻击者可利用该漏洞对任意表或视图执行‘EXPLAIN’并泄露表元数据和统计信息。
解决办法 厂商补丁:
Apache Group
------------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
https://lists.apache.org/thread.html/3da47dbcbf09697387f29d2f1aed970523b6b334d93afd3cced23727@%3Cdev.hive.apache.org%3E
参考资料 http://www.nsfocus.net/vulndb/41880


3、Apache Hive 访问验证安全漏洞(CVE-2018-11777)

漏洞名称 Apache Hive 访问验证安全漏洞(CVE-2018-11777) CVE编号 CVE-2018-11777
危险等级
威胁分类
影响版本 Apache Group Hive <= 3.1.0
Apache Group Hive 2.3.3
安全版本
漏洞描述 Apache Hive是一套基于Hadoop(分布式系统基础架构)的数据仓库软件。
Apache Hive 2.3.3和3.1.0及之前的版本,在HiveServer2服务实现中存在安全漏洞。若未使用ranger, sentry, sql标准认证,攻击者可利用该漏洞访问本地资源。
解决办法 厂商补丁:
Apache Group
------------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
https://lists.apache.org/thread.html/963c8e2516405c9b532b4add16c03b2c5db621e0c83e80f45049cbbb@%3Cdev.hive.apache.org%3E
参考资料 http://www.nsfocus.net/vulndb/41884


附件1

属性名称 默认值 描述
hadoop.http.filter.initializers 将org.apache.hadoop.security.AuthenticationFilterInitializer初始化类添加到此属性
hadoop.http.authentication.type simple 定义用于HTTP Web控制台的身份验证,支持的值是: simple | kerberos
hadoop.http.authentication.token.validity 36000 指示身份验证令牌在必须更新之前有效的时间(以秒为单位)
hadoop.http.authentication.token.max-inactive-interval -1 (disabled) 指定客户端请求之间的时间(以秒为单位),服务器将使令牌失效
hadoop.http.authentication.signature.secret.file $user.home/hadoop-http-auth-signature-secret 用于签署身份验证令牌的签名密钥文件,集群中的所有节点、ResourceManager、NameNode、DataNode和NodeManager都应该使用相同的密钥,只有运行守护进程的Unix用户才能读取该文件
hadoop.http.authentication.cookie.domain 用于存储身份验证令牌的HTTP Cookie的域,要使身份验证在集群中的所有节点上正确工作,必须正确设置域。没有默认值,HTTP Cookie将不会有只与发出HTTP Cookie的主机名一起工作的域
hadoop.http.authentication.cookie.persistent false (session cookie) 指定HTTP Cookie的持久性,如果值为真,则Cookie是持久的。否则,它就是会话Cookie。重要提示:当使用IP地址时,浏览器会忽略带有域设置的Cookie。要使此设置正常工作,集群中的所有节点都必须配置为生成具有主机名的url,上面有域名
hadoop.http.authentication.simple.anonymous.allowed TRUE 指示在使用“简单”身份验证时是否允许匿名请求
hadoop.http.authentication.kerberos.principal HTTP/_HOST@$LOCALHOST 指示在使用“Kerberos”身份验证时将Kerberos主体用于HTTP端点。根据Kerberos HTTP SPNEGO规范,主体短名称必须是HTTP。如果存在,则用HTTP服务器的绑定地址替换_HOST
hadoop.http.authentication.kerberos.keytab $user.home/hadoop.keytab 带有用于HTTP端点的Kerberos主体凭证的keytab文件的位置


参考资料
下载地址:https://hadoop.apache.org/releases.html

【漏洞参考】

[1]官方通告:https://hadoop.apache.org/cve_list.html

[2]社区参考:https://www.openwall.com/lists/oss-security/2019/05/30/1

CVE-2018-11765https://www.cnhackhy.com/96262.htm

posted @   长安-TreeHole  阅读(553)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
点击右上角即可分享
微信分享提示