阅读 230

管理MongoDB中的持续安全问题

无论你在加固你的MongoDB安装的安全性方面付出了多少努力,随着时间的推移,不可避免地会出现新的漏洞。从一开始就以安全设置来运行Mongo,同样重要的是经常进行检查和诊断以确定系统的安全状态。

例如,你应该定期检查MongoDB的新更新,确保你使用的版本没有任何未修补的漏洞。Mongo的版本号采用X.Y.Z的形式,其中X指的是版本号,Y指的是发布或开发系列号,Z指的是修订或补丁号。MongoDB大约每年都会发布一个新版本,在写这篇文章时,最新的版本是4.4,但他们也会根据需要发布新的修订版和补丁。

虽然MongoDB通常建议你使用现有的最新版本以优化安全性,但要注意新的版本系列(指从4.4版到4.6版)有可能破坏向后的兼容性。也就是说,MongoDB建议你总是升级到发行系列的最新稳定版本(意思是,如果你安装了4.4.4版本,当它可用时,你应该升级到4.4.5),因为这些通常是向后兼容的补丁,旨在修复错误。

人们还应该考虑他们打算如何与他们的MongoDB数据库互动,以及这是否会随着时间的推移而改变。MongoDB提供了几个命令和方法,允许你默认执行服务器端的JavaScript函数。作为一个例子,你可以使用$where 操作符来评估一个JavaScript表达式,以便查询文档。这为你提供了更大的灵活性,因为它允许你表达那些没有同等标准运算符的查询。然而,通过允许服务器端的Javascript执行,你也会将你的数据库暴露在潜在的恶意表达式中。因此,MongoDB建议,如果你不打算使用服务器端的脚本,你应该禁用它。

同样,MongoDB默认会验证所有的用户输入,以确保客户不能向数据库插入畸形的BSON。这种输入验证并非对每个使用情况都有必要,但MongoDB建议保持输入验证功能,以防止你的数据库存储任何无效的BSON文档。

相关资源

文章分类
后端
文章标签