在Debian上配置MongoDB的安全认证涉及几个步骤,包括启用身份验证、创建管理员用户、配置MongoDB以使用SSL/TLS(可选)以及设置防火墙规则。以下是详细的步骤:
首先,确保你已经安装了MongoDB。如果没有安装,可以使用以下命令进行安装:
sudo apt update
sudo apt install -y mongodb
默认情况下,MongoDB在Debian上是不启用身份验证的。你需要修改MongoDB的配置文件来启用它。
编辑MongoDB配置文件 /etc/mongod.conf:
sudo nano /etc/mongod.conf
找到 security 部分,并添加或修改以下行:
security:
authorization: enabled
保存并关闭文件。
重启MongoDB服务以应用更改:
sudo systemctl restart mongod
连接到MongoDB shell:
mongo
在MongoDB shell中,创建一个管理员用户。假设你想创建一个用户名为 admin,密码为 password 的用户:
use admin
db.createUser({
user: "admin",
pwd: "password",
roles: ["root"]
})
退出MongoDB shell:
exit
为了进一步提高安全性,你可以配置MongoDB使用SSL/TLS。
首先,生成SSL证书和密钥:
sudo openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout /etc/ssl/mongodb.key -out /etc/ssl/mongodb.crt
然后,编辑MongoDB配置文件 /etc/mongod.conf,添加SSL配置:
net:
ssl:
mode: requireSSL
PEMKeyFile: /etc/ssl/mongodb.pem
CAFile: /etc/ssl/mongodb.crt
security:
authorization: enabled
重启MongoDB服务:
sudo systemctl restart mongod
确保你的防火墙允许MongoDB的默认端口(27017):
sudo ufw allow 27017/tcp
使用管理员用户连接到MongoDB:
mongo --username admin --password password --authenticationDatabase admin
如果一切配置正确,你应该能够成功连接到MongoDB。
通过以上步骤,你已经在Debian上成功配置了MongoDB的安全认证。