我想在一台服务器上设置MongoDb,我一直在寻找以确保我做得对。到目前为止,我已经收集了一些关于安全性的基础知识:
我还提到了一件关于可靠性的事情。
这是故事的结尾吗?启用身份验证和日记功能,您最好只使用一台服务器吗?
谢谢!
答案 0 :(得分:1)
如果您在单个服务器上运行,那么您肯定应该启用日记功能。在2.0上,这是64位版本的默认值;在32位版本或更早版本(1.8.x系列)上,您可以使用--journal
命令行标志或配置文件选项启用它。请注意,使用日记会导致MongoDB使用它通常会占用的双倍内存,这在32位计算机上主要是一个问题(因为内存通常限制在2GB左右,日记会有效减半)。
身份验证可以提供帮助,但最好的安全措施是确保只有您控制的计算机才能与MongoDB通信。您可以使用--bind_ip
命令行标志或配置文件选项执行此操作。您还应该设置防火墙(iptables或类似的)作为额外措施。
对于注入攻击,只要你不盲目地将JSON(或类似结构)转换为PHP关联并将它们直接传递给MongoDB方法,你应该是安全的。如果您自己构建关联,通过处理$POST
或$GET
值,您应该是安全的。