MongoDB 3.6版本关于bind_ip设置

2022-08-17 19:40:32 浏览数 (1)

2017年下半年新发布的MongoDB 3.6版本在安全性上做了很大提升,主要归结为两点:

1.将将bind_ip 默认值修改为了localhost;

2. 在db.createUser()和 db.updateUser()中添加了authenticationRestrictions 参数,可以用来控制Client端发来的请求源IP以及请求的Server端指定IP。

以下说明和测试主要是针对第一点。

以前的版本默认Mongo服务启动后,使用Server IP 可以直接登入,但是3.6 已将服务启动bind_ip的默认值限定为localhost。

因此,即使在Local Server使用ServerIP登入也会报错。

<图1>

只能使用localhost登入

<图2>

修改方式,修改conf 配置文件,调整bind_ip参数,将本地IP赋予此参数。赋予后使用Server IP登入可以,但此时使用localhost 失败。为了同时兼容2种登入方式,将参数的赋值调整为:

bind_ip=localhost,172.XXX.XXX.XXX

中间使用登号隔开。

<图3>验证说明采用上述参数配置后2种登入方式都可以。

<图3>

说明:(1) 如果不想做IP限制,可以将bind_ip 赋值为0.0.0.0 或者 在配置文件中启用另外一个参数bind_ip_all,将其设置为true。

      以上两种设置都可以满足localhost登入和指定ServerIP登入。 当指定bind_ip_all参数时,配置文件中可以没有bind_ip参数。

      (2)登入默认的数据库不同。在3.6 版本,默认的连接数据库变成了test,而3.4/3.2 版本默认是admin库。所以,在设置具有root权限的管理员账号时,请先转至admin下操作(因为账号的查询,系统只有在admin才可以查询,所以root权限的账号,建议在admin库创建,用户数据库的账号,转到用户数据库下创建)。账号的删除一定要在归属库下删除。

0 人点赞