参考:CDH6.3.2Hadoop默认配置下存在未授权漏洞,禁止匿名访问 - 民宿 - 博客园
这段时间公司的运维大佬扫描安全漏洞的时候,发现有漏洞会被攻击,原因是没有新增用户校验,允许匿名去访问。这样的话。可以操作HDFS和Yarn上任何的资源和数据。
所以对集群进行打补丁。
访问HDFS和Yarn加一个身份认证。
1、在NameNode节点和RM节点新增一个秘钥文件。
把用户后缀写进去
2、在CDH里配置core-site.xml
参考链接里有说用 下面的,发现不下发配置文件
所以使用以下这个。
3、为HDFS增加身份验证
我尝试直接更改这个节点的
/etc/hadoop/core-site.xml文件
/etc/hadoop/conf.cloudera.hdfs/core-site.xml文件
/etc/hadoop/conf.cloudera.yarn/core-site.xml文件
然后重启NameNode,发现并没有生效,只有通过CDH页面进行更改了。
HDFS配置
<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.signature.secret.file</name>
<value>/目录位置/hadoop_http_secret</value>
</description>
</property>
<property>
<name>hadoop.http.authentication.simple.anonymous.allowed</name>
<value>false</value>
</property>
<property>
<name>hadoop.http.authentication.token.max-inactive-interval</name>
<value>60</value>
</property>
确定配置不要全局下发,部署客户端配置,全局下发发现很多其他服务(impala)无法使用。
直接重启Namenode,即可下发配置
4、为Yarn增加身份验证
yarn配置。
<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.signature.secret.file</name>
<value>/opt/yarn_http_secret</value>
</property>
<property>
<name>hadoop.http.authentication.simple.anonymous.allowed</name>
<value>false</value>
</property>
<property>
<name>hadoop.http.authentication.token.max-inactive-interval</name>
<value>60</value>
</property>
和Namenode一样,确定配置不要全局下发,部署客户端配置,全局下发发现很多其他服务(impala)无法使用。
之后就可以访问了,请看效果
打个比方
我的hadoop秘钥是ABC
Yarn秘钥写的是DEF
那么这么访问
HDFS: http://master01:9550/?user.name=ABC
Yarn: http://master01:8088/cluster?user.name=DEF
HDFS:
会出现的问题
因为增加了验证,所以CM服务和监控,去看web的时候,会无法通信。