zookeeper未授权访问(CVE-2014-0085)漏洞修复建议

一、环境搭建安装docker

sudo systemctl start docker

 

拉取zookeeper镜像

sudo docker pull wurstmeister/zookeeper

zookeeper未授权访问(CVE-2014-0085)漏洞修复建议_第1张图片 

启动zookeeper

sudo docker run \
-d \
--restart=always \
--log-driver json-file \
--log-opt max-size=100m \
--log-opt max-file=2  \
--name zookeeper \
-p 2181:2181 \
-v /etc/localtime:/etc/localtime \
wurstmeister/zookeeper
 

 

 

二、进入容器

1.登录服务器执行docker ps查看是zookeeper是否为容器运行,如果不是容器运行请跳到第三步骤

c92a68f5cbc347bba1278bdc7a49b3bb.png

 

2.使用命令进入容器docker exec -it 容器ID /bin/bash

 

三.使用find / -name zoo.cfg命令查找文件,看看文件位置

zookeeper未授权访问(CVE-2014-0085)漏洞修复建议_第2张图片

1.进入zookeeper目录找到zoo.cfg文件,常见路径为/opt/zookeeper-3.4.13/conf/zoo.cfg

具体路径以zookeeper安装路径为准

713f9b32365040e886eed1f473e595f5.png

 

2.使用vi编辑器打开zoo.cfg文件,在文件中添加四字命令白名单,添加命令如下

4lw.commands.whitelist=xxxx,xxxx,xxxx

xxxx为需要设置的四字命令,添加多命令请使用逗号进行隔开,请根据系统所需进行命令设置,请勿添加envi命令,如系统有使用此命令的需求请使用其他修复方法

zookeeper未授权访问(CVE-2014-0085)漏洞修复建议_第3张图片

四.配置服务ACL限制IP访问

1.登录zookeeper

要找到zkCli.sh脚本文件,需要定位到Zookeeper的安装目录。在大多数情况下,如果您是按照标准流程安装的Zookeeper,那么该脚本应该位于$ZK_HOME/bin目录下,其中$ZK_HOME代表Zookeeper的安装路径。例如,如果Zookeeper安装在/opt/zookeeper-3.4.9,则脚本将位于/opt/zookeeper-3.4.9/bin目录下。

fcba7e67d74c4116b6a2802af502c991.png

2.使用下面命令登录zookeeper命令中ip为容器ip如果直接安装在服务器上请使用服务器ip

./zkCli.sh -server 172.17.0.2:2181

 

 

3.使用getAcl /查看当前权限(默认所有人可访问)

zookeeper未授权访问(CVE-2014-0085)漏洞修复建议_第4张图片

4.设置权限记得一定要将本机和需要连接的ip添加进去

setAcl / ip:172.0.0.1:cdrwa,ip:192.168.110.241:cdrwa,ip:192.168.100.241:cdrwa,ip:192.168.110.242:cdrwa

cdrwa每个参数代表的意思

  • c:创建(Create)

  • d:删除(Delete)

  • r:读取(Read)

  • w:写入(Write)

  • a:访问(Access)

 

 

你可能感兴趣的:(zookeeper)