在Debian系統上為MongoDB設置安全性的步驟如下:
安裝MongoDB:
使用官方倉庫安裝MongoDB可以確保軟件包的安全性和可靠性。要添加MongoDB官方倉庫,請按照以下步驟操作:
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
echo "deb [archamd64,arm64] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
sudo apt-get update
sudo apt-get install -y mongodb-org
啟用身份驗證:
在 /etc/mongod.conf 文件中啟用身份驗證。找到 security 部分并設置為 true:
security:
authorization: enabled
重啟MongoDB服務以應用更改:
sudo systemctl restart mongod
創建管理員用戶:
使用 mongo shell 創建一個具有管理員權限的用戶。首先啟動 mongo shell:
mongo
然后在 admin 數據庫中創建一個新用戶:
use admin
db.createUser({
user: "admin",
pwd: "your_password",
roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
})
退出 mongo shell。
使用SSL/TLS加密連接:
為了保護數據傳輸過程中的安全,建議使用SSL/TLS加密連接。首先,你需要獲取或生成一個SSL證書和私鑰。然后,在 /etc/mongod.conf 文件中配置SSL/TLS選項:
net:
ssl:
mode: requireSSL
PEMKeyFile: /path/to/your/mongodb.pem
CAFile: /path/to/your/ca.pem
重啟MongoDB服務以應用更改:
sudo systemctl restart mongod
配置防火墻:
限制訪問MongoDB的IP地址,只允許受信任的IP地址連接到MongoDB服務器。如果你使用的是 ufw 防火墻,可以按照以下步驟操作:
sudo ufw allow from trusted_ip_address/32 port 27017
sudo ufw reload
將 trusted_ip_address 替換為受信任的IP地址。
定期更新和維護:
保持MongoDB和Debian系統的更新,以便及時修復已知的安全漏洞。
啟用審計日志(可選):
審計功能可以用來記錄用戶對數據庫的所有相關操作。
請注意,這些步驟可能會隨著MongoDB版本的更新而發生變化。因此,建議查閱MongoDB官方文檔以獲取最新信息。