mongod.conf
配置文件中設置security.authorization: enabled
,要求所有用戶必須通過用戶名和密碼認證才能訪問數據庫。mongo shell
連接到MongoDB,創建管理員賬戶并分配userAdminAnyDatabase
、dbAdminAnyDatabase
等角色(如admin
用戶),避免使用默認的無密碼賬戶。read
、readWrite
、dbOwner
),限制其對數據庫的操作范圍(例如,報表用戶僅授予read
權限,避免誤刪數據)。mongod.conf
中的bindIp
參數,僅允許受信任的IP地址或網絡訪問(如bindIp: 127.0.0.1,192.168.1.100
),避免暴露在公網。iptables
或firewalld
配置規則,僅允許特定IP(如應用服務器IP)訪問MongoDB默認端口(27017),拒絕其他IP的連接請求。mongod.conf
中配置net.ssl.mode: requireSSL
、net.ssl.PEMKeyFile: /path/to/cert.pem
、net.ssl.CAFile: /path/to/ca.pem
,加密客戶端與服務器之間的通信,防止中間人攻擊。mongod.conf
中配置auditLog.destination: file
、auditLog.path: /var/log/mongodb/audit.log
,記錄所有用戶的操作(如查詢、插入、刪除、權限變更),便于后續追溯異常行為。mongostat
(監控操作速率)、mongotop
(監控集合級性能)或第三方工具(如Prometheus+Granafa、Nagios)監控數據庫性能;設置告警規則(如CPU利用率超過80%、連接數超過閾值),及時響應潛在威脅。mongodump
工具定期備份數據庫(如每日凌晨2點),將備份文件存儲在異地(如云存儲OSS、另一臺服務器),并進行完整性校驗(如MD5校驗),防止數據丟失或篡改。mongodb
),并通過chown -R mongodb:mongodb /var/lib/mongodb
設置數據目錄權限,避免以root
用戶運行MongoDB,降低權限提升風險。mongod.conf
中設置net.http.RESTInterfaceEnabled: false
、net.http.JSONPEnabled: false
,關閉HTTP狀態接口和JSONP訪問,防止未經認證的遠程訪問。setsebool -P mongod_port_t 1
),避免因SELinux限制導致服務異常。