小试牛刀:MongoDB 3.6 IP白名单功能验证

大数据

作者:上海小胖

看了这个标题,我不知道你有没有一种潜意识,如果有,没错,那就是这个了,MongoDB 终于开放了我觉得对于一个数据库的安全来说,比较重要的一个模块了 ——IP 白名单

众所周知,MySQL、Oracle、SQL Server等知名的数据库都是有在安全方面作出相当防护的。

讲道理

首先还是先来看看MongoDB的官方文档吧。

https://docs.mongodb.com/master/reference/method/db.createUser/#authentication-restrictions

大数据

简单来说,clientSource 就是针对客户端的IP 做白名单控制。serverAddress 就是针对服务端的IP 做白名单控制。

这里问题来了,客户端IP好理解,无非就是哪里连过来的连接么,这和我们理解上的都一致,那么服务端地IP呢?什么意思?

这里服务端的IP 指的是客户端在连接过来的时候指定的host 地址,比如:mongo –host=192.168.56.101,那么serverAddress 就必须包含192.168.56.101,这里的包含是什么意思?和MySQL一样,同样可以指定B、C网段,来达到多个地址地开放,只是写法有些许出入,MySQL中是:192.168.56.*,MongoDB 中是:192.168.56.0/24。那么如果是使用驱动的话,也是一样的,在host参数中指定对应的IP即可。

接着就来操作一把。

摆事实

1、创建一个应用账号miracle

大数据

大数据

2、重启数据库,开启权限认证

大数据

3、进入miracle 数据库,并验证

大数据

4、使用符合要求的格式重新连接数据库

大数据

5、第四步中出错的原因是因为默认3.6 开启了bind_ip=localhost,而由于一开始忽略了这个问题,折腾了我好久。重启数据库加上–bind_ip_all。

大数据

6、重新连接

大数据

总结

至此,MongoDB的IP白名单功能验证完毕,希望能帮助大家在实际的维护中更安全地控制好开发者的权限。

极客网企业会员

免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。

2017-11-23
小试牛刀:MongoDB 3.6 IP白名单功能验证
作者:上海小胖 看了这个标题,我不知道你有没有一种潜意识,如果有,没错,那就是这个了,MongoDB 终于开放了我觉得对于一个数据库的安全来说,比较重要的一个

长按扫码 阅读全文