在Ubuntu上配置MongoDB的安全设置,可以遵循以下步骤:
创建一个专用的MongoDB用户:
首先,你需要为MongoDB创建一个专用的用户,以便限制对数据库的访问。为此,请运行以下命令:
sudo adduser mongodb
然后,将此用户添加到mongo
组:
sudo usermod -aG mongo mongodb
最后,切换到新创建的用户并启动MongoDB服务:
sudo su - mongodb
systemctl start mongod
启用身份验证:
编辑MongoDB配置文件/etc/mongod.conf
,找到security
部分并启用身份验证:
security:
authorization: enabled
保存并关闭文件。然后重启MongoDB服务以应用更改:
systemctl restart mongod
创建管理员用户:
使用mongo
shell连接到MongoDB实例:
mongo
在mongo
shell中,创建一个具有管理员权限的用户。例如,要为名为myDatabase
的数据库创建一个名为adminUser
的用户,请执行以下命令:
use myDatabase
db.createUser({
user: "adminUser",
pwd: "your_password",
roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
})
现在,退出mongo
shell:
exit
使用管理员用户重新连接:
使用新创建的管理员用户重新连接到MongoDB实例:
mongo -u adminUser -p your_password --authenticationDatabase admin
为其他数据库创建用户:
使用管理员用户连接到MongoDB实例后,可以为其他数据库创建新用户。例如,要为名为myDatabase
的数据库创建一个名为myUser
的用户,请执行以下命令:
use myDatabase
db.createUser({
user: "myUser",
pwd: "your_password",
roles: [{ role: "readWrite", db: "myDatabase" }]
})
这将为myDatabase
数据库创建一个具有读写权限的用户。
启用SSL/TLS加密:
要启用SSL/TLS加密,请按照以下步骤操作:
a. 生成PEM证书文件。你可以使用自签名证书或从证书颁发机构获取证书。
b. 将生成的证书文件复制到/etc/ssl/certs
目录。
c. 编辑MongoDB配置文件/etc/mongod.conf
,启用SSL/TLS并指定证书文件路径:
net:
ssl:
mode: requireSSL
PEMKeyFile: /etc/ssl/certs/mongodb.pem
CAFile: /etc/ssl/certs/ca.pem
d. 保存并关闭文件。然后重启MongoDB服务以应用更改:
systemctl restart mongod
现在,你的Ubuntu MongoDB实例已配置了安全设置,包括专用用户、身份验证、SSL/TLS加密等。