Hadoop&hbase监控页面未授权访问漏洞处理方案验证过程实现

  • A+
所属分类:网络安全

Hadoop&hbase监控页面未授权访问漏洞处理方案验证

Hadoop:监控页面授权登录配置步骤:

1 页面弹出框授权

1.1页面弹出框授权配置

1.上传附件的jar包hadoop-http-auth-e3base.jar到$HADOOP_HOME/share/hadoop/common目录下

并分发到另外两台主机

2.修改$HADOOP_HOME/etc/hadoop/core-site.xml增加相关配置

<!–Hadoop 弹出框方式增加用户密码校验–>

<property>

<name>hadoop.http.filter.initializers</name>

<value>org.apache.hadoop.security.AuthenticationFilterInitializer</value>

</property>

<property>

<name>hadoop.http.authentication.type</name>

<value>org.apache.hadoop.security.authentication.server.SitechAuthenticationHandler</value>

</property>

<property>

<name>hadoop.http.authentication.token.validity</name>

<value>3600</value>

</property>

<property>

<name>hadoop.http.authentication.sitech.staticuser.user

<value>e3base:Abcd1234

</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>

其中

hadoop.http.authentication.sitech.staticuser.user的值为 :<用户名>:<密码>

注:由于用户名和密码是用冒号作为分割,所以设置的用户名中不能有冒号,设置的密码中也不能包含有冒号,否则无法识别。且登陆的用户,只能设置一个

3.将core-site.xml分发到hadoop集群的其他主机上

4.重启hadoop

1.2 页面弹出框授权验证

修改完后,进入监控页面需要输入对应的用户名和密码,正确后才会登陆到监控页面

适用于:namenode、datanode、resourcemanager、nodemanager、jobhistory

1.3 注意事项

退出登陆:需要清空浏览器的登陆状态和cookie

2 页面simple类型授权

haodoop的监控页面授权种类,可作为拓展了解。http授权有三种,simple、kerberos、自定义

2.1 http simple授权配置

1.在core-site.xml中增加如下配置

<!–hadoop http simple方式 增加用户密码校验–>

<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>$HADOOP_HOME/etc/hadoop/hadoop-http-auth-signature-secret</value>

</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>

其中hadoop.http.authentication.type有三种:simple|kerberos|自定义类

其中hadoop.http.authentication.token.validity为登陆有效时长,单位为秒

其中hadoop.http.authentication.signature.secret.file这个是要设定secret file存放的绝对路径,

需要创建该文件,且保证hdfs和yarn的进程在启动时可以读到该文件(其中/e3base/testupgrade/cdh550/hadoop/为$HADOOP_HOME)

2.创建上文中对应的hadoop-http-auth-signature-secret文件,并且在其中添加一行如:e3base

3.scp core-site.xml 和 hadoop-http-auth-signature-secret到其余机器

4.重启hadoop

2.2 http simple授权校验

重启后可以发现hadoop的namenode(已经修改端口为8270)无法直接登陆

但是使用http://192.168.228.147:12003/?user.name=e3base即可登陆(会自动跳转)

同样的 datanode、resourcemanager、nodemanager也是url后需要增加 ?user.name参数

注:

1.如果要注销登陆,则需要清空浏览器的缓存和cookie

2.jobhistory的19888端口可以使用此授权

2.3 注意事项

1.在hadoop-http-auth-signature-secret中只指定了e3base用户,但是如果user.name参数的值是其他值的话也可以成功登陆。故使用自定义授权,即本文开始介绍的用户名密码登陆的授权验证。

Hbase: 监控页面授权登录配置

1.页面弹出框授权

1.1 配置步骤

1.上传jar包hbase-http-auth-e3base.jar到hbase集群主机上的HBASEHOME/lib/目录下并分发到集群其它主机2.修改配置文件 HBASE_HOME/lib/目录下并分发到集群其它主机 2.修改配置文件HBASE 

H

 OME/lib/目录下并分发到集群其它主机2.修改配置文件HBASE_HOME/conf/hbase-site.xml增加

<!–HBASE 弹出框方式增加用户密码校验–>

<property>

<name>hbase.http.sitech.staticuser.user</name>

<value>e3base:Abcd1234</value>

</property>

<property>

<name>hbase.http.filter.initializers</name>

<value>org.apache.hadoop.hbase.http.lib.StaticUserWebFilter,org.apache.hadoop.hbase.http.lib.SitechStaticUserWebFilter</value>

</property>

注:由于用户名和密码是用冒号作为分割,所以设置的用户名中不能有冒号,设置的密码中也不能包含有冒号,否则无法识别。且登陆的用户,只能设置一个

3.分发配置文件

4.重启hbase

1.2 鉴权验证

进入到hbase

URL:

http://192.168.228.147:14002/master-status

输入完用户名/密码后(目前配置的是e3base/Abcd1234)

即可正常登陆

同样的,针对于regionserver也同样有效。

1.3注意事项

1.退出登陆:需要清空浏览器的登陆状态和cookie

2.Hbase涉及的监控端口及配置位置

在hbase-site.xml配置有 14001—14004端口

--------------------- 

作者:栀子 

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: