在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。

相關文章
相關標籤/搜索