Hadoop生態(tài)漏洞修復記錄(轉)

版權聲明:本文為CSDN博主「不會吐絲的蜘蛛俠拾弃】酱埽」的原創(chuàng)文章陌宿,遵循CC 4.0 BY-SA版權協(xié)議,轉載請附上原文出處鏈接及本聲明忱屑。
原文鏈接:https://blog.csdn.net/manweizhizhuxia/article/details/129809159


Hadoop常用端口介紹

HDFS
    NameNode
        50070   dfs.namenode.http-address   http服務的端口
        50470   dfs.namenode.https-address  https服務的端口
    DataNode
        50010   dfs.datanode.address    datanode服務端口蹬敲,用于數據傳輸
        50075   dfs.datanode.http.address   http服務的端口
        50475   dfs.datanode.https.address  https服務的端口
        50020   dfs.datanode.ipc.address    ipc服務的端口
        8020    fs.defaultFS    接收Client連接的RPC端口,用于獲取文件系統(tǒng)metadata信息莺戒。
    journalnode
        8485    dfs.journalnode.rpc-address     RPC服務
        8480    dfs.journalnode.http-address    HTTP服務
    ZKFC
        8019    dfs.ha.zkfc.port    ZooKeeper FailoverController伴嗡,用于NN HA
   YARN
    ResourceManager
        8032  yarn.resourcemanager.address    RM的applications manager(ASM)端口
        8030  yarn.resourcemanager.scheduler.address  scheduler組件的IPC端口
        8031  yarn.resourcemanager.resource-tracker.address   IPC
        8033  yarn.resourcemanager.admin.address  IPC
        8088  yarn.resourcemanager.webapp.http.address.rm1     http服務端口
        8090  yarn.resourcemanager.webapp.https.address.rm1     https服務端口
    NodeManager
        8040  yarn.nodemanager.localizer.address  localizer IPC
        8042  yarn.nodemanager.webapp.address     http服務端口
        8041  yarn.nodemanager.address    NM中container manager的端口
    JobHistory Server
        10020     mapreduce.jobhistory.address    IPC
        19888     mapreduce.jobhistory.webapp.address     http服務端口,加個s就是https服務端口https://192.168.56.43:19888/jobhistory/logs


HBase

    Master
        60000     hbase.master.port   IPC
        60010     hbase.master.info.port  http服務端口
    RegionServer
        60020     hbase.regionserver.port     IPC
        60030     hbase.regionserver.info.port    http服務端口


Hive

    Metastore
        9083  metastore默認連接端口
    HiveServer
        10000   hiveserver2 默認連接端口     
        10002   hiveserver2 默認web端口     


ZooKeeper
    Server
        2181  /etc/zookeeper/conf/zoo.cfg  客戶端提供服務的端口
        2888  /etc/zookeeper/conf/zoo.cfg  follower用來連接到leader,只在leader上監(jiān)聽該端口从铲。
        3888  /etc/zookeeper/conf/zoo.cfg  用于leader選舉的瘪校。只在electionAlg是1,2或3(默認)時需要。
        8080  /etc/zookeeper/conf/zoo.cfg  web管理后端名段,可禁用阱扬,添加一行admin.serverPort=0


Hadoop相關漏洞
漏洞一:
端口:8088
協(xié)議:TCP
服務:radan-http
漏洞:
Apache Hadoop YARN 資源管理器 REST API未授權訪問漏洞【原理掃描】
官方建議修復方案:
臨時解決方案:
通過系統(tǒng)內置防火墻只允許端口被業(yè)務主機訪問
廠商解決方案:
更新Hadoop到2.X以上版本并啟用Kerberos認證功能,禁止匿名訪問
https://hadoop.apache.org/releases.html

不接受官方建議修復方案:
默認情況下吉嫩,Hadoop HTTP Web控制臺(ResourceManager价认,NameNode嗅定,NodeManagers和DataNodes)是允許無需任何形式的身份驗證的訪問自娩。
HDFS一般會開啟kerberos認證,但是YARN一般不開啟kerberos認證
方案一:如果開啟了kerberos認證:
就是core-site.xml有以下配置:

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

