刚刚过去的这个周末,各位大数据和数据库从业者想必是被MongoDB的“安全事件”给刷屏了,MongoDB作为当前NoSQL在全球的领军人物,遭到这么大规模的黑客攻击,这也再次让我们对于新一代的开源数据库的数据安全问题产生了思考。而作为国内领先的新一代分布式数据库厂商,我们也来说说我们对这个事件的看法。

事件回顾

此前,众多无需身份验证的开放式 MongoDB 数据库实例正在遭受多个黑客组织的攻击,被攻破的数据库内容会被加密,受害者必须支付赎金才能找回自己的数据。攻击者利用配置存在疏漏的开源 MongoDB 数据库展开了一系列勒索行为。此番针对 MongoDB 的勒索行为最早是由 GDI Foundation 的安全研究人员 Victor Gevers 在2016年12月27日发现的,在这之后影响陆续扩大,目前至少有五个不同黑客组织控制了上万个数据库实例。

目前在Google Docs上有一个列表,其中列出了参与此次攻击的黑客组织名单,具体数量还在增加中。攻击者所要求支付的金额各异,最低仅0.15个比特币,但也有高达1个比特币的赎金。2017年至今,比特币的价值上下波动,截止1月6日,具体金额约等于892美元。

此次针对MongoDB的攻击非常简单,利用了配置有误且可公开访问的数据库,无须具备相应的管理员凭据即可展开攻击。一旦攻击者登录到开放的数据库,随后会全面夺取控制权并窃取或加密数据库,被勒索的受害者必须支付赎金才能找回自己的数据。

事件几点分析

针对此次的MongoDB安全事件,业界的评判不一,而从一个数据库厂商的角度,我们认为主要的原因有一下几点:

1) 数据库用户的安全意识:本次攻击的原理并不复杂,基本属于把自己数据库的大门敞开,难免最终会被贼“光顾”。一方面,用户对于数据库特别是MongoDB这样的数据库新面孔并没有特别熟悉,因此在使用的过程中由于经验不足而没有注意数据库安全的设置。另一方面,一些用户会认为防火墙和数据中心的安全机制已经足够,不需要再管数据库的安全设置,最终“大意失荆州”。归集起来,原因主要还是用户对于数据库使用的经验不足。

2) 黑客攻击后未有有效的警告:除了本身用户使用的大意,对于数据库安全的监控无论是厂商自己还是相关的机构都远未达到大家的预期。首先,早在15年有关MongoDB“裸奔”的消息放出后,无论是厂商还是业界都没有引起足够的重视,更没有有效的警告和提醒。其次,在本次大规模的攻击事件发生后,各方的反应也较慢,直到有媒体开始爆出消息才引起了厂商和用户群体的警惕。然而可以说是“为时已晚”。

3) MongoDB的安全机制不完善:虽然本次安全时间并不是因为MongoDB程序自身的漏洞而遭到大规模攻击,但是作为厂商,产品用户遭到大规模的攻击和勒索,自己也是难逃其咎。总结起来主要有两个问题,一个是安全机制的不完善,也就是在使用中没有自动化的安全保护机制,如MongoDB在3.x之后更改了鉴权协议,而不兼容2.x版本协议,许多用户因为不愿升级而最终选择“裸奔”。另一个,MongoDB也没有能有效的提醒用户注意设置数据库权限,对于可能出现的“裸奔”情况,其并没有做好十足的提醒,保证用户必须设置好权限才可以使用,这也是造成本次事件的主要原因之一。

数据库安全的思考

说了这么多,大家应该也比较关心怎么去预防类似问题的出现,我们也在这里给大家几点思考吧:

1) 数据库安全十分重要:这次的事件提醒大家,数据库安全真的很重要。无论是资深的还是新人“小白”用户,都应该把数据库的安全提到一个重要的位置。用户们要注意数据库的安全保护,充分利用好数据库的安全机制,保护好自己的数据。避免这次MongoDB“裸奔”的情况出现。

2) 企业用户需要专业的技术支持:对于数据量达到一定规模或者是保存的数据十分敏感、重要的企业用户,无论是数据库安全还是数据库的高效管理、高性能配置,我们认为最好都要寻求专业的厂商技术团队的支持。厂商专业的团队可以帮助企业更全面的使用和管理好自己的数据库平台,同时,厂商专业的团队也能给到用户最好最及时的数据库安全保护和漏洞修复服务,避免大规模数据库安全事故的发生。

3) 国产化与开源产品:虽然目前业界也有许多的海外开源产品,但是作为用户,如果在并不能完全了解这些技术的前提下使用开源架构,很可能也会面临使用上和管理上的一些盲点,造成出现数据库“裸奔”这样的失误。因此,国内的用户我们也认为可以考虑更多国产大数据架构,这样不仅产品更适合国内应用场景需求,在技术支持上相对海外的开源架构,更能给到原厂代码级别的服务支持。

4) 厂商的产品服务:反过来,对于厂商,我们希望厂商也都能引以为戒,产品开发要更全面的考虑到用户的需求以及可能遇到的问题,同时对客户的服务响应上也要更加的及时,不要等到大规模的爆发了问题才引起重视。

SequoiaDB巨杉数据库

SequoiaDB巨杉数据库是一款新一代的分布式NewSQL数据库,完全自主研发并且产品已经商业化开源。巨杉数据库的产品和服务能够切实保障用户的数据安全:

  • 分布式高可用:完全的分布式架构,实现了数据的多副本与高可用,保证数据实时在线。
  • 容灾:巨杉数据库的跨数据中心异地容灾,保证企业的数据安全。
  • 7x24小时原厂技术支持:巨杉最专业的技术团队,为企业用户提供7x24的本地技术支持,加速企业用户的大数据业务,是您的大数据系统的坚强后盾。

