You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何保障MongoDB安全?刚部署完成即被入侵求加固方案

MongoDB安全加固实操指南

入侵现场参考截图:
黑客勒索提示

紧急处置(已被入侵的实例优先操作)

  • 立即关闭MongoDB对公网的端口暴露,阻断黑客后续操作,优先备份现有未被加密的可用数据,排查数据是否存在被窃取、加密的情况
  • 重装全新的干净MongoDB实例,避免黑客留下后门进程、定时任务等持久化入侵手段,不要直接在被入侵的实例上修改配置直接复用

基础安全配置(必做,90%以上的新部署MongoDB被入侵都是因为遗漏以下配置)

1. 强制开启身份认证

MongoDB默认安装完成后未开启身份校验,所有能访问端口的用户都可以直接读写全量数据,是最常见的入侵原因。

  • 先在无认证模式下切换到admin库,创建超级管理员账号:
use admin
db.createUser(
  {
    user: "自定义管理员账号名",
    pwd: "强密码(要求8位以上,包含大小写字母、数字、特殊字符)",
    roles: [ { role: "root", db: "admin" } ]
  }
)
  • 编辑MongoDB配置文件(一般路径为/etc/mongod.conf),开启身份校验:
security:
  authorization: enabled
  • 重启MongoDB服务生效,后续所有连接必须携带合法账号密码才可访问

2. 限制端口暴露范围

  • 默认MongoDB监听0.0.0.0所有网卡地址,极易被公网扫描工具探测到,修改配置绑定仅需要访问的内网地址段:
net:
  port: 27017 # 建议修改默认27017端口,降低被批量扫描的概率
  bindIp: 127.0.0.1,192.168.1.0/24 # 仅绑定本地回环和业务服务器所在的内网IP段,禁止填0.0.0.0
  • 配置服务器防火墙/云服务商安全组,仅允许业务服务器的IP访问MongoDB服务端口,禁止将MongoDB端口放开到全公网

3. 关闭不必要的公开接口

禁用默认开启的HTTP状态页、REST API等高风险公开接口,修改配置文件:

net:
  http:
    enabled: false
  RESTInterfaceEnabled: false

进阶安全配置

  • 按最小权限原则创建业务账号,禁止使用超级管理员账号跑业务,每个业务库单独创建仅拥有对应库读写权限的账号,示例如下:
use 业务库名
db.createUser(
  {
    user: "自定义业务账号名",
    pwd: "业务专属强密码",
    roles: [ { role: "readWrite", db: "业务库名" } ]
  }
)
  • 开启操作审计日志,记录所有账号登录、用户变更、数据删除等高危操作,方便异常排查,配置参考:
systemLog:
  destination: file
  path: "/var/log/mongodb/mongod.log"
  logAppend: true
auditLog:
  destination: file
  path: "/var/log/mongodb/audit.log"
  filter: '{ atype: { $in: [ "authenticate", "createUser", "dropUser", "updateUser", "removeUser", "dropDatabase" ] } }'
  • 开启TLS传输加密,配置MongoDB使用SSL证书加密连接链路,避免数据传输过程中被窃听、篡改
  • 定期将MongoDB更新到官方最新稳定版本,及时修补已公布的安全漏洞,避免使用已停止维护的老旧版本

内容的提问来源于stack exchange,提问作者Jamviet.com

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 14:15:05