1渠退、yarn 的8088是ResourceManager的web界面
2忙迁、hdfs 的50070是NameNode的web界面
3、將yarn的端口8088訪問從http改為https端口號8090碎乃,
將hdfs的端口50070訪問從http改為https端口號50470姊扔,
也可以掃不到。
修改hdfs-site.xml梅誓,恰梢,新增 以下配置佛南。注意是https,和集群名更改

<property>
    <name>dfs.http.policy</name>
    <value>HTTPS_ONLY</value>
</property>
<property>
    <name>dfs.namenode.https-address.bigdata.nn1</name>
    <value>192.168.56.41:50470</value>
</property>
<property>
    <name>dfs.namenode.https-address.bigdata.nn2</name>
    <value>192.168.56.42:50470</value>
</property>
<property>
    <name>dfs.datanode.https.address</name>
    <value>0.0.0.0:50475</value>
</property>

修改yarn-site.xml,嵌言,新增 以下配置嗅回。注意是https

<!-- resourcemanager配置https -->
<property>
    <name>yarn.resourcemanager.webapp.https.address.rm1</name>
    <value>192.168.56.41:8090</value>
</property>
<property>
    <name>yarn.resourcemanager.webapp.https.address.rm2</name>
    <value>192.168.56.42:8090</value>
</property>
<!-- nodemanager配置https -->
<property>
    <name>yarn.nodemanager.webapp.https.address</name>
    <value>0.0.0.0:8042</value>
</property>
<!-- jobhistory如果之前有配置,只需在原配置http加個s變成https即可 -->
<property>
    <name>yarn.log.server.url</name>
    <value>https://192.168.56.43:19888/jobhistory/logs</value>
</property>
 <!-- 這會為YARN守護程序配置HTTP端點摧茴。支持以下值: - HTTP_ONLY:僅在http上提供服務 - HTTPS_ONLY:僅在https上提供服務 -->
<property>
    <name>yarn.http.policy</name>
    <value>HTTPS_ONLY</value>
</property>

3绵载、升級后重啟resourcemanager,nodemanager苛白,娃豹,訪問 https://192.168.56.41:8090/cluster

4、如果使用nginx配置域名訪問 https://yarn-test.com/cluster
其中域名證書购裙,通過手動簽發(fā)生成懂版。生成證書
/etc/nginx/cert/tls-yarn.key;
/etc/nginx/cert/tls-yarn.crt;

server {
  listen    443 ssl;
  server_name yarn-test.com;
  location / {
    deny all;
  }
  ssl_certificate      /etc/nginx/cert/tls-yarn.crt;
  ssl_certificate_key  /etc/nginx/cert/tls-yarn.key;
  ssl_session_timeout  5m;
  location /cluster {
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_http_version 1.1;
    proxy_set_header Host yarn-test.com;
    proxy_set_header X-Forwarded-Proto https;
    proxy_set_header X-Forwarded-Port $server_port;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwaeded-Proto https;
    proxy_pass https://yarn-test.com;
  }
  location /static {
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_http_version 1.1;
    proxy_set_header Host yarn-test.com;
    proxy_set_header X-Forwarded-Proto https;
    proxy_set_header X-Forwarded-Port $server_port;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwaeded-Proto https;
    proxy_pass https://yarn-test.com;
  }
  location /proxy {
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_http_version 1.1;
    proxy_set_header Host yarn-test.com;
    proxy_set_header X-Forwarded-Proto https;
    proxy_set_header X-Forwarded-Port $server_port;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwaeded-Proto https;
    proxy_pass https://yarn-test.com;
  }
}
# yarn-resourcemanager服務器,配active那臺
upstream yarn-test.com {
   server 192.168.56.41:8090;
}

方案二:開啟Hadoop的偽/簡單身份驗證
1、修改core-site.xml這幾個配置

<!-- -->
<property>
    <name>hadoop.security.authorization</name>
    <value>true</value>
</property>
<!-- 定義用于HTTP web控制臺的身份驗證躏率。支持的值是:simple | kerberos | #AUTHENTICATION_HANDLER_CLASSNAME# -->
<property>
   <name>hadoop.http.authentication.type</name>
   <value>simple</value>
