Xray的MongoDB的详细TLS设置

帕特里克·罗素
2023-01-22 11:05

Xray的TLS步骤

请注意本文中的信息旨在用于x射线2。X安装

x光2。X有三个第三方微服务(RabbitMQ, Postgresql, MongoDB),所有这些服务都通过未加密的通道与Xray通信。

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

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

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

MongoDB TLS

MongoDB的基本要求与RabbitMQ相同。需要SSL密钥和crt来加密流量,需要一个证书颁发机构文件来验证Xray crt文件(总共4个文件,需要生成11个文件)。

1)使用与RabbitMQ类似的命令生成证书文件:

#创建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。Pem -out ca-cert.pem

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

Openssl x509 -req -in server。-text -CA ca-cert. csrpem -CAkey ca-key。- ccreatesserial -out server-cert.pem

创建客户端CSR和证书

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

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

2)将需要的文件复制到mongodb ssl文件夹中:

mkdir /etc/ssl/mongodb/

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

创建mongo期望的"pem"文件:

猫server-cert。pem服务器密钥。Pem > mongodb.pem

3)合并文件,使其归mongod用户/组所有;

mongodb:mongod /etc/ssl/mongodb/*

4)更新MongoDB的TLS设置使用3.2文档作为参考

net:

端口:27017

bindIp: 127.0.0.1 #只监听本地接口,注释监听所有接口。

ssl:

模式:requireSSL

PEMKeyFile: /etc/ssl/mongodb/mongodb.pem

CAFile: /etc/ssl/mongodb/ca-cert.pem

5)测试重启Mongodb使用Xray .sh -如果它启动继续否则撤销上述步骤,以恢复Xray工作秩序

6)将客户端证书添加到Xray的数据文件夹中:

cp server-cert。pem服务器密钥。pem ca-cert。pem /var/opt/jfrog/xray/data/ssl/

7)将这些行添加到xray_config.yaml中:

mongoSsl: true

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

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

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

重启x射线,确认一切正常