避免 MongoDB 被勒索详解,腾讯云上更安全
Posted 腾讯云安全
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了避免 MongoDB 被勒索详解,腾讯云上更安全相关的知识,希望对你有一定的参考价值。
![避免 MongoDB 被勒索详解,腾讯云上更安全](https://image.cha138.com/20210428/446e1a481c5348f9a1d0a94a273607c1.jpg)
事件起因
![避免 MongoDB 被勒索详解,腾讯云上更安全](https://image.cha138.com/20210428/6241b1bbe75345b38097e4036c045f0e.jpg)
新年伊始,又有一些不安分的黑客们出来兴风作浪了,近期比较受关注的主要是黑客组织们利用 MongoDB 一直存有的未授权访问问题[登录不需要用户名和密码认证]进行攻击,连接上数据库后把别人的数据备份,然后删除数据并勒索赎金。
如果您的数据库有可能遭到此类型攻击,那么务必认真看下本文中所提的解决方案与修复建议。
![避免 MongoDB 被勒索详解,腾讯云上更安全](https://image.cha138.com/20210428/446e1a481c5348f9a1d0a94a273607c1.jpg)
漏洞成因与后果
![避免 MongoDB 被勒索详解,腾讯云上更安全](https://image.cha138.com/20210428/6241b1bbe75345b38097e4036c045f0e.jpg)
由于用户在使用 MongoDB 时,将服务直接开放在了公网上,并且直接采用了默认配置,而默认配置并没有开启鉴权访问[未设置账号密码],从而导致这个数据库谁都可以访问,这就好比你把保险柜放在家门口,且没有设置密码,谁路过看到了都可以过来顺点钱。
如果您的服务也开放在了公网上,且MongoDB服务器没有配置鉴权,则可能像各类报道里说的:被黑客窃取、删除、勒索缴纳赎金、泄露等等严重后果。
![避免 MongoDB 被勒索详解,腾讯云上更安全](https://image.cha138.com/20210428/446e1a481c5348f9a1d0a94a273607c1.jpg)
攻击方式
![避免 MongoDB 被勒索详解,腾讯云上更安全](https://image.cha138.com/20210428/6241b1bbe75345b38097e4036c045f0e.jpg)
1、黑客从Shodan等渠道收集到存在漏洞的机器列表,如下图
![避免 MongoDB 被勒索详解,腾讯云上更安全](https://image.cha138.com/20210428/4c2999408b734d8c878715acc30d2099.jpg)
2、使用MongoDB客户端直接连接目标MongoDB服务
![避免 MongoDB 被勒索详解,腾讯云上更安全](https://image.cha138.com/20210428/d9777e562b0a48eebce43708a43d28eb.jpg)
3、接下来就可以通过正常的MongoDB查询语句进行相关的操作,如下载数据、删除数据等
![避免 MongoDB 被勒索详解,腾讯云上更安全](https://image.cha138.com/20210428/446e1a481c5348f9a1d0a94a273607c1.jpg)
不容忽视的影响面积
![避免 MongoDB 被勒索详解,腾讯云上更安全](https://image.cha138.com/20210428/6241b1bbe75345b38097e4036c045f0e.jpg)
早在之前,网络上就爆出过利用 MongoDB 数据库未授权访问进行攻击的事件;2015年11月,ZoomEye 对 MongoDB 进行相关探测和分析,发现互联网上至少存在38000个开放在公网上的无口令的 MongoDB 服务,这些 MongoDB 服务都存在同样的可被攻击利用的问题。
一年多过去了,通过在 ZoomEye 上搜索,可以发现,当前开放在公网上的 MongoDB 目标多达220000余个,这些 MongoDB 由于直接开放在公网,如果没有进行正确的配置,则均可能存在同样的问题,而被黑客直接攻击。
下图为今日搜索结果:
![避免 MongoDB 被勒索详解,腾讯云上更安全](https://image.cha138.com/20210428/22a3ce6bdd784539a0bd97bed1752489.jpg)
![避免 MongoDB 被勒索详解,腾讯云上更安全](https://image.cha138.com/20210428/446e1a481c5348f9a1d0a94a273607c1.jpg)
解决方案与修复建议
![避免 MongoDB 被勒索详解,腾讯云上更安全](https://image.cha138.com/20210428/6241b1bbe75345b38097e4036c045f0e.jpg)
配置鉴权
下面以3.2版本为例,给出 MongoDB设置权限认证,具体步骤如下:
1、启动MongoDB进程是加上-auth参数或在MongoDB的配置文件中加上auth = true;
![避免 MongoDB 被勒索详解,腾讯云上更安全](https://image.cha138.com/20210428/c156deb2ff9d4009aadde13662e723c4.jpg)
2、带auth启动的MongoDB,如未创建用户,MongoDB会允许本地访问后创建管理员用户。创建步骤如下:
1>切换到 admin 库;
2>创建管理员用户,命令如下(user和pwd可以根据需要设置):
db.createUser({user: "root",pwd: "password",roles: [ "root" ]})
![避免 MongoDB 被勒索详解,腾讯云上更安全](https://image.cha138.com/20210428/9fb3b9eb75264d2fab184be3eebb578e.jpg)
使用管理员用户登录后,根据角色创建您需要的用户
![避免 MongoDB 被勒索详解,腾讯云上更安全](https://image.cha138.com/20210428/d3867b4feeec4d24ac8b165e3f643aa5.jpg)
关闭公网访问
如无开放在公网的必要,建议关闭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,也会存在同样的未授权访问问题而被黑客利用,之前也曾爆过被黑客组织攻击利用的事件,如果您存在自建的以上服务,请一并检查是否同样存在配置问题,导致可未授权访问,以免被黑客入侵!
Hey,这是第一次见我吗
以上是关于避免 MongoDB 被勒索详解,腾讯云上更安全的主要内容,如果未能解决你的问题,请参考以下文章