通过MongoDB安全事件来谈谈为什么要用云服务

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
云数据库 Tair(兼容Redis),内存型 2GB
简介: 每到年底,比铁路部门还忙碌就是各路小偷,恰巧最近一篇关于NoSQL暴露公网的文章开拓了他们的思路。就在文章发布后的这一周里,我陆陆续续接到关于自建MongoDB被“黑客”攻击,数据被删,并且索要Q币的案例。今天我自卖自夸下,为了数据库安全,快点上云MongoDB。正式自夸之前,我们先来复盘看看。

每到年底,比铁路部门还忙碌就是各路小偷,恰巧最近一篇关于NoSQL暴露公网的文章开拓了他们的思路。就在文章发布后这一周里,陆陆续续接到关于自建MongoDB被“黑客”攻击,数据被删,并且索要Q币的案例。今天我自卖自夸下,为了数据库安全,快点上云MongoDB。但正式自夸之前,我们先来复盘看看。

被黑者特征

本次事件的作案手法实在是称不上高级,所以我暂且称他们为“坏人”,但这事不能完全埋怨“坏人”,被攻击的这些自建MongoDB,全部都满足两个特征:

1. 暴露公网地址,甚至有些实例端口号都是默认的27017;
2. 没有配置鉴权约束,谁来都可以访问;

怎么攻击的

这就是把自己家的大门敞开,任由“坏人”搜割,“坏人”会做几件事:

1. 访问shadon网站,本来这个网站是做互联网数据分析的,原理是扫描全球IP和端口,通过分析协议来收集各种设备或者服务的统计数据。不幸被人利用,这些“坏人”甚至连端口扫描都不用,shadon都为你准备好了;
2. 用mongoshell等管理工具尝试登入,因为很多人的MongoDB都没有配置鉴权,所以连破解密码都的步骤都可以省了;
3. 单独破坏数据库意义不大,一般都是把数据dump到本地留存一份,或者直接修改集合名称或者地址,存在一个相对隐蔽的地方;也有“坏人”纯恶意破坏;
4. 勒索受害人,索要Q币或者比特币,交钱放“人”(归还数据,如果有的话);

DingTalk20170107001815

该埋怨谁

看吧,实在不是很高明的手段,也真的不能完全埋怨“坏人”不讲情理。这事情责任三方各打一板,怎么是三方?

1. “坏人”责任50%,勒索良民;
2. 自己责任40%,谁叫你公网地址,谁叫你不配鉴权的?大门敞开,家里被盗,上哪都喊不了冤;
3. MongoDB责任10%,说起来有点冤,但默认配置就应该强制要求鉴权访问,并且这事情也是需要官方不断去教育用户(虽然官方英文文档明确有写明要配置鉴权来保障安全),但不能指望人人都有安全意识;另外,MongoDB 3.0开始修改了鉴权协议,不支持2.x的Driver,很多用户也因此懒得去升级客户端,索性不要鉴权;

DingTalk20170107002303

亡羊补牢

事实已经发生了,埋怨没有用,怎么解决:

1. 不论你有没有中招,有没有在公网,都要检查鉴权配置,避免更多的损失;
2. 关闭公网的访问入口,把门关上;
3. 如果你是阿里云用户,尝试恢复ECS存储镜像,有多少算多少;但是有一定的风险是镜像恢复了,但数据文件可能是不完整的,用MongoDB的repair命令尝试修复,祈祷吧;
4. 碰碰运气,看看数据表是不是只是被rename了,因为数据dump是有时间成本和存储成本的,有监控数据的可以对比下看看容量有没有变化;
5. [**心有余孽的话就快点用阿里云MongoDB**;](https://www.aliyun.com/product/mongodb)

还是来用阿里云MongoDB吧

阿里云的云版MongoDB从设计之初就重点考虑了安全问题,所以整个服务提供上我们具备:

1. 基于MongoDB 3.2兼容版本的解决方案,并且强制要求鉴权,并且默认不提供公网入口。还在用2.X版本的同学们尽快升级吧,各种原因可以参考另一篇文章,[《告别 MongoDB 2.x 拥抱 3.x 版本的5大理由》](https://yq.aliyun.com/articles/67120?spm=5176.100240.searchblog.22.YA5jTQ);
2. 阿里云提供云MongoDB的VPC能力,即使在阿里云内网,也可以网络隔离;
3. 阿里云MongoDB提供白名单功能,只接受你自己的ECS访问;
4. 重点的来了哦,这可是自建没有能力,增量数据备份与恢复,哪怕被人删了,或者自己不小心drop了,可以恢复到任意时间的数据状态;
5. 重点的又来了,这可是官方企业版的能力,完整的审计日志,被谁删的,怎么删的,数据哪里去了,一清二楚;
6. 阿里云安全专家众多,“攻击者”也是看风险和收益比的;

另外,值得一提的是,因为PHP这种高级语言,对数据库的操作都是短连接,所以鉴权开启后会带来大量的性能损失(主要影响并发能力),阿里云MongoDB也在这方面做了优化处理,针对短连接场景,阿里云有10倍性能优化。同时,也提供上云在线迁移服务DTS,详情请访问官网了解。

DingTalk20170107002430

最后再来个硬广,我们不趁火打劫,还大幅度降价,比自建成本更低的三节点集群服务,ApsaraDB产品线6折促销中,请猛烈点击我

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
安全 NoSQL MongoDB
20 MongoDB高级 - 用户管理安全
20 MongoDB高级 - 用户管理安全
72 1
|
NoSQL 安全 Java
MongoDB:9-MongoDB的安全和认证
MongoDB:9-MongoDB的安全和认证
223 0
|
3月前
|
NoSQL 安全 MongoDB
【MongoDB深度揭秘】你的更新操作真的安全了吗?MongoDB fsync机制大起底,数据持久化不再是谜!
【8月更文挑战第24天】MongoDB是一款备受欢迎的NoSQL数据库,以其灵活的文档模型和强大的查询能力著称。处理关键业务数据时,数据持久化至关重要。本文深入探讨MongoDB的写入机制,特别是更新操作时的fsync行为。MongoDB先将数据更新至内存以提升性能,而非直接写入磁盘。fsync的作用是确保数据从内存同步到磁盘,但MongoDB并非每次更新后都立即执行fsync。通过设置不同的写入关注级别(如w:0、w:1和w:majority),可以平衡数据持久性和性能。
50 1
|
3月前
|
持续交付 C# 敏捷开发
“敏捷之道:揭秘WPF项目中的快速迭代与持续交付——从需求管理到自动化测试,打造高效开发流程的全方位指南”
【8月更文挑战第31天】敏捷开发是一种注重快速迭代和持续交付的软件开发方法,通过短周期开发提高产品质量并快速响应变化。本文通过问题解答形式,探讨在Windows Presentation Foundation(WPF)项目中应用敏捷开发的最佳实践,涵盖需求管理、版本控制、自动化测试及持续集成等方面,并通过具体示例代码展示其实施过程,帮助团队提升代码质量和开发效率。
72 0
|
6月前
|
NoSQL 安全 MongoDB
MongoDB为提供MongoDB数据库服务的云服务合作伙伴推出认证计划
Certified by MongoDB DBaaS计划还将为云计算合作伙伴提供构建深度技术集成所需的专业支持,同时还将携手MongoDB合作伙伴生态系统(MongoDB Partner Ecosystem)共同推出一系列联合的进入市场举措,使云服务合作伙伴能够助力其客户快速走向成功。
3153 0
|
6月前
|
NoSQL 安全 MongoDB
MongoDB安全机制:认证、授权与加密
【4月更文挑战第30天】MongoDB提供全面的安全机制,包括认证(用户名/密码、LDAP、Kerberos、x.509证书)、授权(基于角色的访问控制,RBAC)和加密(TLS/SSL、透明数据加密TDE、字段级加密FLE),确保数据保密性、完整性和可用性。通过合理配置这些机制,企业可保障数据安全,应对不断变化的安全威胁。
|
6月前
|
NoSQL 安全 MongoDB
|
NoSQL 安全 MongoDB
MongoDB基本操作(四)——集群与安全
MongoDB基本操作(四)——集群与安全
144 0
|
NoSQL 安全 Shell
MongoDB 安全策略:验证和授权
对于新安装的 MongoDB ,它是没有开启身份验证的。需要进入 admin 数据库,创建一个 root 角色的超级管理员用户。之后再针对具体应用的数据库,使用管理员用户为其创建不同权限的用户,从而做到针对数据库安全的基本保障。
2552 0
|
存储 弹性计算 监控
从事前到事后,云数据库 Redis & MongoDB 安全体系全揭秘!
相比自建,阿里云数据库针对控制链路和数据链路提供了多个维度的安全保障体系,更好的保障客户的数据安全,本文将为您详细介绍云数据库Redis&MongoDB的安全体系。
2577 0
从事前到事后,云数据库 Redis & MongoDB 安全体系全揭秘!

相关产品

  • 云数据库 MongoDB 版