- 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端口
---------------------
作者:栀子
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