debian

Zookeeper安全设置Debian指南

小樊
44
2025-10-06 17:10:30
栏目: 智能运维

1. 前置准备
在开始安全配置前,确保已安装Java(Zookeeper依赖11及以上版本)和Zookeeper本身。若未安装,可通过以下命令完成:

sudo apt update && sudo apt install openjdk-11-jdk -y  # 安装Java
sudo apt install zookeeper -y                        # 安装Zookeeper(默认版本可能较旧,建议手动下载最新版)

验证Java和Zookeeper安装:

java -version                                      # 确认Java版本≥11
sudo systemctl status zookeeper                    # 确认Zookeeper服务状态

2. 配置文件系统权限
Zookeeper的数据目录(默认/var/lib/zookeeper)和日志目录(默认/var/log/zookeeper)需设置正确权限,避免未授权访问:

sudo chown -R zookeeper:zookeeper /var/lib/zookeeper  # 将数据目录所有者设为zookeeper用户
sudo chown -R zookeeper:zookeeper /var/log/zookeeper  # 将日志目录所有者设为zookeeper用户
sudo chmod -R 755 /var/lib/zookeeper                  # 设置数据目录权限(所有者可读写执行,其他用户可读执行)
sudo chmod -R 755 /var/log/zookeeper                  # 设置日志目录权限

同时,修改Zookeeper运行用户(避免以root运行):编辑/etc/default/zookeeper,添加或修改:

ZOOKEEPER_USER=zookeeper

重启服务使变更生效:

sudo systemctl restart zookeeper

3. 启用SASL认证(Digest机制)
SASL是Zookeeper主流认证方式,推荐使用Digest机制(基于用户名/密码):

4. 配置ACL(访问控制列表)
ACL用于限制用户对Zookeeper节点的访问权限(如读、写、管理ACL等)。以下是具体操作:

5. 配置SSL/TLS加密通信
默认情况下,Zookeeper通信是明文的,需启用SSL/TLS加密:

6. 配置防火墙限制访问
使用ufw(Uncomplicated Firewall)限制仅授权IP可访问Zookeeper端口(默认2181为客户端端口,2888/3888为集群端口):

sudo ufw allow from 192.168.1.0/24 to any port 2181 proto tcp  # 允许192.168.1.0/24网段访问客户端端口
sudo ufw allow from 192.168.1.0/24 to any port 2888 proto tcp  # 允许集群节点间通信
sudo ufw allow from 192.168.1.0/24 to any port 3888 proto tcp
sudo ufw deny 2181/tcp  # 默认拒绝其他IP访问客户端端口
sudo ufw enable         # 启用防火墙

验证防火墙规则:

sudo ufw status verbose

7. 其他安全强化措施

8. 验证安全配置

0
看了该问题的人还看了