MongoDB 安全設置包括多個方面,以下是一些關鍵的步驟和建議:
修改配置文件:在 mongod.conf 文件中,找到或添加以下內容:
security:
authorization: enabled
如果使用 Homebrew 安裝的 MongoDB,配置文件路徑通常為 /opt/homebrew/etc/mongod.conf。如果是手動安裝的 MongoDB,請確保路徑正確,或者創建自己的配置文件。
啟動 MongoDB 服務:
mongod --config /path/to/mongod.conf
或者
brew services restart mongodb
連接到 MongoDB Shell:
mongo
切換到 admin 數據庫:
use admin
創建管理員賬戶:
db.createUser({
user: "admin",
pwd: "your_strong_password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})
admin 數據庫存儲用戶名和密碼。創建角色:
use admin
db.createRole({
role: "readOnly",
privileges: [
{ resource: { db: "mydatabase", collection: "" }, actions: [ "find" ] }
],
roles: []
})
分配角色:
db.grantRolesToUser("myuser", [ { role: "readOnly", db: "mydatabase" } ])
生成或獲取有效的 SSL 證書和私鑰文件。
在 mongod.conf 配置文件中添加以下參數:
net:
ssl:
mode: requireSSL
PEMKeyFile: /path/to/your/ssl.pem
CAFile: /path/to/your/ca.pem
重新啟動 MongoDB 服務使配置生效。
限制遠程訪問,只允許特定 IP 地址或主機名連接。
在 mongod.conf 配置文件中添加 bindIp 參數:
net:
bindIp: 192.168.1.0/24
啟用審計日志記錄所有用戶的操作。
在 mongod.conf 配置文件中添加以下參數:
systemLog:
destination: file
path: /var/log/mongodb/mongod.log
logAppend: true
通過以上步驟,可以顯著提高 MongoDB 的安全性,保護數據庫中的數據不被未經授權的用戶訪問或修改。