MongoDB与Debian网络配置注意事项
默认情况下,MongoDB(版本3.6及以上)仅绑定到本地地址(127.0.0.1),仅允许本地访问。若需允许远程连接,需修改配置文件/etc/mongod.conf中的net.bindIp参数:可设置为0.0.0.0(允许所有IP连接,但存在安全风险)或特定IP地址(如192.168.1.100,仅允许该IP访问)。修改后需重启MongoDB服务使更改生效。
MongoDB默认监听27017端口。若需使用其他端口,可修改/etc/mongod.conf中的net.port参数(如27018)。无论使用默认端口还是自定义端口,都需确保防火墙允许该端口的流量通过。
Debian系统常用ufw(Uncomplicated Firewall)管理防火墙规则。需允许MongoDB端口(默认27017)的TCP流量,命令如下:
sudo ufw allow 27017/tcp
配置完成后,重启防火墙以应用规则:sudo ufw reload。若使用iptables,可添加永久规则:sudo iptables -A INPUT -p tcp --dport 27017 -j ACCEPT,并保存规则。
为提升安全性,生产环境强烈建议启用MongoDB身份验证。编辑/etc/mongod.conf,在security部分添加:
security: authorization: enabled
重启MongoDB服务后,需创建管理员用户(用于管理数据库)和应用用户(用于应用访问)。例如,创建管理员用户:
mongo
use admin
db.createUser({ user: "admin", pwd: "strong_password", roles: ["root"] })
创建应用用户(以mydatabase数据库为例):
use mydatabase
db.createUser({ user: "app_user", pwd: "app_password", roles: ["readWrite", "dbOwner"] })
```。
### **5. 网络强化措施**
- **限制IP访问**:避免将MongoDB绑定到`0.0.0.0`,尽量指定受信任的内部IP地址(如`10.0.0.0/8`、`192.168.0.0/16`),减少暴露风险。
- **使用防火墙限制源IP**:通过`iptables`或`ufw`限制可访问MongoDB端口的IP范围(如仅允许公司内网IP访问),进一步提升安全性。
### **6. 服务管理**
修改配置文件后,需重启MongoDB服务以应用更改:`sudo systemctl restart mongod`。为确保系统重启后MongoDB自动启动,需设置开机自启:`sudo systemctl enable mongod`。可通过`sudo systemctl status mongod`验证服务状态。