zoukankan      html  css  js  c++  java
  • Hadoop 未授权访问漏洞

    Hadoop是一个由Apache基金会所开发的分布式系统基础架构,由于服务器直接在开放了 Hadoop 机器 HDFS 的 50070 web 端口及部分默认服务端口,黑客可以通过命令行操作多个目录下的数据,如进行删除,下载,目录浏览甚至命令执行等操作。在默认情况下,Hadoop允许任意用户访问管理接口。

    环境搭建

    cd /vulhub/hadoop/unauthorized-yarn

    docker-compose up -d

    环境启动后,访问http://your-ip:8088即可看到Hadoop YARN ResourceManager WebUI页面。

    http://IP:8088/cluster

    利用过程

    通过REST API命令执行

    利用过程:

    在本地监听端口 > 创建Application > 调用Submit Application API提交

    1. 本机监听        nc -lvvp 9999
    2. 通过脚本反弹

    解决方法

    1. 配置Service Level Authorization

    修改core-site.xml

    <property> 

     <name>hadoop.security.authorization</name> 

      <value>true</value> 

    </property> 

    hadoop.security.authorization=true则开启ServiceLevel Authorization,若为false则不经过任何验证,所有用户拥有全部权限。(修改此配置需要重启hadoop)

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

    <property> 

      <name>security.job.submission.protocol.acl</name> 

      <value>alice,bobgroup1,group2</value> 

    </property> 

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

    该配置文件可使用以下命令动态加载:

    (1)    更新namenode相关属性:bin/hadoop dfsadmin –refreshServiceAcl

    (2)    更新jobtracker相关属性:bin/hadoopmradmin –refreshServiceAcl

    2、如无必要, 关闭 Hadoop Web 管理⻚面。

    3、开启身份验证 ,防止未经授权用户访问。

    设置“安全组”访问控制策略,将 Hadoop 默认开放的多个端口对公网全部禁止或限制可信任的 IP 地址才能访问包括 50070 以及 WebUI 等相关端口。

    知识要大家一起分享,但带上原文链接是对作者的尊重。
  • 相关阅读:
    移动端兼容
    三点优化
    面向对象(一)
    BootCDN和npm
    分页逻辑
    多物体运动框架
    兼容样式
    省略
    行内元素在水平和垂直排列的时候会有间距
    [Swift]LeetCode1053.交换一次的先前排列 | Previous Permutation With One Swap
  • 原文地址:https://www.cnblogs.com/zhaijiahui/p/14638182.html
Copyright © 2011-2022 走看看