linux

MongoDB在Linux上怎样安全配置

小樊
41
2025-10-10 01:32:43
栏目: 云计算

1. 启用身份验证(核心安全措施)
编辑MongoDB配置文件(/etc/mongod.conf),在security section添加或修改authorization: enabled,强制要求用户连接时提供凭据。修改后重启服务:sudo systemctl restart mongod。启用后需创建管理员账户(见下一步),避免未认证访问。

2. 创建专用管理员账户(RBAC基础)
使用mongo shell连接到MongoDB,切换至admin数据库(管理员账户需存放在该数据库),创建具有root角色的用户(拥有最高权限):

use admin
db.createUser({
  user: "admin",
  pwd: "YourStrongPassword123!", // 使用大小写字母、数字和符号组合
  roles: [{ role: "root", db: "admin" }]
})

退出shell后,需重启MongoDB服务使认证生效。

3. 限制网络访问(缩小攻击面)

4. 配置防火墙规则(阻断非法访问)
使用Linux防火墙(如ufwfirewalld)限制对MongoDB默认端口(27017)的访问:

确保仅受信任的IP地址能访问MongoDB端口。

5. 启用TLS/SSL加密(保护数据传输)

修改后重启服务:sudo systemctl restart mongod。客户端连接时需添加--ssl参数:mongo --ssl --sslCAFile /path/to/mongodb-cert.pem --sslPEMKeyFile /path/to/mongodb-key.pem -u admin -p --authenticationDatabase admin

6. 配置审计日志(追踪异常行为)
若使用MongoDB Enterprise,可启用审计日志记录所有用户操作(如查询、修改、删除):
/etc/mongod.confsecurity.auditLog section添加:

security:
  auditLog:
    destination: file  # 日志存储位置
    format: JSON       # 日志格式(JSON易解析)
    path: /var/log/mongodb/audit.json  # 日志文件路径
    filter: '{}'       # 可选:过滤特定操作(如仅记录删除操作)

修改后重启服务:sudo systemctl restart mongod。审计日志可用于事后追溯安全事件。

7. 使用非特权用户运行MongoDB(降低权限风险)

避免MongoDB以root用户运行,降低系统被入侵的风险。

8. 定期更新与监控(应对新威胁)

0
看了该问题的人还看了