zoukankan      html  css  js  c++  java
  • 在Ubuntu上开启MongoDB的IP Security

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

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

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

    看本教程前,你需要:

    l  安装MongoDB3.6

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

    l  了解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。

  • 相关阅读:
    linux下最简单的端口转发工具
    FRP 简单入门安装配置教程
    Linux上创建SSH隧道
    微信公众平台 · 小程序文档
    windows 10
    高清方法生成缩略图函数
    用python的turtle画图
    python安装包下载
    nginx 报invalid pid number
    derby数据库windows自带的客户端
  • 原文地址:https://www.cnblogs.com/Tsoagta/p/8469746.html
Copyright © 2011-2022 走看看