ubuntu上zookeeper的安全设置怎么做
导读:Ubuntu上Zookeeper安全设置指南 1. 配置防火墙限制访问 使用ufw(Uncomplicated Firewall)限制对Zookeeper端口的访问,仅允许可信IP连接。 启用防火墙:sudo ufw enable 允许S...
Ubuntu上Zookeeper安全设置指南
1. 配置防火墙限制访问
使用ufw
(Uncomplicated Firewall)限制对Zookeeper端口的访问,仅允许可信IP连接。
- 启用防火墙:
sudo ufw enable
- 允许SSH(确保远程管理安全):
sudo ufw allow OpenSSH
- 限制Zookeeper客户端端口(默认2181):仅允许可信IP(如
192.168.1.0/24
)访问,或拒绝其他所有IP:sudo ufw allow from 192.168.1.0/24 to any port 2181 # 允许指定网段 sudo ufw deny 2181 # 拒绝其他所有IP
- 检查防火墙状态:
sudo ufw status verbose
2. 配置ACL(访问控制列表)
通过ACL定义节点级别的权限(创建、读取、写入、删除、管理等),常用机制包括world
(任何人)、auth
(已认证用户)、digest
(用户名/密码)。
- 启用ACL:编辑
/etc/zookeeper/conf/zoo.cfg
,添加:authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider requireClientAuthSchemes=sasl
- 设置节点ACL(以
digest
为例):- 连接Zookeeper客户端:
/opt/zookeeper/bin/zkCli.sh -server localhost:2181
- 添加用户认证:
addauth digest username:password
- 设置节点权限(如
/secure_node
仅user1
可读写):setAcl /secure_node digest:user1:Base64密码 user1:cdrwa
- 查看节点ACL:
getAcl /secure_node
- 连接Zookeeper客户端:
3. 启用SASL/Kerberos认证
通过SASL(支持Kerberos)实现强身份认证,适用于生产环境。
- 安装SASL相关包:
sudo apt install libsasl2-2 libsasl2-modules sasl2-bin
- 配置JAAS文件(
/etc/zookeeper/conf/zookeeper_jaas.conf
):Server { org.apache.zookeeper.server.auth.DigestLoginModule required user_super="super_secret_password" user_admin="admin_password"; } ;
- 修改
zoo.cfg
启用JAAS:jaasLoginRenew=3600000 # 认证刷新间隔(毫秒)
- 重启Zookeeper使配置生效:
sudo systemctl restart zookeeper
4. 配置SSL/TLS加密通信
加密Zookeeper客户端与服务器之间的通信,防止数据泄露。
- 生成SSL证书(使用
keytool
):mkdir -p /etc/zookeeper/ssl keytool -genkey -alias zookeeper -keyalg RSA -keysize 2048 -keystore /etc/zookeeper/ssl/zookeeper.jks -validity 3650
- 配置
zoo.cfg
启用SSL:ssl.enable=true ssl.keystore.location=/etc/zookeeper/ssl/zookeeper.jks ssl.keystore.password=your_keystore_password ssl.keyPassword=your_key_password
- 重启Zookeeper:
sudo systemctl restart zookeeper
5. 限制SSH访问(管理安全)
若通过SSH管理Zookeeper服务器,需强化SSH配置:
- 编辑
/etc/ssh/sshd_config
:PermitRootLogin no # 禁止root直接远程登录 PasswordAuthentication no # 禁用密码认证(使用密钥) AllowUsers your_username # 仅允许指定用户登录
- 重启SSH服务:
sudo systemctl restart sshd
6. 监控与定期维护
- 监控日志:定期检查Zookeeper日志(
/var/log/zookeeper/zookeeper.out
)和系统日志,识别异常操作。 - 更新配置:定期更新Zookeeper版本(修复安全漏洞)和防火墙规则,应对新的安全威胁。
- 备份数据:定期备份
dataDir
目录(默认/var/lib/zookeeper
),防止数据丢失
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu上zookeeper的安全设置怎么做
本文地址: https://pptw.com/jishu/716553.html