</property>
<!--初始化類 -->
<property>
   <name>hadoop.http.filter.initializers</name>
   <value>org.apache.hadoop.security.AuthenticationFilterInitializer</value>
</property>
<!-- 
    簽名秘密文件定续,用于對身份驗證令牌進行簽名。
    對于集群中的每個服務禾锤,ResourceManager, NameNode, DataNode和NodeManager私股,可以使用相同的secret。
    這個文件應該只有運行守護進程的Unix用戶可以讀恩掷。 
    -->
<property>
    <name>hadoop.http.authentication.signature.secret.file</name>
    <value>/opt/hadoop/secret/hadoop-http-auth-signature-secret</value>
</property>
<!-- 指示在使用“簡單”身份驗證時是否允許匿名請求倡鲸。 -->
<property>
    <name>hadoop.http.authentication.simple.anonymous.allowed</name>
    <value>false</value>
</property>

2、/opt/hadoop/secret/hadoop-http-auth-signature-secret 文件寫入
hadoop
3黄娘、重啟HDFS和YARN
4峭状、在訪問路徑后面加user.name參數,逼争,如:
http://192.168.56.41:50070?user.name=hadoop
http://192.168.56.41:8088?user.name=hadoop

zookeeper相關漏洞
漏洞一:
端口:2181
協(xié)議:TCP
服務:zookeeper
漏洞:
ZooKeeper 未授權訪問【原理掃描】
官方建議修復方案:
為ZooKeeper配置相應的訪問權限优床。
方式一:
1)增加一個認證用戶
addauth digest 用戶名:密碼明文
eg. addauth digest user1:password1
2)設置權限
setAcl /path auth:用戶名:密碼明文:權限
eg. setAcl /test auth:user1:password1:cdrwa
3)查看Acl設置
getAcl /path
方式二:
setAcl /path digest:用戶名:密碼密文:權限
不接受官方建議修復方案:
1、zkClish.sh進入zookeeper客戶端:
執(zhí)行命令

setAcl / ip:192.168.56.41:cdrwa,ip:192.168.56.42:cdrwa,ip:192.168.56.43:cdrwa

把所有需要的IP都寫上誓焦。
2胆敞、添加后,連接zkCli.sh客戶端杂伟,執(zhí)行命令會出現
[zk: localhost:2181(CONNECTED) 0] ls /
Authentication is not valid : /
執(zhí)行 connect IP 2181 即可
[zk: localhost:2181(CONNECTED) 1] connect 192.168.56.41 2181
[zk: 192.168.56.41(CONNECTED) 2] ls /
[zookeeper]

漏洞二:
端口:8080
協(xié)議:TCP
服務:http
Eclipse Jetty 安全漏洞(CVE-2020-27216)
Eclipse Jetty 安全漏洞(CVE-2022-2048)
Eclipse Jetty拒絕服務漏洞(CVE-2020-27223)
Eclipse Jetty信息泄露漏洞(CVE-2020-27218)
遠端WWW服務支持TRACE請求
Eclipse Jetty信息泄露漏洞(CVE-2021-28169)
官方建議修復方案:
太多
不接受官方建議修復方案:
zookeeper的8080端口是管理后端(admin)如果要改端口可以
admin.serverPort=8082
修復漏洞移层,可以選擇禁用此端口。
1赫粥、修改zookeeper安裝目錄中的conf/zoo.cfg文件观话,添加一行:
admin.serverPort=0
2、重新啟動Zookeeper服務越平。沒有8080端口频蛔。

hive相關漏洞
漏洞一:
端口:10002
協(xié)議:TCP
服務:http
漏洞Eclipse Jetty HTTP請求走私漏洞(CVE-2017-7658)
Eclipse Jetty HTTP請求走私漏洞(CVE-2017-7657)
Eclipse Jetty HTTP請求走私漏洞(CVE-2017-7656)
Eclipse Jetty 安全漏洞(CVE-2020-27216)
Eclipse Jetty 輸入驗證錯誤漏洞(CVE-2018-12545)
Eclipse Jetty信息泄露漏洞(CVE-2018-12536)
Eclipse Jetty 信息泄露漏洞(CVE-2019-10246)
Eclipse Jetty跨站腳本執(zhí)行漏洞(CVE-2019-10241)
Eclipse Jetty 信息泄露漏洞(CVE-2019-10247)
官方建議修復方案:
目前廠商已發(fā)布升級補丁以修復漏洞灵迫,補丁獲取鏈接:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=535669
不接受官方建議修復方案:
1、10002 為hiveserver2的默認端口晦溪,webUI頁面龟再,沒什么用就禁用掉。
默認是10002.寫0或者負數就是禁用尼变,
2利凑、hive-site.xml增加配置:

 <property>
 <name>hive.server2.webui.port</name>
 <value>0</value>
