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