MongoDB安全访问将从以下三个方面得到控制!
1、绑定IP内网地址访问MongoDB服务
2、设置监听端口
3、使用用户名和密码
绑定IP内网地址访问MongoDB服务
MongoDB可以限制只允许某一特定IP来访问,只要在启动时加一个参数bind_ip即可,如下:
服务端限制只有192.168.1.103这个IP可以访问MongoDB服务
- [root@localhostbin]#./mongod--bind_ip192.168.1.103
客户端访问时需要明确指定服务端IP,否则会报错:
- [root@localhostbin]#./mongo192.168.1.102
- MongoDBshellversion:1.8.1
- connectingto:192.168.1.103/test
- >
设置监听端口
官方默认的监听端口是27017,为了安全起见,一般都会修改这个监听端口,避免恶意的连接尝试,具体如下:
将服务端监听端口改为28018
- [root@localhostbin]#./mongod--bind_ip192.168.1.103--port28018
客户端访问时不指定端口,会连接到默认端口27017,对于本例会报错
- connectingto:192.168.1.102/test
- SunApr1515:55:51Error:couldn'tconnecttoserver192.168.1.102shell/mongo.js:81
- exception:connectFailed
所以当服务端指定了端口后,客户端必须要明确指定端口才可以正常访问
- [root@localhostbin]#./mongo192.168.1.102:28018
- connectingto:192.168.1.102:28018/test
- >
使用用户名和密码
MongoDB默认的启动是不验证用户名和密码的,启动MongoDB后,可以直接用MongoDB连接上来,对所有的库具有root权限。所以启动的时候指定参数,可以阻止客户端的访问和连接。
先来启用系统的登录验证模块,只需在启动时指定auth参数即可
- [root@localhostbin]#./mongod--auth