<description>The port the HiveServer2 WebUI will listen on. This can beset to 0 or a negative integer to disable the web UI</description>
</property>

3、重啟hiveserver2嫌术,就沒有10002端口了哀澈。

————————————————
版權聲明:本文為CSDN博主「不會吐絲的蜘蛛俠《绕」的原創(chuàng)文章割按,遵循CC 4.0 BY-SA版權協(xié)議,轉載請附上原文出處鏈接及本聲明磷籍。
原文鏈接:https://blog.csdn.net/manweizhizhuxia/article/details/129809159

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末适荣,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子院领,更是在濱河造成了極大的恐慌弛矛,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件比然,死亡現場離奇詭異丈氓,居然都是意外死亡,警方通過查閱死者的電腦和手機强法,發(fā)現死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進店門万俗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人饮怯,你說我怎么就攤上這事闰歪。” “怎么了蓖墅?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵库倘,是天一觀的道長。 經常有香客問我置媳,道長于樟,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任拇囊,我火速辦了婚禮,結果婚禮上靶橱,老公的妹妹穿的比我還像新娘寥袭。我一直安慰自己路捧,他們只是感情好,可當我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布传黄。 她就那樣靜靜地躺著杰扫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪膘掰。 梳的紋絲不亂的頭發(fā)上章姓,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天,我揣著相機與錄音识埋,去河邊找鬼凡伊。 笑死,一個胖子當著我的面吹牛窒舟,可吹牛的內容都是我干的系忙。 我是一名探鬼主播,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼惠豺,長吁一口氣:“原來是場噩夢啊……” “哼银还!你這毒婦竟也來了?” 一聲冷哼從身側響起洁墙,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蛹疯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后热监,有當地人在樹林里發(fā)現了一具尸體苍苞,經...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年狼纬,在試婚紗的時候發(fā)現自己被綠了羹呵。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡疗琉,死狀恐怖冈欢,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情盈简,我是刑警寧澤凑耻,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站柠贤,受9級特大地震影響香浩,放射性物質發(fā)生泄漏。R本人自食惡果不足惜臼勉,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一邻吭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧宴霸,春花似錦囱晴、人聲如沸膏蚓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽驮瞧。三九已至,卻和暖如春枯芬,著一層夾襖步出監(jiān)牢的瞬間论笔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工千所, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留狂魔,地道東北人。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓真慢,卻偏偏與公主長得像毅臊,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子黑界,可洞房花燭夜當晚...
    茶點故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內容

  • https://www.cnblogs.com/lgf01010/articles/9610411.html 文件...
    卿酌南燭_b805閱讀 4,095評論 0 1
  • 一管嬉、MongoDB MongoDB默認端口27017,當配置成無驗證時朗鸠,存在未授權訪問蚯撩,使用msf中的scanne...
    Instu閱讀 16,530評論 0 2
  • 訪問控制類漏洞與隱患 這一類漏洞與隱患屬于訪問控制與身份鑒別問題,一般有沒有配置訪問控制烛占、訪問控制弱(弱口令或者空...
    道書簡閱讀 1,571評論 0 0
  • NFS服務胎挎,Samba服務,LDAP忆家,Rsync犹菇,FTP,GitLab芽卿,Jenkins揭芍,MongoDB,Redis...
    ffx_01閱讀 1,461評論 0 0
  • 遵紀守法 任何個人和組織使用網絡應當遵守憲法法律卸例,遵守公共秩序称杨,尊重社會公德,不得危害網絡安全筷转,不得利用網絡從事危...
    migrate_閱讀 10,488評論 0 1