以下是在CentOS上设置RabbitMQ安全的操作步骤:
修改默认凭据
删除默认guest
用户并创建新用户,设置强密码及管理员权限:
sudo rabbitmqctl delete_user guest # 删除默认用户
sudo rabbitmqctl add_user admin <密码> # 添加新用户
sudo rabbitmqctl set_user_tags admin administrator # 赋予管理员权限
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" # 配置权限
启用管理插件并配置访问
启用Web管理界面,限制仅允许特定IP访问(如运维IP):
sudo rabbitmq-plugins enable rabbitmq_management # 启用插件
# 在防火墙中限制管理端口(默认15672)仅允许指定IP
sudo firewall-cmd --permanent --add-rich-rule='rule source address="运维IP" port protocol=tcp port=15672 accept'
sudo firewall-cmd --reload
配置SSL/TLS加密通信
cacert.pem
、cert.pem
、key.pem
)。/etc/rabbitmq/rabbitmq.conf
,启用SSL监听:listeners.ssl.default = 5671
ssl_options.cacertfile = /path/to/cacert.pem
ssl_options.certfile = /path/to/cert.pem
ssl_options.keyfile = /path/to/key.pem
ssl_options.verify = verify_peer
ssl_options.fail_if_no_peer_cert = true # 双向认证需设置为true
sudo systemctl restart rabbitmq-server
。强化权限与网络隔离
定期更新与监控
sudo yum update rabbitmq-server
更新补丁。sudo rabbitmqctl trace_on
。关键命令参考:
add_user
、set_user_tags
、set_permissions
。firewall-cmd --add-port
、--add-rich-rule
。rabbitmq.conf
中listeners.ssl
相关参数。以上步骤可显著提升RabbitMQ在CentOS环境下的安全性,生产环境中建议结合双向认证及严格的权限策略。