文档章节

MySQL成勒索新目标,数据服务基线安全问题迫在眉睫

偶素浅小浅
 偶素浅小浅
发布于 2017/03/07 14:32
字数 1294
阅读 6
收藏 0

版权声明:本文由云鼎实验室 原创文章,转载请注明出处: 
文章原文链接:https://www.qcloud.com/community/article/519598001488335177

来源:腾云阁 https://www.qcloud.com/community

 

据最新报道显示,继MongoDB和Elasticsearch之后,MySQL成为下个数据勒索目标,从2月12日凌晨开始,已有成百上千个开放在公网的MySQL数据库被劫持,删除了数据库中的存储数据,攻击者留下勒索信息,要求支付比特币以赎回数据。

问题分析

遍观MongoDB和Elasticsearch以及现在的MySQL数据库勒索,可以发现都是基线安全问题导致被黑客劫持数据而勒索,原因在于这些服务都开放在公网上,并且存在空密码或者弱口令等使得攻击者可以轻易暴力破解成功,直接连上数据库从而下载并清空数据,特别是不正确的安全组配置导致问题被放大。

其实类似问题已不是第一次,近期云鼎实验室观测到多起案例,攻击呈现扩大态势,不仅仅是勒索,更多的是服务器被入侵,从而导致数据被下载。基线安全问题已经成了Web漏洞之外入侵服务器的主要途径,特别是弱口令等情况。错误的配置可以导致相关服务暴露在公网上,成为黑客攻击的目标,加上采用空密码等弱口令,黑客可以轻易入侵这些服务。

安全自查

值此事件爆发之际,建议对自己的服务器进行自查,避免相关数据丢失等问题,具体自查方式可参考如下:
1、排查服务器开放的端口及对应的服务,如无必要,关闭外网访问;可以使用NMap 直接执行 nmap 服务器IP(在服务器外网执行),可得到以下结果即为开放在外网的端口和服务。

2、重点针对这些开放在公网上的服务进行配置的检查,检查相关服务是否设置密码,是否弱口令。
3、如无必要,均不要使用root或者其他系统高权限账号启动相关服务。

安全建议及修复方案

一、采用正确的安全组或者iptables等方式实现访问控制;
二、关闭相关服务外网访问和修改弱密码:
1、MongoDB
a. 配置鉴权
下面以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" ]})
3. 使用管理员用户登录后,根据角色创建您需要的用户

b. 关闭公网访问
可通过MongoDB的bind_ip参数进行配置,只需将IP绑定为内网IP即可,如下:

1. 启动时增加bind_ip参数:mongod --bind_ip 127.0.0.1,10.x.x.x
2. 在配置文件mongodb.conf中添加以下内容:
bind_ip = 127.0.0.1,10.x.x.x
其中10.x.x.x为您机器的内网IP.

2、Redis
a. 配置鉴权

  1. 修改配置文件,增加 “requirepass 密码” 项配置(配置文件一般在/etc/redis.conf)
  2. 在连接上Redis的基础上,通过命令行配置,config set requirepass yourPassword

b. 关闭公网访问

  1. 配置bind选项,限定可以连接Redis服务器的IP,修改 Redis 的默认端口6379

c. 其他

  1. 配置rename-command 配置项 “RENAME_CONFIG”,重名Redis相关命令,这样即使存在未授权访问,也能够给攻击者使用config 指令加大难度(不过也会给开发者带来不方便)

相关配置完毕后重启Redis-server服务

3、MySQL
a. 配置鉴权
MySQL安装默认要求设置密码,如果是弱命令,可通过以下几种方式修改密码:

  1. UPDATE USER语句
     //以root登录MySQL后,
     USE mysql;
     UPDATE user SET password=PASSWORD('新密码') WHERE user='root';
     FLUSH PRIVILEGES;
    
  2. SET PASSWORD语句
    //以root登录MySQL后,
     SET PASSWORD FOR root=PASSWORD('新密码');
    
  3. mysqladmin命令
    mysqladmin -u root -p 旧密码 新密码
    

