
# 1. 未授权漏洞
标准部署中,默认没有对所有节点加密,安全扫描可能会扫出未授权漏洞,关键字为getAcl,根目录未加密等,如果安全扫描有根节点加密要求,按照第一章节操作加密即可。
注意:如果安全扫描的描述关键字为echo envi |nc IP 2181,环境,敏感信息等,此为第二种未授权漏洞,需要修改conf/zoo.cfg中4lw.commands.whitelist= (等号后面置空),重启zk即可修复。此设置影响监控建议评估后操作。

## 1.1 确认zk账号密码
mc-【集群管理】,选择集群后,可以看到zk的用户名和密码(如果没有这2个值,需要到【组件维护】-【zookeeper管理】中确认)。使用安装器部署的应该非空,可以查看安装器安装记录或者联系运维获取密码;如果为空可以自行设置账号密码后保存发布。

再确认容器环境变量是否已经加密,同样安装器默认已经加密,如果检查现场环境没有加密,需要添加上。
格式参考:192.168.118.118:2181?user=zookeeper&password=Cosmic@2020
#示例账号zookeeper,密码Cosmic@2020,此处如果不想明文显示密码可以参考文章5-明文密码

## 1.2 zk根目录加密
在zookeeper/bin目录下执行:
./zkCli.sh
addauth digest zookeeper:Cosmic@2020
setAcl / ip:IP:cdrwa,ip:127.0.0.1:cdrwa,auth:kafka:cdrwa
#由于kafka需要连接zk,直接加密后kafka无法正常启动,此处需要设置kafka机器的ip地址添加到白名单

配置完成后重启kafka服务,能正常启动即为配置成功,解决zookeeper根目录的未授权漏洞。正常情况下到此能满足绝大部分扫描软件要求,如果还有扫描到其他节点存在未授权漏洞,建议提交扫描报告至总部,针对报告再进行具体的分析。
以下内容介绍苍穹zk节点的改密和授权,可以根据需求查看。
# 2. zookeeper修改密码,苍穹节点加密
苍穹版本5.0.011,使用安装器部署的环境默认已经加密部分节点,以下方案为针对安装器部署环境修改密码,如果默认没有设置密码可以跳过步骤2;如果可以删除zk数据,可以参考重新初始化zk;如果需要更完整的加密,请先阅读下文"其他苍穹zookeeper节点相关说明"内容。
# 操作步骤
## 2.1. 停服,包括所有苍穹容器和mc
## 2.2. 去除老账号信息
以下示例旧加密信息old:Cosmic@2020,新加密信息newzk:Cosmic@2023
在zookeeper/bin目录下执行
./zkCli.sh
addauth digest old:Cosmic@2020
setAcl -R /集群id world:anyone:cdrwa
setAcl -R /mc world:anyone:cdrwa
setAcl -R /schedule world:anyone:cdrwa
setAcl -R /QRootProfiler world:anyone:cdrwa
#getAcl /集群id 显示'world,'anyone说明修改成功
quit

## 2.3. 使用新账号,必须重新登录zk进行加密
./zkCli.sh
addauth digest newzk:Cosmic@2023
setAcl -R /集群id auth:newzk:cdrwa
setAcl -R /mc auth:newzk:cdrwa
setAcl -R /schedule auth:newzk:cdrwa
setAcl -R /QRootProfiler auth:newzk:cdrwa
quit

## 2.4. mc配置修改
mc容器的环境配置,通过gpaas或k8s语句修改configurl的值,在地址后加上?user=newzk&password=Cosmic@2023,启动mc。

## 2.5. 针对苍穹配置修改
mc-【集群管理】,选择集群后,修改zk用户名和zk密码,部分环境mc此处可能是选择zk机器,账号密码需要到【组件维护】-【zookeeper管理】中修改。修改完成后集群界面,保存发布。

苍穹容器的环境配置,通过gpaas或k8s语句修改configurl的值,在地址后加上?user=newzk&password=Cosmic@2023,启动苍穹服务。至此完成配置。

# 3. 重新初始化zk
如果是测试环境,可以跳过上面步骤,删除zk数据重新初始化也可以完成苍穹节点,此操作涉及删除zk数据,请谨慎操作。
停止所有苍穹服务,停止zookeeper服务后将zk的数据目录zk_2181改名后启动zk,zk数据将被清空,再按照上述步骤4-登录mc重新初始化-步骤5,即