Hadoop生态漏洞修复记录

这篇具有很好参考价值的文章主要介绍了Hadoop生态漏洞修复记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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端口,用于获取文件系统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上监听该端口。
        3888  /etc/zookeeper/conf/zoo.cfg  用于leader选举的。只在electionAlg是1,2或3(默认)时需要。
        8080  /etc/zookeeper/conf/zoo.cfg  web管理后端,可禁用,添加一行admin.serverPort=0

Hadoop相关漏洞

漏洞一:
端口:8088
协议:TCP
服务:radan-http
漏洞:
Apache Hadoop YARN 资源管理器 REST API未授权访问漏洞【原理扫描】
官方建议修复方案:
临时解决方案:
通过系统内置防火墙只允许端口被业务主机访问
厂商解决方案:
更新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
其中域名证书,通过手动签发生成。生成证书
/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
协议: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客户端:
执行命令

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

把所有需要的IP都写上。
2、添加后,连接zkCli.sh客户端,执行命令会出现
[zk: localhost:2181(CONNECTED) 0] ls /
Authentication is not valid : /
执行 connect IP 2181 即可
[zk: localhost:2181(CONNECTED) 1] connect 192.168.56.41 2181
[zk: 192.168.56.41(CONNECTED) 2] ls /
[zookeeper]

漏洞二:
端口:8080
协议: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
协议: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跨站脚本执行漏洞(CVE-2019-10241)
Eclipse Jetty 信息泄露漏洞(CVE-2019-10247)
官方建议修复方案:
目前厂商已发布升级补丁以修复漏洞,补丁获取链接:
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端口了。文章来源地址https://www.toymoban.com/news/detail-546791.html

到了这里,关于Hadoop生态漏洞修复记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 大数据Hadoop教程-学习笔记06【Hadoop生态综合案例:陌陌聊天数据分析】

    视频教程:哔哩哔哩网站:黑马大数据Hadoop入门视频教程,总时长:14:22:04 教程资源:https://pan.baidu.com/s/1WYgyI3KgbzKzFD639lA-_g,提取码:6666 【P001-P017】大数据Hadoop教程-学习笔记01【大数据导论与Linux基础】【17p】 【P018-P037】大数据Hadoop教程-学习笔记02【Apache Hadoop、HDFS】【20p】

    2024年02月02日
    浏览(35)
  • (小白全过程记录)Ubuntu下伪分布式Hadoop环境搭建

    目录 0.准备 1.Hadoop伪分布式环境搭建 2.安装ssh,配置ssh无密码登录 3.通过拖拽的方式将文件从windows传到linux桌面 5.安装hadoop 6.修改hadoop环境变量 7.修改配置文件 core-site.xml 8.修改配置文件hdfs-site.xml文件 9.执行NameNode的格式化 10.开启NameNode和DataNode守护进程 11.访问web页面 12.关闭

    2024年02月03日
    浏览(37)
  • 【大数据】图解 Hadoop 生态系统及其组件

    在了解 Hadoop 生态系统及其组件之前,我们首先了解一下 Hadoop 的三大组件,即 HDFS、MapReduce、YARN,它们共同构成了 Hadoop 分布式计算框架的 核心 。 HDFS ( Hadoop Distributed File System ):HDFS 是 Hadoop 的 分布式文件系统 ,它是将大规模数据分散存储在多个节点上的基础。HDFS 主要

    2024年02月11日
    浏览(34)
  • hadoop生态圈-- 个人笔记学习04 数据迁移

    数据迁移场景 冷热集群数据同步、分类存储 集群数据整体迁移 准实时同步 双备份 线上把集群切向B的同步集群 要素考量 bandwdith performance 1… 单机?分布式? data-increment 可以配合HDFS快照等技术实现增量数据同步。 syncable .数据指定周期内未完成同步,下一周期开始,无法做

    2024年02月12日
    浏览(40)
  • 一文搞懂什么是Hadoop?Hadoop的前世今生,Hadoop的优点有哪些?Hadoop面试考查重点,大数据技术生态体系

    目录 1.1 Hadoop 是什么  1.2 Hadoop 发展历史 1.3 Hadoop 三大发行版本  1.4 Hadoop优势(4高)  1.5 Hadoop 组成(面试重点)  1.5.1 HDFS 架构概述   1.5.2 YARN 架构概述   1.5.3 MapReduce 架构概述   1.5.4 HDFS、YARN、MapReduce 三者关系   1.6 大数据技术生态体系  1.7 推荐系统框架图   (1 ) Had

    2024年02月01日
    浏览(37)
  • 基于Windows系统的Hadoop伪分布式模式部署-从零开始(我的学习记录)

    目录 前言 一.JDK的下载安装配置 1.JDK 下载 2.JDK 安装 3.JDK 环境变量配置 4.验证JDK安装是否成功 5.重点? 二.Hadoop部署以及工具集winutils 1.下载Hadoop解压/下载winutils以及\\\"安装\\\"         下载Hadoop和winutils         \\\"安装\\\"winutils 2.配置Hadoop环境变量/配置Hadoop文件 Hadoop配置环境变量

    2024年04月13日
    浏览(48)
  • Hadoop生态圈中的数据同步工具SQOOP

    ) 在大部分常见的软件中,比如淘宝、拼多多…,网站都会产生大量的数据 电商网站:订单数据、商品数据、分类数据、用户信息数据、用户行为数据等等 课程网站:订单数据、视频数据、课程数据、用户信息数据等等 … 虽然说不同领域的数据格式和数据含义不一样,但是

    2024年02月07日
    浏览(44)
  • Hadoop生态圈中的Flume数据日志采集工具

    数据采集一般指的是将数据采集到大数据环境下进行持久化、海量化的保存,目的主要是为了我们后期的大数据处理(数据统计分析、数据挖掘等等)沉底数据基础。 不同的来源的数据我们一般有不同的数据采集方式 1、数据来源于我们的RDBMS关系型数据库:Sqoop数据迁移工具

    2024年02月08日
    浏览(36)
  • Hadoop集群搭建记录 | 云计算[CentOS7] | 伪分布式集群 Master运行WordCount

    本系列文章索引以及一些默认好的条件在 传送门 首先需要明确eclipse安装目录,然后将hadoop-eclipse-plugin_版本号.jar插件放在安装目录的dropins下 关于插件,可以通过博主上传到csdn的免费资源获取,链接 具体版本可以自己选择: 在eclipse界面中依次选择:Window→show view→other→

    2023年04月09日
    浏览(57)
  • Hadoop生态系统中的大数据基础知识教程

    作者:禅与计算机程序设计艺术 “Hadoop”是一个开源的分布式计算框架,基于云计算平台构建,提供海量数据的存储、分析处理和计算能力,广泛应用于金融、电信、互联网、移动通信等领域。Hadoop生态系统中存在大量的工程师和科学家,但这些人的水平参差不齐,各有所长

    2024年02月09日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包