Hadoop 未授權訪問【原理掃描】及Apache Hadoop YARN 資源管理器 REST API未授權訪問漏洞【原理掃描】修復記錄


Hadoop相關未授權訪問漏洞風險較高且使用hadoop的用戶比較多,經常在安全檢查用遇到這兩個漏洞。

修復方法也就是按綠盟掃描器提供的方法:

一、對於Apache Hadoop YARN 資源管理器 REST API未授權訪問漏洞【原理掃描】:

方法1.在防火牆上設置“安全組”訪問控制策略,將 HadoopWebUI(8088) 等相關端口限制可信任的 IP 地址才能訪問。

方法22.將默認認證方法改為KerBeros認證。

但我目前遇到過的管理員沒有願意將hadoop采用KerBeros認證的,看了一下KerBeros的認證機制以及大佬們的總結,明白了大家不願意使用KerBeros認證的原因:

① Hadoop集群節點數多,配置和維護一個使用kerberos系統高性能,穩定的hadoop集群難度非常高。
② Hadoop中的hdfs是一個文件系統,用戶的認證和授權比較復雜,難度不低於linux系統的用戶和組管理。加上kerberos后,用戶和用戶組的管理更加復雜,通常一個合適的用戶不能訪問hdfs上的文件。
③ Hadoop加上kerberos后,通常原來的用戶和文件,可能都失效導致數據流失。尤其是一些根目錄,往往需要格式化整個系統才能使用。增加一個新用戶也是比較難的。因為要考慮各個節點間的訪問權限。

總之就是操作起來太過復雜,不方便管理,限制端口訪問相比之下操作相當簡單了。

二、對於Hadoop相關未授權訪問漏洞:

方法1.在防火牆限制可信任IP才可訪問50070端口。

方法2.開啟身份驗證 ,防止未經授權用戶訪問。

① 開啟服務級認證授權,需要在core-site.xml文件中開啟參數hadoop.security.authorization,將其設置為true,並且重啟hadoop。

<property>  
  <name>hadoop.security.authorization</name>  
  <value>true</value>  
</property>  

(hadoop.security.authorization若為false則不經過任何驗證,所有用戶擁有全部權限)
② 針對具體的各個服務的認證,在配置文件hadoop-policy.xml中對各個服務屬性配置用戶或組。
目前只需要針對客戶端哪些用戶能夠訪問namenode即可,即修改參數security.client.protocol.acl和security.job.submission.protocol.acl的值。

每次修改hadoop-policy.xml中的值,要執行刷新操作:
更新namenode相關屬性:bin/hadoop dfsadmin –refreshServiceAcl
更新jobtracker相關屬性:bin/hadoopmradmin –refreshServiceAcl

(默認有10個服務,每個服務的默認值都是*,表示的就是任何的用戶都可以對其進行訪問。)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM