阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu上开启MongoDB的IP Security

107次阅读
没有评论

共计 1970 个字符,预计需要花费 5 分钟才能阅读完成。

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

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

看本教程前,你需要:

  • 安装 MongoDB3.6
  • 服务器上有多个网络接口(本例会使用 AWS EC2 实例)
  • 了解 IP 网络的基本知识,会配置私有 IP

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

我想允许我的部分 VPC IP 地址连接到我们的 MongoDB 数据库。通过这种方式,可以保证只有我们的指定 IP 以及本机才能连接到数据库,而其他陌生地址禁止访问数据库。

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

根据 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。

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计1970字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中