编者按
最近关于MongoDB黑客赎金事件刷爆了朋友圈。作为MongoDB大中华区团队,我们希望我们的客户和用户知悉:
- MongoDB数据库本身是具有企业级安全性的,花旗、巴克莱、高盛等顶级金融机构大规模使用就是一个很好的例证。
- 受攻击MongoDB的实例大都是因为没有遵照生产环境部署手册部署的结果。
- 如果您的数据库实例受到影响,请及时与MongoDB大中华区技术团队联系(jianfa.tang@mongodb.com 微信 tjtang826) 获取咨询及帮助。
- 如果您对数据有较高的安全标准,请考虑使用 MongoDB 企业版。
另外,针对于社区不少同学提到对MongoDB安全功能不太了解的情况,我们的高级咨询顾问张耀星将为大家特地推出一个安全线上讲座(讲座日期: 1.16晚上8点)。在这个讲座里他会给大家介绍MongoDB的一些基本安全功能,最佳的部署实践,并佐以一些演示来让大家了解到启用安全很重要,而且也很容易!点击这里立即报名 。
下面是来自美国MongoDB总部的正式回复。
来自MongoDB官方的回答:
最近有报告称,网络上有一些黑客恶意攻击在互联网上公开运行的MongoDB数据库。攻击者号称在备份了数据后删除了整个数据库,并要求被攻击者支付赎金以还原被删除的数据。
如果您认为您的数据库有可能遭到此类攻击,请参阅附于文末的建议步骤。
这些攻击其实完全可以通过MongoDB中内置的完善的安全机制来预防。您需要正确使用这些功能,而我们的安全文档将帮助您这样做。这里是相关文档和一些其他有用资源的链接:
- 我们的安全手册 对MongoDB的安全有详细的说明。我们最近还扩展了我们在安全方面的在线培训,作为MongoDB大学课程的一部分。
- 参照我们的安全最佳实践中的步骤,包括开启认证,启用访问控制,限制网络访问和其他重要的最佳实践。
默认情况下,最受欢迎的MongoDB(RPM)安装程序会把对MongoDB实例的访问限制到localhost。如果您通过其他方式安装,也可以使用此配置。
MongoDB Cloud Manager和MongoDB OpsManager提供连续备份与时间点恢复,用户可以启用告警,以检测其部署是否暴露于互联网(见下面的图1)。
图1:创建一个新的告警,通知您主机是否暴露于公共互联网。
最新的MongoDB 3.4版本可以让您在不停机状态下启用身份验证。
MongoDB Atlas,MongoDB官方提供的MongoDB云数据库服务为您的数据库提供多个级别的安全性。这些功能包括强大的访问控制,使用Amazon VPC和VPC Peering的网络隔离,IP白名单,使用TLS / SSL的数据加密以及底层文件系统的静态加密。
我们鼓励经历过MongoDB安全事件的用户创建漏洞报告。此处提供了有关如何执行此操作或与我们联系的说明。
如果您有兴趣了解有关安全最佳做法的更多信息,请阅读我们的安全架构白皮书。
受攻击后建议诊断和响应步骤
如何判断攻击者是否损害了您的数据?
- 如果您已经为数据库正确配置了访问控制,攻击者应该访问不到您的数据。您可以参考下我们的安全清单,以加强潜在的安全弱点。
- 验证您的数据库和集合。在最近的案例中,我们已经看到,攻击者丢弃了数据库和/或集合,并用一个ransom需求的新的替换它们。
- 如果启用访问控制,请审核系统日志以进行未经授权的访问尝试或可疑活动。
如果您的MongoDB实例已经被攻击,请参考以下步骤:
- 如果您是MongoDB企业支持客户,请尽快提交P1订单,我们的技术服务工程师可以指导您完成以下过程。
- 您的首要任务是保护您的集群以防止进一步的未授权访问。您可以参照我们的安全实践文档。
- 通过运行 usersInfo 来检查是否有添加,删除或修改的用户。
- 检查日志以查找攻击的时间。检查是否有删库或者删表,修改用户或创建赎金记录的命令。
- 如果你有定期对受损数据库进行备份,则可以还原最近的备份。您需要评估最近的备份和攻击时间之间可能已更改的数据量。如果您使用Ops Manager或Cloud Manager进行备份,则可以恢复到攻击之前的时间点。
- 如果您没有备份或以其他方式无法还原数据,那么您的数据可能会永久丢失。
- 您应该假设攻击者已经复制了受影响的数据库的所有数据。请按照内部安全流程对数据泄露事件进行恰当处理。
- 最后,请参阅我们的安全最佳做法和资源,以便将来保护您的数据。
编者:唐建法(TJ Tang)
评论前必须登录!
注册