安全配置一个生产环境的MongoDB服务器
如果MongoDB是一个为你提供选择的文档存储器,那么这篇文章会帮助你,安全妥善地配置一切就绪的生产环境。
MongoDB安装指南包括了如何在一个droplet上安装MongoDB。
请您阅读安全与认证官方文件。
步骤
推荐两个不同的方法,但都可行。第一个是通过一个SSH通道安全地连接到你的数据库。另一个是允许在网上可以访问到你的数据库。两种方法,推荐前者。
通过SSH通道连接
通过一个SSH通道连接到你的Mongo虚拟专用服务器,你可以避免很多潜在的安全问题。警告:你的VPS一定要完全锁定,不能对其他端口开放。建议SSH配置为只有秘钥或秘钥加密码。
要建立一个SSH通道,你需要保证:
<!--[if !supportLists]-->· <!--[endif]-->你可以通过SSH进入你的Mongo Droplet
<!--[if !supportLists]-->· <!--[endif]-->你的Mongo实例绑定到本地主机
然后,运行以下命令来初始化连接:
# The \s are just to multiline the command and make it more readable
ssh \
-L 4321:localhost:27017 \
-i ~/.ssh/my_secure_key \
ssh_user@mongo_db_droplet_host_or_ip
我们一步一步来看:
<!--[if !supportLists]-->1. 1 <!--[endif]-->SSH通道只需要SSH,你不需要其他特别的程序/二进制文件。
<!--[if !supportLists]-->2. 2 <!--[endif]-->当通过SSH进入MongoDB Droplet时, `-L` 选项会告诉SSH设置一个通道,让当前机器的4321端口传输到27017端口的主机 `localhost`。
<!--[if !supportLists]-->3. 3<!--[endif]--> `-i` 选项只是表示将上面的连接到一个SSH秘钥,而不是一个密码。
<!--[if !supportLists]-->4. 4<!--[endif]--> `ssh_user@mongo_db_droplet_host_or_ip` 是建立一个SSH连接的标准。
第二条是真正的精华,决定你怎样告诉你的应用程序或服务器连接到你的MongoDB Droplet。
通过互联网连接
如果通过SSH通道连接不是一个必然的选择,你可以通过互联网连接,在这里有一些安全策略需要考虑。
首先是要使用非标准端口。这更多的像是一种模糊处理的技术,意思是默认连接适配器没有用处。
# In your MongoDB configuration file, change the following line to something other than 27017
port = 27017
第二,你要把Mongo直接绑定到你的应用程序服务器的IP地址上,这意味着Mongo会只接受连接。
# In your MongoDB configuration file, change the following line to your application server's IP address
bind_ip = 127.0.0.1
最后是,可以考虑使用MongoDB的认证功能,并设置一个用户名和密码。要进行这项设置,需将MongoDb shell作为管理员与 `mongo` 命令连接,并添加一个用户。完成时,要确认你是在MongoDB连接字符串上增加新添加的用户名/密码。
结论
希望您明白,对于MongoDB安全性来说,以上内容只是一个开始,而非全部或结束。有个关键因素没有提到,是服务器防火墙规则。在他们的安全文档里,可以看到对于MongoDB,10gen防火墙有怎样的建议。
相关推荐
关于mongoDB环境的配置,包括windows、liunx和苹果系统。
MongoDB数据库安全配置规范
MongoDB数据库使用方法及安全配置,有兴趣的可以下载,
李丹 - DBA与RD如何更优雅地驾驭MongoDB?
mongoDB安装图解,步骤,解决方案,cmd运行,服务器启动步骤
java中mongodb使用环境详细配置,主要是在Windows上(WinXP)安装、运行、安装Windows服务的笔记,以作备忘。
2020年MongoDB数据库最佳安全配置指导文档,通过配置安全选项,实现数据库的存储、传输和使用安全。
MongoDB数据库配置文件配置项,详细讲述MongoDB数据库配置文件中常需要的各类配置项详细讲述MongoDB数据库配置文件中常需要的各类配置项
由第一节点mongodb节点规划图所示:在服务器31,即node1上安装mongos、shard1、shard4、shard5mkdir -p /opt/app
mongodb安装配置及java操作mongodb 三个word文档和一个Jar包,记录了使用说明
MongoDB的配置文件信息,加载mongodb的属性配置文件,配置mongodb客户端,配置工厂 引用mongodb客户端
grails 配置mongodb数据库,并实现了用户登录的系统,只要将grails的环境配置好,安装上mongodb,再建立一个数据库ggtest,然后运行即可自动生成相应的集合数据。
linux环境下mongodb配置文档及安装包,安装之前一定要检查系统是多少位的,MongoDb区分位数使用 getconf LONG_BIT 命令查看
tigase 7.10 mongodb 3 配置
MongoDB主从环境搭建;MongoDB主从环境搭建MongoDB主从环境搭建MongoDB主从环境搭建
01★MongoDB学习★什么是MongoDB?
7.我应该启动一个集群分片(sharded)还是一个非集群分片的 MongoDB 环境? 8.分片(sharding)和复制(replication)是怎样工作的? 9.我怎么查看 Mongo 正在使用的链接? 10.MongoDB 在 A:{B,C}上建立索引,查询 A:{B,C}和 ...
MongoDB之conf配置文件详解
MongoDB 安装包 ,包含了单服务器的副本集(Replication)配置(单服务器:Windows)