在CentOS上设置RabbitMQ的安全性,可以遵循以下步骤:
启用防火墙并开放端口:
firewall-cmd命令启用防火墙,并开放RabbitMQ默认使用的5672端口(用于AMQP协议)和15672端口(用于管理界面)。sudo firewall-cmd --permanent --zone=public --add-port=5672/tcp
sudo firewall-cmd --permanent --zone=public --add-port=15672/tcp
sudo firewall-cmd --reload
配置RabbitMQ:
/etc/rabbitmq/rabbitmq.conf,添加或修改以下安全设置:# 启用SSL/TLS
listeners.ssl.default = 5671
ssl_options.cacertfile = /etc/rabbitmq/ssl/ca_certificate.pem
ssl_options.certfile = /etc/rabbitmq/ssl/server_certificate.pem
ssl_options.keyfile = /etc/rabbitmq/ssl/server_key.pem
ssl_options.verify = verify_peer
ssl_options.fail_if_no_peer_cert = true
# 启用访问控制列表(ACL)
default_user = guest
default_pass = guest
loopback_users.guest = false
auth_backends.1 = rabbit_auth_backend_internal
# 启用管理插件
management.ssl.enabled = true
management.ssl.port = 15672
management.ssl.certfile = /etc/rabbitmq/ssl/server_certificate.pem
management.ssl.keyfile = /etc/rabbitmq/ssl/server_key.pem
生成SSL证书:
sudo openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout /etc/rabbitmq/ssl/server_key.pem -out /etc/rabbitmq/ssl/server_certificate.pem
重启RabbitMQ服务:
sudo systemctl restart rabbitmq-server
配置用户和权限:
sudo rabbitmqctl add_user myuser mypassword
sudo rabbitmqctl set_permissions -p / myuser ".*" ".*" ".*"
sudo rabbitmqctl set_user_tags myuser administrator
配置防火墙:
sudo firewall-cmd --permanent --zone=public --add-port=5671/tcp
sudo firewall-cmd --reload
测试配置:
https://your_server_ip:15672/
通过以上步骤,你可以在CentOS上设置RabbitMQ的安全性,包括启用SSL/TLS、配置访问控制列表(ACL)、生成SSL证书、配置用户和权限等。