溫馨提示×

如何在Debian上安全配置MongoDB

小樊
45
2025-07-24 11:09:27
欄目: 云計算

在Debian系統上安全配置MongoDB涉及多個步驟,包括安裝、配置、啟用身份驗證、使用SSL/TLS加密通信、配置防火墻等。以下是一個詳細的指南:

安裝MongoDB

  1. 更新系統:
sudo apt update && sudo apt upgrade -y
  1. 導入MongoDB公鑰:
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
  1. 創建MongoDB列表文件: 對于Debian 11(Bullseye):
echo "deb [archamd64,arm64] https://repo.mongodb.org/apt/debian bullseye/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

對于Debian 10(Buster):

echo "deb [archamd64,arm64] https://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
  1. 更新包列表并安裝MongoDB:
sudo apt update
sudo apt install -y mongodb-org

配置MongoDB

  1. 編輯MongoDB配置文件 /etc/mongod.conf
sudo nano /etc/mongod.conf
  1. 基本配置:
  • storage.dbPath:指定MongoDB的數據存儲目錄。
  • systemLog.destination:指定日志文件的存儲路徑。
  • net.port:指定MongoDB監聽的端口(默認27017)。
  • net.bindIp:指定MongoDB綁定的IP地址,允許遠程連接時設置為 0.0.0.0。
  1. 啟用安全性和用戶認證:
security:
  authorization: enabled
  1. 創建管理用戶:
use admin
db.createUser({
  user: "myUserAdmin",
  pwd: "myStrongPassword",
  roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})
  1. 啟動MongoDB服務:
sudo systemctl start mongod
sudo systemctl enable mongod
  1. 驗證安裝:
mongo

安全增強措施

  1. 綁定IP地址:將MongoDB綁定到本地接口,只允許本機訪問:
net:
  bindIp: 127.0.0.1
  1. 啟用SSL/TLS:為了加密客戶端和服務器之間的通信,啟用SSL:
net:
  ssl:
    mode: requireSSL
    PEMKeyFile: /path/to/your/mongodb.pem
    CAFile: /path/to/your/ca.pem
  1. 配置防火墻:使用 ufw 允許27017端口:
sudo ufw allow 27017
  1. 定期備份:使用 mongodump 定期備份MongoDB數據,并考慮將備份數據存儲在安全的位置。

  2. 禁用不必要的MongoDB接口和REST API:如果你使用的是MongoDB 3.6或更高版本,可以禁用HTTP接口和REST API:

net:
  http:
    enabled: false
  restApi:
    enabled: false
  1. 啟用安全審計:啟用安全審計功能以記錄數據庫操作:
security:
  auditLog:
    destination: file
    format: JSON
    path: /var/log/mongodb/audit.json

通過以上步驟,你可以在Debian系統上安全地配置MongoDB,確保只有受信任的主機才能訪問數據庫,并且所有通信都是加密的。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女