在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加密等。