2.不要把生产环境的数据库暴露在Internet上-限制对数据库的物理访问是安全性的非常重要的一个措施。如果没有必要,就不要把生产环境的数据库暴露在Internet上。如果攻击者不能物理地连接到MongoDB服务器这种情形大打折扣,那么数据就不会比现在更安全。如果你把服务部署在亚马逊web服务(AWS)上,那么你应当把数据库部署在虚拟私有云(VPC)的私有子网里。有关这方面的更多信息请阅读博客文章"在私有云(VPC)里部署MongoDB"。
3.使用防火墙-防火墙的使用可以限制允许哪些实体连接MongoDB服务器。最佳的措施就是仅仅允许你自己的应用服务器访问数据库。如果你把无法部署在亚马逊web服务(AWS)上,你可以使用"安全组“功能限制访问权限。如果你把服务部署在不支持防火墙功能的提供商的主机上,那么你可以亲自使用"iptables"对服务器进行简单的配置。请参考mongodb的文档,实现对你所面对的具体环境配置iptables。
6.禁止REST接口-在生产环境下建议不要启用MongoDB的REST接口。这个接口不支持任何认证。默认情况下这个接口是关闭的。如果你使用的"rest"配置选项打开了这个接口,那么你应该在生产系统中关闭它。
rest = false
7.配置bind_ip- 如果你的系统使用的多个网络接口,那么你可以使用"bind_ip"选项限制mongodb服务器只在与该配置项关联的接口上侦听。默认情况下mongoDB绑定所有的接口。
bind_ip = 10.10.0.25,10.10.0.26
8.启用SSL- 如果你没有使用SSL,那么你在MongoDB客户端和MongoDB服务器之间的传输的数据就是明文的,容易受到窃听、篡改和“中间人”攻击。如果你是通过像internet这样的非安全网络连接到MongoDB服务器,那么启用SSL就显得非常重要。
评论删除后,数据将无法恢复
评论(4)