在Ubuntu上开启MongoDB的IP Security

本文翻译之MongoDB官网博客,原地址:https://www.mongodb.com/blog/post/enabling-ip-security-for-mongodb-36-on-ubuntu

MongoDB3.6的默认配置会拒绝未受权的连接对公共网络的访问,从而保护数据收到外部威胁。MongoDB只会监听本地连接,除非添加规则容许监听其余地址。mongodb

 

本教程会简明的展现如何容许外部IP地址链接MongoDB节点,并保证联网服务器能够链接到你的数据库。经过本教程,你会发现配置MongoDB监听具体的网络端口是很容易的一件事情。shell

 

看本教程前,你须要:数据库

l  安装MongoDB3.6ubuntu

l  服务器上有多个网络接口(本例会使用AWS EC2实例)安全

l  了解IP网络的基本知识,会配置私有IP服务器

 

我启动了安装有 Ubuntu 16.04 LTS的一台AWS EC2的实例,而且安装了MongoDB3.6网络

我想容许个人部分VPC IP地址链接到咱们的MongoDB数据库。经过这种方式,能够保证只有咱们的指定IP以及本机才能链接到数据库,而其余陌生地址禁止访问数据库。tcp

 

首先启动VPC公共子网中的Ubuntu实例。post

根据MongoDB官网文档安装mongodb3.6,经过如下命令能够查看进程占用了那个网络端口:翻译

ubuntu@ip-172-16-0-211:~$ sudo netstat -plant | egrep mongod

tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN      2549/mongod

命令结果输出显示用户只容许经过本机的27017端口进行访问,若是想其余系统访问数据库,就须要进行IP绑定。运行ifconfig命令

ubuntu@ip-172-16-0-211:~$ ifconfig
eth0      Link encap:Ethernet  HWaddr 0e:5e:76:83:49:3e
          inet addr:172.16.0.211  Bcast:172.16.0.255  Mask:255.255.255.0
          inet6 addr: fe80::c5e:76ff:fe83:493e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:9001  Metric:1
          RX packets:65521 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7358 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:94354063 (94.3 MB)  TX bytes:611646 (611.6 KB)

如今咱们知道了咱们想要监听的网络地址,打开/etc/mongodb.conf文件,进行编辑,文件修改后以下:

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1,172.16.0.211

如今文件中就添加了一个IP地址172.16.0.211, 重启mongod服务。

ubuntu@ip-172-16-0-211:~$ sudo service mongod stop
ubuntu@ip-172-16-0-211:~$ sudo service mongod start
ubuntu@ip-172-16-0-211:~$ sudo netstat -plnt | egrep mongod
tcp        0      0 172.16.0.211:27017      0.0.0.0:*               LISTEN      2892/mongod
tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN      2892/mongod

能够看到如今除了本机,数据库还能够接受指定的IP的请求。

经过本机链接:

ubuntu@ip-172-16-0-211:~$ mongo localhost
MongoDB shell version v3.6.0-rc2
connecting to: mongodb://127.0.0.1:27017/localhost

经过指定IP链接

ubuntu@ip-172-16-0-211:~$ mongo 172.16.0.211
MongoDB shell version v3.6.0-rc2
connecting to: mongodb://172.16.0.211:27017/test

默认的本机配置是有不少好处的,可是如今就须要明确指定那些网络能够链接数据库,防止不信任的网络链接到系统。保证MongoDB系统不受远程攻击是很是重要的,确保只有在安全清单上的IP才能链接到系统。

你就知道了如何为系统配置其余IP地址以访问数据库,如今就能够为你的复制集进行配置了。不要忘记作备份、监控。若是你不想在这些工做上消耗太多精力,能够了解一下咱们的数据库即服务:MongoDB Atlas。

相关文章
相关标签/搜索