避免 MongoDB 被勒索详解,腾讯云上更安全

事件起因

新年伊始,又有一些不安分的黑客们出来兴风作浪了,近期比较受关注的主要是黑客组织们利用 MongoDB 一直存有的未授权访问问题[登录不需要用户名和密码认证]进行攻击,连接上数据库后把别人的数据备份,然后删除数据并勒索赎金。

如果您的数据库有可能遭到此类型攻击,那么务必认真看下本文中所提的解决方案与修复建议。

漏洞成因与后果

由于用户在使用 MongoDB 时,将服务直接开放在了公网上,并且直接采用了默认配置,而默认配置并没有开启鉴权访问[未设置账号密码],从而导致这个数据库谁都可以访问,这就好比你把保险柜放在家门口,且没有设置密码,谁路过看到了都可以过来顺点钱。

如果您的服务也开放在了公网上,且MongoDB服务器没有配置鉴权,则可能像各类报道里说的:被黑客窃取、删除、勒索缴纳赎金、泄露等等严重后果。

攻击方式

1、黑客从Shodan等渠道收集到存在漏洞的机器列表,如下图

2、使用MongoDB客户端直接连接目标MongoDB服务

3、接下来就可以通过正常的MongoDB查询语句进行相关的操作,如下载数据、删除数据等

不容忽视的影响面积

早在之前,网络上就爆出过利用 MongoDB 数据库未授权访问进行攻击的事件;2015年11月,ZoomEye  对 MongoDB 进行相关探测和分析,发现互联网上至少存在38000个开放在公网上的无口令的 MongoDB 服务,这些 MongoDB 服务都存在同样的可被攻击利用的问题。

一年多过去了,通过在 ZoomEye 上搜索,可以发现,当前开放在公网上的 MongoDB 目标多达220000余个,这些 MongoDB 由于直接开放在公网,如果没有进行正确的配置,则均可能存在同样的问题,而被黑客直接攻击。

下图为今日搜索结果:

解决方案与修复建议

配置鉴权

下面以3.2版本为例,给出 MongoDB设置权限认证,具体步骤如下:

1、启动MongoDB进程是加上-auth参数或在MongoDB的配置文件中加上auth = true;

2、带auth启动的MongoDB,如未创建用户,MongoDB会允许本地访问后创建管理员用户。创建步骤如下:

1>切换到 admin 库;

2>创建管理员用户,命令如下(user和pwd可以根据需要设置):

db.createUser({user: "root",pwd: "password",roles: [ "root" ]})

使用管理员用户登录后,根据角色创建您需要的用户

关闭公网访问

如无开放在公网的必要,建议关闭MongoDB服务的公网访问,切断黑客攻击的入口。可通过MongoDB的bind_ip参数进行配置,只需将IP绑定为内网IP即可,如下:

方法一、启动时增加bind_ip参数:

mongod --bind_ip 127.0.0.1,10.x.x.x

方法二、在配置文件mongodb.conf中添加以下内容:

bind_ip = 127.0.0.1,10.x.x.x

其中10.x.x.x为您机器的内网IP.

迁移至腾讯云 MongoDB

腾讯云的云数据库MongoDB有多重机制保证数据库安全性和数据可靠性,同时提供便捷的迁移工具。

1>腾讯云MongoDB需要通过腾讯云内网来进行访问,不同用户间的数据库服务相互隔离,访问必须要强制鉴权

2> 腾讯云MongoDB提供库级别账号权限管理,访问控制粒度更细,同时支持可视化的授权方式,操作便捷

3> 完善的云监控机制,当数据操作突破预设阀值时,会触发告警,第一时间通知用户做相关紧急处理

4>在数据库可靠性方面,腾讯云MongoDB提供周期性自动备份和手动备份功能,记录操作流水,可将数据恢复到任意时间点

5>腾讯云MongoDB提供一站式迁移上云服务,专家团队护航,安全又省心

目前,对安全性要求极高的金融,保险行业,已经有不少客户正在使用腾讯云 MongoDB 服务,并且已经将核心的交易数据,客户资料数据存储在 MongoDB 数据库中[可访问阅读原文了解更多详情]

更多关于MongoDB的安全配置可以参考官方文档:https://docs.mongodb.com/manual/administration/security-checklist/

另外,其实对于其他类似于非关系型数据库,如Redis、Memcached、ElasticSearch等由于安装的时候默认无需配置权限验证,也未限制访问IP,也会存在同样的未授权访问问题而被黑客利用,之前也曾爆过被黑客组织攻击利用的事件,如果您存在自建的以上服务,请一并检查是否同样存在配置问题,导致可未授权访问,以免被黑客入侵!

原文发布于微信公众号 - 腾讯云安全(TencentCloudSecurity)

原文发表时间:2017-01-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏疯狂的小程序

ASP获取微信小程序的OpenID服务器端代码

尝试一下新鲜事物“微信小程序”,其中有一个业务场景,通过微信登陆小程序,这样需要获取小程序的用户ID(也就是openid)。微信小程序从安全角度考虑,不提供直接...

85380
来自专栏北京马哥教育

jenkins+gitlab构建安卓自动编译环境

因工作关系接触到接触到安卓自动编译环境,网上的资料都推荐了jenkins,因为第一次接触安卓和jenkins,踩了不少的坑,有总结才有进步。 gitlab环境之...

41650
来自专栏网站漏洞修补

网站快照被劫持 快速恢复快照的解决办法

哥们的网站流量突然下降的很厉害,从原先一天500左右的IP,直接下降到80左右的IP,让我帮忙看看,网站到底哪里出了问题,首先我用百度的site:下网站的收录量...

40910
来自专栏北京马哥教育

linux系统被入侵后处理实战

作者 李振良 | 来源 51cto 糖豆贴心提醒,本文阅读时间8分钟,文末有秘密! ? 事件背景 操作系统:Ubuntu12.04_x64 运行业务:公司...

53550
来自专栏北京马哥教育

用Python尝试破解wifi无线密码

? ? 作者|面包君 上点python有意思的代码。 环境准备 python2.7 pywifi模块 字典 清除系统中的任何wifi连接记录 导入模块 这里用...

63970
来自专栏BeJavaGod

什么是分布式系统中的幂等性

最近很多人都在谈论幂等性,好吧,这回我也来聊聊这个话题,光看着俩字,一开始的确有点一头雾水,语文不好嘛,词太专业嘛,对吧 现如今我们的系统大多拆分为分布式SOA...

37830
来自专栏IT技术精选文摘

窥探Nginx内部实现:如何为性能和规模进行设计

NGINX在网络性能方面处于领先地位,这一切都是由于软件的设计方式。尽管许多Web服务器和应用程序服务器使用简单的线程或基于进程的架构,但NGINX具有复杂的事...

21350
来自专栏信安之路

线下赛ASP靶机漏洞利用分析

继上次发表 记一次线下赛靶机攻击过程 后,看到反响不错,特此再写一篇,关于一台 ASP 靶机漏洞利用过程。

53300
来自专栏Android 开发者

Android P 应用兼容常见错误及建议

6K20
来自专栏Java帮帮-微信公众号-技术文章全总结

day01.互联网架构/Linux/YUM 【大数据教程】

day01.互联网架构/Linux/YUM 一、大型互联网架构演变历程 1. 淘宝技术这10年 1.1. 淘宝现状 高并发已经成为当前互联网企业面临的巨大挑...

40270

扫码关注云+社区

领取腾讯云代金券