本周,境外勒索集团黑客大规模利用企业使用 MongoDB 开源版时的配置疏漏进行入侵,给自建 MongoDB 数据库服务的企业造成不小的安全隐患。
阿里云安全团队监测入侵趋势,第一时间发布公告《 MongoDB 数据库未授权访问漏洞及加固》给出相应修复建议。同时,立即通过邮件、站内信和短信进一步提醒。
从以上安全事件可以看出,一个 Harak1r1 黑客团队访问的黑客要求 0.2 BTC ,大约为 200 美元,以便恢复数据。 通过整个事件监测和第三方掌握的信息,发现目前针对 MongoDB 勒索攻击主要有以前黑客团队,其中 Harak1r1 团队是目前主要黑客团队。
问题出在哪里? 从多个客户事件排查总结发现这些受害的用户都有一个共同的特征:
所有事发 MongoDB 可以在任何网络在无需使用账号任意登录
换句话说,家门全部敞开,没有任何安全防护措施,业务直接裸奔在互联网上,黑客可以来去自如,用底层本的方式做任何想做的事情,包括数据库删除这样的高危操作等,从排查的案例来看,也正好验证了这个攻击方式。
如果您是 MongoDB 管理员,下面的其他提示可能对您有用:
- 检查 MongDB 帐户以查看是否没有人添加了密码( admin )用户(使用 db.system.users.find()命令);
- 检查 GridFS 以查看是否有人存储任何文件(使用 db.fs.files.find()命令);
- 检查日志文件以查看谁访问了 MongoDB ( show log global 命令)。
为什么会发生?
作为技术人员,我们肆意的猜测可能有以下原因:
1.一般技术人员从官网下载的二进制安装包后,没有配置文件 ,直接使用脚本启动部署业务并投入到生产环境,默认条件下, MongoDB 是不启用认证和访问控制功能,至于 MongoDB 为何这样设计不得而知。 以下是小编从官网下载最新的安装包,从安装包里面,无配置文件,所以基于这种底成本大伤害的攻击方式,很容易被黑客利用成功。
2.不了解 MongoDB 的安全使用方式,数据库管理员在启动时,未加安全参数直接运行,导致任何用户可以使用任何网络无账号登录到数据库。
如何解决这个问题呢?
勒索再也不是土匪绑架,英雄救美这样的老套把戏,远隔万里的黑客可以分分钟逼你花大把金钱"消灾",作为用户的您,该如何防范呢?
1.您可以登录到阿里云云盾控制台,使用云盾安骑士 MongoDB 检测是否存在此安全问题;
- 如果您需要自己搭建 MongoDB 数据库,强烈推荐您使用 yum rpm 方式安装 MongoDB Server 服务 3.在正式使用 MongoDB 服务之前,强烈建议您对 MongoDB 服务进行加固后上线正式服务:
1).江湖险恶,对于数据库高危险服务慎重考虑是否要开放发布到互联网上,如果不需要互联网访问数据库,可以使用 ECS 安全组功能控制外网访问服务端口,拒绝黑客初始化访问,让黑客无法触碰到核心业务,该方法适用于所有 IT 业务服务;
2).即将部署使用或已经在线运行的 MongoDB 需要配置鉴权认证机制、绑定访问源 IP 等方面的加固,给门上加一把“强锁;
3).光有以上的一些措施可能不够,建议 MongoDB 管理员使用以下参考资料对数据库进行加固
• MongoDB 加固手册 • MongoDB 官方 Security Checklist
4.数据备份。不论是数据库文件或本地代码文件,对于重要的数据使用阿里云 ECS 快照功能、或其他离线备份数据;
5.建议您使用阿里云 MongoDB 服务,云数据库服务设计考虑多层安全防护体系,为您抵御 90%以上的网络攻击,提高业务的安全性。
最后,再次提醒受影响的用户,不要信任何可去支付任何赎金,您可能会成为一个更大的目标,下一次的赎金可能会更高,同时也建议您提高安全意识,关注业务安全