You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
7.2 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 063 | 文档数据库的缔造者MongoDB
鉴于10gen公司改名叫MongoDB了这篇文章里我们统一称为MongoDB公司。上回说到MongoDB公司的发展策略是尽善尽美地提供良好的使用体验而对于产品功能本身则是哪怕不成熟也先推出来再说。这种策略的好处是让这个数据库很快地流行开来坏处是用户用久了各种问题层出不穷苦不堪言用户甚至跳出来公开说“不要用MongoDB”。
**MongoDB作为一个不成熟的产品在2016年的时候终于曝出了一个非常严重的事件MongoDB的安全门事件**。任何一个国家的任何一个计算机产品,如果出现了安全相关的事件,对产品的影响都可能是致命的。
这个事件是安全界大牛维克托 · 格弗斯Victor Gevers在2016年底发现的并于2017年初开始广为人知。做这个事情的黑客组织HaRak1r1把MongoDB的数据给删除了然后留下一个叫作WARNING的数据库里面的主要内容是说给我们送0.2比特币到某个收费的地址然后给我们发邮件harak1r1@sigaint.org告诉我们你的IP地址这样你就能够把丢失的数据拿回来。
大概是这个事情被到处报道闹得沸沸扬扬的而这个黑客组织又怕暴露在聚光灯下在两天紧锣密鼓地攻击了大概8500个不同的MongoDB以后这个黑客组织收手了。
然而架不住“撑死胆大的饿死胆小的”黑客后浪推前浪前浪虽然死在了沙滩上后浪仍接踵而来own3d马上就开始继续搞事而且收费涨到了半个比特币一下涨了好几倍。这之后阿猫阿狗的黑客组织鱼龙混杂地展开攻击开始删除各种MongoDB的数据。事情到这个地步问题已经扩大化了。
**那么,到底是什么导致了这个问题呢**为什么有那么多人的MongoDB在“裸奔”呢这个问题非常有意思而国外早有好事者在研究。
**简单来说MongoDB从一开始就不是一个安全的系统**。MongoDB的早期版本一直都默认侦听0.0.0.0这个外网地址但如果有基本的安全常识都应该知道默认配置要放到内网地址127.0.0.1。
这个问题在2011年11月就有用户汇报给了MongoDB有兴趣的可以查Jira上的Server-4216。很有意思的是在这个汇报的问题中MongoDB公司CTO在2012年还回复说如果我们修了这个BUG就会影响到以前的安装的行为。如此严重的BUG在MongoDB中又是什么时候修复的呢2014年。
近三年的时间里这个BUG的优先级居然只有P2级别。一般软件公司遇到这种安全问题给的等级多半都是P0级别。当我亲自去查看这个BUG的详情时一种恐惧感油然而生。MongoDB的人难道基本的安全常识都没有吗
做个对比来看传统的数据库不管是商用的Oracle、SQL Server还是开源的PostgreSQL、MySQL默认的设置都有用户名和密码都会监听在内网上。我们不能说这就特别安全但起码默认的设置还是合情合理的。MongoDB倒好默认的设置是在外网上“裸奔”。我也不知道这个事情为什么长久未被解决。
根据不完全统计这次全球暴露在黑客眼皮子底下没有任何安全防范措施的数据近600 TB。当然这个数字还可能更大。这件事让我们看到了一个产品如果做得非常好用但是该花力气的地方却没花可能造成的破坏力到底有多大。
**MongoDB的这次安全门事件也引发了一些人一直以来就有的顾虑**。在印度政府对MongoDB一直就持怀疑态度觉得这个软件不安全其主要理由是MongoDB的投资机构里面有一家叫作In-Q-Tel的风险投资公司。这家公司在创投圈里很有名可能不被普通群众熟知但是其背后的老板那可是无人不知无人不晓的CIA。
一家接受了CIA这个美国情报机构作为老板的风险投资公司它开发的软件到底安全性有多高是不是有后门有没有搞鬼基本上是件说不清楚的问题。这次大规模的数据泄露“裸奔”事件和产品可能既有的漏洞是不是有关系更是谁也说不清楚的事情了。
**可以说,在我见过的数据库产品中,这是第一个犯下如此常识性数据安全错误的**。那么一家企业会想让自己的数据“裸奔”于互联网被黑客删除问你要比特币吗如果你不想面临这样的境况那就得仔细斟酌一下要不要使用MongoDB了。
当然MongoDB的新版里这个问题早就修复了。只是很多人尤其是政府部门对于这个接了CIA投资的公司始终都保持了一些警惕的态度。我并没有看到中国对这家公司和这个产品的担心但是印度已经有了这样的担心。这种担心是杞人忧天还是确有必要呢
**2017年下半年震撼整个IT圈的事情莫过于MongoDB开始准备材料要上市了**。具体上市的时间可能不是今年底就是明年初。MongoDB这一路走来终于走向上市的道路这的确是一件可喜可贺的事。
小道消息传来有人采访MongoDB的领导领导当然是一副天机不可泄露的样子。今年9月份在慕尼黑参加数据库领域的顶级会议VLDB时我还和MongoDB的人聊天问他们对公司即将上市是怎么看的。
对方的第一反应当然是环顾左右而言它,不想讨论这个话题。于是我说,要不我们就假设要上市吧,那么上市以后对你们有什么改变呢?当然,改变最大的就有辛辛苦苦那么久,终于要赚到钱了。
在北美市场上创业公司不计其数能够最后走到上市的却百不存一。顺利地上市无疑是对MongoDB这个产品的最大肯定。投资人终于有了回报员工和创始人终于可以从此财务自由、衣食无忧了。上市对于很多人来说是人生的新起点对很多公司来说也是发展的里程碑。
这条上市路不知道MongoDB会怎样走下去市场上对于MongoDB的热情毕竟没有当初那样热烈了。然而即使热度降低以后MongoDB依然是全球市场上占有率最高的数据库之一。MongoDB“容易上手”的特性决定了它在初创公司里占据特殊的地位更何况很多公司还拿它来跑更重要的非初创产品呢。
但是我们也应该承认即使到今天MongoDB刨去“易用性”在很多方面仍然存在很多这样那样的问题。MongoDB公司赚钱的途径也有一些但是离盈利却还比较遥远。虽然大家都知道创业公司一般都要烧钱很多年。
MongoDB一路走来并即将上市这也是一个成功的故事了。而从10gen发展至今它在开发出MongoDB这个产品之后所采取的一系列开发和商业运作措施和很多同时代、同类型的公司相比有着鲜明的特点。2017年初的这次大规模安全事件则是一个非常值得你我思考的严肃事件。
关于MongoDB的故事讲完了MongoDB上市的消息也已被证实。但不知道你又会如何看待MongoDB的这次安全门事件以及MongoDB的投资机构里面有CIA作后台的In-Q-Tel呢