在Ubuntu上為MongoDB進行安全配置可以遵循以下步驟:
首先,確保你的Ubuntu系統是最新的,然后安裝MongoDB:
sudo apt-get update
sudo apt-get install -y mongodb-org
創建一個用于存儲MongoDB數據的目錄,并設置適當的權限:
sudo mkdir -p /data/db
sudo chown -R mongodb:mongodb /data/db
使用文本編輯器(如nano)打開MongoDB配置文件,通常位于 /etc/mongod.conf:
sudo nano /etc/mongod.conf
在配置文件中,進行以下修改:
bindIp 設置為 127.0.0.1,以限制MongoDB只監聽本地連接。如果需要遠程訪問,可以設置為 0.0.0.0,但請注意這會帶來安全風險。security 部分設置 authorization 為 enabled。示例配置:
net:
port: 27017
bindIp: 127.0.0.1
security:
authorization: enabled
保存并退出編輯器。
保存配置文件的更改,并重啟MongoDB服務以應用這些更改:
sudo systemctl restart mongod
使用 mongo 命令行工具創建一個具有管理員權限的用戶:
mongo
use admin
db.createUser({
user: "adminUser",
pwd: "securePassword",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})
exit()
生成SSL證書和密鑰:
openssl req -newkey rsa:2048 -new -x509 -days 365 -nodes -out mongodb-cert.crt -keyout mongodb-cert.key
啟動MongoDB服務器時指定SSL證書和密鑰:
mongod --sslPEMKeyFile mongodb-cert.key --sslMode requireSSL
使用SSL連接到MongoDB:
mongo --ssl --sslPEMKeyFile mongodb-cert.key
使用 ufw(Uncomplicated Firewall)限制訪問MongoDB的IP地址,只允許受信任的IP地址連接到MongoDB服務器:
sudo ufw allow from 192.168.1.100 to any port 27017
sudo ufw reload
啟用審計功能,記錄用戶對數據庫的所有相關操作,以便在需要時分析。
保持MongoDB和Ubuntu系統的更新,以便及時修復已知的安全漏洞。
通過上述步驟,可以顯著提高MongoDB在Ubuntu上的安全性。請記住,安全是一個持續的過程,需要定期審查和更新配置。