centos

rabbitmq安全设置centos上怎么做

小樊
45
2025-12-15 12:41:46
栏目: 智能运维

在CentOS上设置RabbitMQ的安全性,可以遵循以下步骤:

  1. 启用防火墙并开放端口

    • 使用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
      
  2. 配置RabbitMQ

    • 编辑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
      
  3. 生成SSL证书

    • 使用OpenSSL生成自签名证书和密钥文件。
      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
      
  4. 重启RabbitMQ服务

    • 使配置生效并重启RabbitMQ服务。
      sudo systemctl restart rabbitmq-server
      
  5. 配置用户和权限

    • 创建新用户并设置密码。
      sudo rabbitmqctl add_user myuser mypassword
      
    • 设置用户权限。
      sudo rabbitmqctl set_permissions -p / myuser ".*" ".*" ".*"
      
    • 设置用户标签(可选)。
      sudo rabbitmqctl set_user_tags myuser administrator
      
  6. 配置防火墙

    • 确保防火墙允许新开放的端口。
      sudo firewall-cmd --permanent --zone=public --add-port=5671/tcp
      sudo firewall-cmd --reload
      
  7. 测试配置

    • 使用新用户登录RabbitMQ管理界面,确保配置正确。
      https://your_server_ip:15672/
      
    • 输入用户名和密码进行登录。

通过以上步骤,你可以在CentOS上设置RabbitMQ的安全性,包括启用SSL/TLS、配置访问控制列表(ACL)、生成SSL证书、配置用户和权限等。

0
看了该问题的人还看了