关于MongoDB安全事件的一些思考的更多相关文章

  1. MongoDB安全事件的防范与反思

    此文已由作者温正湖授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 近段时间来,全球范围内数以万计的MongoDB实例被攻击,作为旨在为用户提供最优MongoDB云服务的网易蜂 ...

  2. MongoDB,还有一个角度看数据

    传智-玄痛(传智播客北京校区C/C++学院技术指导老师) MongoDB的起源 几年前 10gen 公司做了 SaaS 方面的研发,由于公司一个 MongoDB 产品存储接口的易用性,用户评价很好,公 ...

  3. 2017年开年的第一次比较大的安全事件: MongoDB “赎金事件”,如何看待互联网安全问题

    今天上午(2017年1月7日),我的微信群中同时出现了两个MongoDB被黑掉要赎金的情况,于是在调查过程中,发现了这个事件.这个事件应该是2017年开年的第一次比较大的安全事件吧,发现国内居然没有什 ...

  4. 单点登录(十四)-----实战-----cas5.0.x登录mongodb验证方式常规的四种加密的思考和分析

    我们在上一篇文章中已经讲解了cas4.2.X登录启用mongodb验证方式 单点登录(十三)-----实战-----cas4.2.X登录启用mongodb验证方式完整流程 但是密码是明文存储的,也就是 ...

  5. 关于mongoDB的思考和nodeJS执行windows系统命令

    P1:在cnodejs.org上面看到有人问这个问题: 然后对此产生思考,第一句db.artile.find('uid':id) 然后问后台是否是这样查询,后台告诉我不是,这种写法就是违背非关系型数据 ...

  6. MongoDB仲裁节点的理解以及memcached,zookeeper,redis,故障恢复方案思考.

    在进行副本集部署时我们会添加一个或多个仲裁节点,仲裁节点不用于备份数据,由于它职责的职责是负责选举主节点,所以对硬件没有太高要求,可以将它部署在单独的服务器上,这个服务器可以是监听服务器,也可以部署在 ...

  7. CAP理论与MongoDB一致性、可用性的一些思考

    大约在五六年前,第一次接触到了当时已经是hot topic的NoSql.不过那个时候学的用的都是mysql,Nosql对于我而言还是新事物,并没有真正使用,只是不明觉厉.但是印象深刻的是这么一张图片( ...

  8. MongoDB分页的Java实现和分页需求的思考

    前言 传统关系数据库中都提供了基于row number的分页功能,切换MongoDB后,想要实现分页,则需要修改一下思路. 传统分页思路 假设一页大小为10条.则 //page 1 1-10 //pa ...

  9. 关于Mongodb RC的思考

    Mongodb Oplog 和 Journal log 的关系与执行顺序 就关系来说,op log实际上与数据是一致的概念. 但在有 RC的时候,执行顺序 w  j 的设置 如果不设置 j ,则默认是 ...

随机推荐

  1. 一个小博客教你把vim用飞起来

    引言 今天我们特地来讲讲这个vim的配置. vim这东西, 很多人装逼的时候经常会提到, 不过大部分人对个vim的配置还是很陌生的, 因为 这个编辑器的学习成本还是有点高的, 但是不要紧, 今天我们就 ...

  2. OpenCV探索之路(十一):轮廓查找和多边形包围轮廓

    Canny一类的边缘检测算法可以根据像素之间的差异,检测出轮廓边界的像素,但它没有将轮廓作为一个整体.所以要将轮廓提起出来,就必须将这些边缘像素组装成轮廓. OpenCV中有一个很强大的函数,它可以从 ...

  3. 让xcode8支持7.0的设备

    升级到xcode8之后发现不能支持7.0设备 1 . 下载文件将文件覆盖到 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS. ...

  4. Mac上面Mov转gif

    尝试了很多方法,后来发现这个网站转换的结果最好, http://ezgif.com/video-to-gif/

  5. python利用selenium和safari浏览器驱动实现新浪微博自动点赞 Demo

    import time from selenium import webdriver browser = webdriver.Safari() browser.get('http://weibo.co ...

  6. docker核心概念及centos6下安装

    Docker三大核心概念 镜像 容器 仓库 镜像 docker镜像类似于虚拟机镜像,可以将它理解为一个面向Docker引擎的只读模板,包含了文件系统. 容器 1.容器是从镜像创建的应用运行实例,容器和 ...

  7. hdu5803

    hdu5803 题意 给出四个整数 A B C D,问有多少个四元组 (a, b, c, d) 使 a + c > b + d 且 a + d >= b + c ,0 <= a &l ...

  8. 网络安全——一图看懂HTTPS建立过程

    关于网络安全加密的介绍可以看之前文章: 1. 网络安全--数据的加密与签名,RSA介绍 2. Base64编码.MD5.SHA1-SHA512.HMAC(SHA1-SHA512) 3. When I ...

  9. Java常用类之【Math类、Random类、System类、Runtime类】

    一.Math类 Math类 [绝对值]Math.abs();//返回对应类型的绝对值 [最大值和最小值]Math.max(int a, int b) ,Math.min(int a,int b);(其 ...

  10. 一般处理程序+htm C#l简单的增删查改

    首先引用两个文件一个dll: 数据库表已创建 首先编写数据读取部分 /// <summary> /// 查询 /// </summary> /// <param name ...