Ubuntu上開啟MongoDB的IP Security
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。
本文永久更新連結地址:https://www.bkjia.com/Linux/2018-02/151072.htm