b. 关闭公网访问

  1. 启动参数或者配置文件中设置bind-address= IP绑定内部IP
  2. 以root账号连接数据库,排查user表中用户的host字段值为%或者非localhost的用户,修改host为localhost或者指定IP或者删除没必要用户

4、其他服务
请参考以上方式或者官方文档进行配置

参考链接

  1. 《避免 MongoDB 被勒索详解,腾讯云上更安全》http://t.cn/RiVUEdY
  2. 《下一个猎杀目标:近期大量MySQL数据库遭勒索攻击》http://t.cn/Ri5ES1T
  3. 《知名搜索引擎Elasticsearch成为勒索软件敲诈目标》http://t.cn/RiVUgFD
  4. 《Redis 未授权访问配合 SSH key 文件利用分析》http://t.cn/RUO9UGY

本文转载自:

偶素浅小浅
粉丝 8
博文 202
码字总数 0
作品 0
信阳
私信 提问
警惕!MySQL成数据勒索新目标

据最新报道显示,继MongoDB和Elasticsearch之后,MySQL成为下个数据勒索目标,从2月12日凌晨开始,已有成百上千个开放在公网的MySQL数据库被劫持,删除了数据库中的存储数据,攻击者留下勒索...

腾讯云开发者社区
2017/03/01
34
0
腾讯云安全-云鼎实验室:黑客是如何实现数据库勒索的

作者:张祖优@腾讯云 云鼎实验室 每一次重要通用漏洞的爆发总是会带来一片腥风血雨,任何微小的漏洞,基于43亿IPv4地址这个大基数,总是可以被放大! 从MongoDB开始到MySQL,黑客瞄准了数据库...

腾讯云开发者社区
2017/03/10
149
0
详解:易到用车如何被黑客“开”走了车

“无车可用,客服失联,APP也无法定位......易到用车,你是人间蒸发了吗?赔我的充值款啊啊啊!” 26号一大早,黑猫投诉平台累计处理了类似投诉信息共计164008次。投诉原因很简单:易到用车没...

雷锋网
05/27
0
0
“拖库”防不胜防,如何早做预防?

近期有消息爆出某酒店数据库被拖库,数据主要包括注册资料、酒店入住登记信息以及开房记录。 此次事件涉及用户信息十分敏感,后续连串反应将造成的损失难以估计。我们在思考如何保护自己的信...

驻云科技
2018/09/11
0
0
国有大行、业内大咖悉数到场,这场DBA技术盛宴怎可不赴!

  【IT168 评论】9月2日,2017首届ORACLE・欢乐颂技术大会北京站盛大开启。本届大会由CESOUG(中国经验分享ORACLE用户组)、甲骨文(中国)软件系统有限公司、北京中亦安图科技股份有限公司联合...

it168网站
2017/09/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

mysql-connector-java升级到8.0后保存时间到数据库出现了时差

在一个新项目中用到了新版的mysql jdbc 驱动 <dependency>     <groupId>mysql</groupId>     <artifactId>mysql-connector-java</artifactId>     <version>8.0.18</version> ......

ValSong
7分钟前
0
0
Spring Boot 如何部署到 Linux 中的服务

打包完成后的 Spring Boot 程序如何部署到 Linux 上的服务? 你可以参考官方的有关部署 Spring Boot 为 Linux 服务的文档。 文档链接如下: https://docs.ossez.com/spring-boot-docs/docs/r...

honeymoose
9分钟前
1
0
Spring Boot 2 实战:使用 Spring Boot Admin 监控你的应用

1. 前言 生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以...

码农小胖哥
今天
6
0
ZetCode 教程翻译计划正式启动 | ApacheCN

原文:ZetCode 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 学习资源 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 ...

ApacheCN_飞龙
今天
4
0
CSS定位

CSS定位 relative相对定位 absolute绝对定位 fixed和sticky及zIndex relative相对定位 position特性:css position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left属性则...

studywin
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部