知名设备安全搜索引擎Shodan的创始人John Matherly表示,全网MongoDB数据库泄露数据量高达595.2TB。其中原因多是为MongoDB版本过于老旧或是随意放在公网没有经过身份验证。
风险描述
MongoDB是一个不错的开源SQL数据库,许多公司如“纽约时报”、“易趣”、“Foursquare”,都采用了这种数据库。当然,在中国的使用案例也很多,这点大家从安全漏洞报告平台的海量上报中就能看出。
MongoDB的最新版本是3.0.4,而直到2.4.14版本的MongoDB还默认监听的是0.0.0.0的地址,也就是说接受来自公网的直接访问。
自2012年Roman Shtylman提出这个漏洞以来,到现在还有不少躺枪的厂商,况且后来Roman Shtylman还发现不少MongoDB连基本的认证都没装。RMongoDB漏洞版本没有在mongodb.conf文件里配置bind_ip 127.0.0.1,这会让服务器暴露在公网里,犹如没穿衣服的少女处于虎视眈眈的大汉之中。正确的做法是尽可能把外网开放关掉,在管理需要的时候再开 放,甚至干脆就不开放。MongoDB2.6也可能存在问题。
大多数暴露的数据库运行在云服务器上,如亚马逊、数字海洋(Digital Ocean)之类的云服务商。Roman Shtylman认为这是因为云镜像并不会经常更新,这才导致了数据版本老旧,以及不安全版本软件的部署。
大多不设防
Roman Shtylman的团队并不是第一次留意到MongoDB的安全,在2015年二月,他们曾宣布近四万的MongoDB实例容易受到网络攻击。在德国萨尔 州大学的三名学生,在数千WEB服务器上发现MongoDB数据库运行在外网的TCP 27017端口,并没有适当的防御措施。
德国的专家小组报告说,他们不使用任何特殊的黑客工具,就可以轻易对这类MongoDB数据库进行读写操作。