在CentOS上為MongoDB配置SSL加密,可以按照以下步驟進行:
首先,確保你已經在CentOS上安裝了MongoDB。如果還沒有安裝,可以使用以下命令進行安裝:
sudo yum install -y mongodb-org
你需要生成SSL證書和密鑰文件??梢允褂肙penSSL來生成這些文件。
sudo openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout mongodb-ca.key -out mongodb-ca.crt
sudo openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout mongodb-server.key -out mongodb-server.crt -config <(cat /etc/ssl/openssl.cnf <(printf "[req]\nDistinguished Name = req_distinguished_name\n[req_distinguished_name]\nC=US\nST=State\nL=City\nO=Organization\nOU=Unit\nCN=localhost")
sudo openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout mongodb-client.key -out mongodb-client.crt -config <(cat /etc/ssl/openssl.cnf <(printf "[req]\nDistinguished Name = req_distinguished_name\n[req_distinguished_name]\nC=US\nST=State\nL=City\nO=Organization\nOU=Unit\nCN=client
編輯MongoDB配置文件(通常是/etc/mongod.conf),添加SSL相關的配置。
net:
ssl:
mode: requireSSL
PEMKeyFile: /path/to/mongodb-server.pem
CAFile: /path/to/mongodb-ca.crt
security:
authorization: enabled
將生成的證書和密鑰文件合并到一個PEM文件中:
sudo cat /path/to/mongodb-server.crt /path/to/mongodb-server.key > /path/to/mongodb-server.pem
保存配置文件后,重啟MongoDB服務以應用更改:
sudo systemctl restart mongod
在客戶端連接MongoDB時,需要指定使用SSL。例如,使用mongo shell連接:
mongo --ssl --sslCAFile /path/to/mongodb-ca.crt --sslPEMKeyFile /path/to/mongodb-client.pem
你可以使用以下命令驗證SSL連接是否成功:
mongo --ssl --sslCAFile /path/to/mongodb-ca.crt --sslPEMKeyFile /path/to/mongodb-client.pem --eval 'db.runCommand({ connectionStatus: 1 })'
如果一切配置正確,你應該能夠看到SSL連接的詳細信息。
通過以上步驟,你可以在CentOS上為MongoDB配置SSL加密,確保數據傳輸的安全性。