聊聊MongoDB赎金事件
Posted 给产品经理讲技术
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了聊聊MongoDB赎金事件相关的知识,希望对你有一定的参考价值。
前几天MongoDB赎金事件闹得沸沸扬扬,大致经过是这样的:有些公司的MongoDB数据库被不小心暴露到公网上了,同时这些数据库也没有设置访问权限,网络上的任何人都可以随意访问这些数据库进行增删改查的操作,于是就有不怀好意的人,把数据库里的数据转移/删掉了,留下一条勒索信息,让受害者支付比特币才能找回数据。
如果受害者没有定期备份数据库,同时被黑掉的数据又是不可或缺的,那么只有认栽,向勒索者低头。而且,目前还没有证据证明,付了赎金就一定能找回数据。
虽然我们侥幸没有遇上这样的事情,但是也足够让我们反思一下,如何避免这种事情发生在自己的身上。
首先,是要坚持对重要的数据定期有备份。正所谓狡兔三窟,既然这些数据很重要,那么就得有多个备份,同时这些备份还得存放在不同的服务器上,以免单一节点的事故,导致团灭。
其次,就是要避免『面向百度/Google/Stackoverflow编程』,现在大家遇到问题都习惯去网上搜一下,找到相同的问题及解决办法,就直接抄下来,自己一试,还真能解决问题,然后就不再仔细研究抄下来这段代码的真实含义了。这次MongoDB的勒索事件,就是配置错误了,用全局监听0.0.0.0:27017 取代了本地监听127.0.0.1:27017,前者是面向公网所有用户的,而后者只允许本地访问。对于一些小白用户来说,从网上抄回来的这两个配置都可以让他访问到数据库,感觉是“可用的”,于是就不再深究它们的区别了。
然后公网服务器的防火墙也要配置好,对外服务的端口就那么固定的几个,这几个端口开放了就行了,其余端口在防火墙上统统关闭,这样即便是遇到了服务配置错误,也可以在外层的防火墙这儿挡住恶意攻击者。
还有,就是得定期有安全审计,换句话说,就是得定期找一些白帽子来试试你的服务,测试一下看有没有什么安全漏洞没堵上的,以及上面提到的疏忽问题,也能及时被发现。当然,如果你没有足够多的资金来做安全审计,那还不如直接上云服务,至少它们是有专门负责安全的人员,你只用付少量服务费即可。
总之,还是防范于未然吧,在安全上多花一些心思,总是有好处的。
以上是关于聊聊MongoDB赎金事件的主要内容,如果未能解决你的问题,请参考以下文章