linux

MongoDB在Linux上的安全设置

小樊
50
2025-10-14 03:59:28
栏目: 云计算

1. 启用身份验证(核心安全措施)
身份验证是防止未授权访问MongoDB的第一道防线。编辑MongoDB配置文件(通常位于/etc/mongod.conf),在security部分添加或修改以下内容:

security:
  authorization: enabled

保存后重启MongoDB服务使配置生效:

sudo systemctl restart mongod

创建管理员账户(需在启用认证前完成):连接到MongoDB Shell(mongo),切换到admin数据库,执行:

use admin
db.createUser({
  user: "admin",
  pwd: "YourStrongPassword123!",
  roles: ["root"]  // root角色拥有最高权限
})

后续连接需指定用户名、密码及认证数据库(如admin):

mongo -u admin -p YourStrongPassword123 --authenticationDatabase admin

2. 配置网络访问控制(限制访问范围)
通过绑定IP地址和防火墙规则缩小MongoDB的暴露范围。

3. 禁用不必要的接口和功能(减少攻击面)
MongoDB默认开启的HTTP接口、REST接口和JSONP功能会增加安全风险,建议禁用:
编辑/etc/mongod.conf中的net部分,添加或修改以下内容:

net:
  http:
    enabled: false  # 禁用HTTP接口
  RESTInterfaceEnabled: false  # 禁用REST接口
  JSONPEnabled: false  # 禁用JSONP

保存后重启服务:sudo systemctl restart mongod

4. 使用TLS/SSL加密通信(保护数据传输)
加密MongoDB客户端与服务端之间的通信,防止数据被窃听或篡改。

5. 配置审计日志(监控操作行为)
审计日志可记录所有用户的操作(如查询、插入、删除),便于事后追溯安全事件。

6. 使用专用非特权用户运行MongoDB(降低权限风险)
避免以root用户运行MongoDB,减少潜在的安全风险。

7. 定期更新和打补丁(修复已知漏洞)
保持MongoDB及依赖组件的最新版本,及时修复安全漏洞。

8. 创建数据库级用户并分配最小权限(遵循最小权限原则)
避免使用管理员账户连接所有数据库,为每个数据库创建专用用户并分配仅需要的角色。

0
看了该问题的人还看了