MST

星途 面试题库

面试题:MongoDB安全配置之网络访问控制

在MongoDB中,如何通过配置来限制外部对数据库的网络访问,以增强安全性?请说明主要的配置参数及配置方法。
11.1万 热度难度
数据库MongoDB

知识考点

AI 面试

面试题答案

一键面试

配置 bindIp 参数

  1. 参数说明bindIp 用于指定 MongoDB 服务器绑定的 IP 地址。通过设置此参数,可以限制 MongoDB 监听的 IP 地址范围,从而限制外部网络访问。
  2. 配置方法
    • 配置文件方式:在 MongoDB 的配置文件(通常是 mongod.conf)中,添加或修改 bindIp 参数。例如,只允许本地访问,可以设置为 bindIp = 127.0.0.1。如果要允许本地和特定的外部 IP(如 192.168.1.100)访问,可以设置为 bindIp = 127.0.0.1,192.168.1.100
    • 命令行方式:启动 MongoDB 时,通过命令行参数指定 --bind_ip。例如:mongod --bind_ip 127.0.0.1

使用防火墙

  1. 参数说明:防火墙可以从网络层面进一步限制对 MongoDB 端口(默认为 27017)的访问。
  2. 配置方法
    • Linux 系统(以 iptables 为例):例如,只允许本地访问 MongoDB 端口,可执行命令 iptables -A INPUT -p tcp --dport 27017 -s 127.0.0.1 -j ACCEPT,然后 iptables -A INPUT -p tcp --dport 27017 -j DROP。这两条命令分别表示允许本地 IP 访问 27017 端口,拒绝其他所有 IP 访问该端口。
    • Windows 系统:在 Windows 防火墙设置中,找到 MongoDB 对应的程序或端口(27017),设置入站规则,限制只允许特定的 IP 地址访问。

启用身份验证

  1. 参数说明:虽然这不是直接限制网络访问,但启用身份验证后,即使外部能访问到 MongoDB 服务,没有正确的用户名和密码也无法操作数据库,增强了安全性。
  2. 配置方法
    • 配置文件方式:在 mongod.conf 文件中,添加或修改 security.authorization 参数为 enabled。例如:
security:
  authorization: enabled
  • 命令行方式:启动 MongoDB 时,通过命令行参数指定 --auth。例如:mongod --auth。然后需要预先通过 mongo 客户端使用 db.createUser() 等命令创建用户。