1. 程式人生 > >Hadoop&hbase監控頁面未授權訪問漏洞處理方案驗證過程實現

Hadoop&hbase監控頁面未授權訪問漏洞處理方案驗證過程實現

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

輸入完使用者名稱/密碼後(目前配置的是e3base/Abcd1234) 即可正常登陸 同樣的,針對於regionserver也同樣有效。 1.3注意事項 1.退出登陸:需要清空瀏覽器的登陸狀態和cookie 2.Hbase涉及的監控埠及配置位置 在hbase-site.xml配置有 14001—14004埠