详细的TLS设置Xray的RabbitMQ

帕特里克·罗素
2021-10-25 23:29

x射线TLS步骤

注意:此信息设计用于x射线2。X

x光2。Xhas three third-party microservices (RabbitMQ, Postgresql, MongoDB), and all of these services communicate with Xray via unencrypted channels.

通常这很好,因为您可以锁定web服务器或将所有内容留在同一主机上。然而,对于一些有安全意识的用户来说,加密Xray是必须的。

Xray Wiki提供了要使用的设置和字段,但前提是用户具有SSL加密和调优Xray使用的微服务方面的专业知识。本指南详细介绍了如何创建自签名证书并将其安装在这些服务中。系统配置完成后,可以获取ca签名证书。

要使用以下步骤使用自签名证书,请确保将自签名证书添加到x射线主机操作系统信任存储区这个网络资源可能很有用。

RabbitMQ TLS

RabbitMQ需要有一个CA(证书颁发机构)文件以及更标准的SSL证书。

1.创建必要的证书。

#创建CA Auth CSR文件

Openssl req -new -nodes -text out ca.csr -keyout ca-key。pem -subj "/CN=certificate-authority"

#创建服务器密钥和证书

Openssl x509 -req -in ca.csr -text -extfile /etc/pki/tls/openssl.cnf -extensions v3_ca -signkey ca-key。导出ca-cert.pem

Openssl req -new -nodes -text -out server。CSR -keyout server-key。pem -subj "/CN=rabbitmq"

Openssl x509 -req -in服务器。csr -text -CA ca-cert. cer。pem -CAkey ca-key。输出server-cert.pem

#创建客户端CSR和证书

Openssl req -new -nodes -text -out客户端。CSR -keyout client-key。pem -subj "/CN=rabbitmq"

Openssl x509 -req -in客户端。csr -text -CA ca-cert. cer。pem -CAkey ca-key。输出client-cert.pem

2)复制三个服务器文件到rabbitMQ可以到达的文件夹:

cp ca-cert。pem server-cert。pem服务器密钥。pem /etc/ssl/rabbitmq/

3)现在给用户,组和正确的权限复制文件

Chown rabbitmq /etc/ssl/rabbitmq/*

CHGRP rabbitmq /etc/ssl/rabbitmq/* .使用实例

Chmod 644 /etc/ssl/rabbitmq/*

4)将这些TLS设置添加到/etc/rabbitmq/rabbitmq.conf文件。

loopback_users。Guest = false

listener .tcp.default = 5672

Hipe_compile = false

Management.listener.port = 15672

Management.listener.ssl = true

listener .ssl.default = 5671

ssl_options。Cacertfile = /etc/ssl/rabbitmq/ca-cert.pem

ssl_options。Certfile = /etc/ssl/rabbitmq/server-cert.pem

ssl_options。Keyfile = /etc/ssl/rabbitmq/server-key.pem

ssl_options。Verify = verify_peer

ssl_options。Fail_if_no_peer_cert = false

ssl_options.ciphers。1 = aes256-sha256

ssl_options.ciphers。2 = aes256-gcm-sha384

ssl_options。Honor_cipher_order = true

ssl_options。Honor_ecc_order = true

作为测试,你可以重新启动Xray,看看RabbitMQ是否上线。RabbitMQ仍将在其HTTP端口上提供通信服务,Xray应该可以毫无问题地上线。

5)经营Xray REST API命令启用x射线端TLS加密:

curl -uadmin:password -XPUT http://localhost:8000/api/v1/configuration/systemParameters -v -H"Content-type: application/json" -d '{"sslInsecure":true,"maxDiskDataUsage":80,"monitorSamplingInterval":300,"messageMaxTTL":7,"jobInterval":86400,"allowSendingAnalytics":true,"httpsPort":443,"mailNoSsl":false,“enableTlsConnectionToRabbitMQ”:真实}”

要验证是否成功,运行下面的命令。如果返回修改后的JSON值,则操作成功:

curl -uadmin:密码http://localhost:8000/api/v1/configuration/systemParameters -k


8)复制证书,使其归x射线所有:

Mkdir -p /var/opt/jfrog/xray/data/ssl/rabbitmq

cp /etc/ssl/rabbitmq/ca-cert.pem /etc/ssl/rabbitmq/server-cert.pem /etc/ssl/rabbitmq/server-key.pem /var/opt/jfrog/xray/data/ssl/rabbitmq/

Chown x射线:x射线/var/opt/jfrog/xray/data/ssl/rabbitmq/*

9)现在更新连接字符串,并在xray_config中添加Xray证书路径。yaml文件:

mqBaseUrl:amqp: / / 12 ce13 aes256 nQ9PGNOBBBqF9x8cYTf9ZxXSe1EjmEvtm5LlvkwhJD34sO7hb21N@rabbitmq:美元5671

clientCaCertFilePath: /var/opt/jfrog/xray/data/ssl/rabbitmq/ca-cert.pem

clientCertFilePath: /var/opt/jfrog/xray/data/ssl/rabbitmq/server-cert.pem

clientCertKeyFilePath: /var/opt/jfrog/xray/data/ssl/rabbitmq/server-key.pem

使用amqps和端口5671

10)重启x射线服务器

./xray.sh重启所有

11)如果配置正确,可以通过https://:15672访问rabbitmq