警惕!MySQL成数据勒索新目标
据最新报道显示,继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会允许本地访问后创建管理员用户。创建步骤如下:
. 切换到 admin 库;
. 创建管理员用户,命令如下(user和pwd可以根据需要设置):
db.createUser({user: "root",pwd: "password",roles: [ "root" ]})
. 使用管理员用户登录后,根据角色创建您需要的用户
b. 关闭公网访问
可通过MongoDB的bind_ip参数进行配置,只需将IP绑定为内网IP即可,如下:
. 启动时增加bind_ip参数:mongod --bind_ip 127.0.0.1,.x.x.x
. 在配置文件mongodb.conf中添加以下内容:
bind_ip = 127.0.0.1,.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
本文首发腾云阁 警惕!MySQL成数据勒索新目标
警惕!MySQL成数据勒索新目标的更多相关文章
- 腾讯云报告——MySQL成勒索新目标,数据服务基线安全问题迫在眉睫
推荐理由 大数据时代,人类产生的数据越来越多,但数据越多的情况下,也会带来数据的安全性问题,如MySQL数据库上的数据,越来越多的黑客盯上了它,今天推荐的这篇文章来自于腾讯云技术社区,主要是针对MyS ...
- MySQL成勒索新目标,数据服务基线安全问题迫在眉睫
版权声明:本文由云鼎实验室原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/519598001488335177 来源:腾云阁 ...
- MySQL用sql复制表数据到新表的方法
用sqlyog无法直接复制出一个不同表名的表来,只能copy到其他库上同名的表. 在MySQL数据库中,应该如何用sql将表数据复制到新表中呢? 本人通过试验测试成功了,而且相当简单易懂,速度也非常快 ...
- mysql如果数据不存在,则插入新数据,否则更新的实现方法
mysql如果数据不存在,则插入新数据,否则更新的实现方法 //如果不存在,则插入新数据 $sql = "INSERT INTO {$ecs->table('cat_lang')} ( ...
- 把mysql的数据导出成txt
把mysql的数据导出成txt select a from b into outfile '/sqlfile/a.txt'; my.ini里需要设置secure_file_priv = d:/sqlf ...
- 利用Flume将MySQL表数据准实时抽取到HDFS
转自:http://blog.csdn.net/wzy0623/article/details/73650053 一.为什么要用到Flume 在以前搭建HAWQ数据仓库实验环境时,我使用Sqoop抽取 ...
- 分享 : 警惕MySQL运维陷阱:基于MyCat的伪分布式架构
分布式数据库已经进入了全面快速发展阶段.这种发展是与时俱进的,与人的需求分不开,因为现在信息时代的高速发展,导致数据量和交易量越来越大.这种现象首先导致的就是存储瓶颈,因为MySQL数据库实质上还是一 ...
- Mysql高手系列 - 第27篇:mysql如何确保数据不丢失的?我们借鉴这种设计思想实现热点账户高并发设计及跨库转账问题
Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能. 欢迎大家加我微信itsoku一起交流java.算法.数据库相关技术. 这是Mysql系列第27篇. 本篇文章我们先来 ...
- MySQL/RDS数据如何同步到MaxCompute之实践讲解
摘要:大数据计算服务(MaxCompute,原名ODPS)是阿里云提供的一种快速.完全托管的EB级数据仓库解决方案.本文章中阿里云MaxCompute公有云技术支持人员刘力夺通过一个实验向大家介绍了阿 ...
随机推荐
- Angular - - $anchorScroll、$controller、$document
$anchorScroll 根据HTML5的规则,当调用这个函数时,它检查当前的url的hash值并且滚动到相应的元素. 监听$location.hash()并且滚动到url指定的锚点的地方.可以通过 ...
- SVG的基础使用
SVG的基础使用: <%@ page language="java" contentType="text/html; charset=UTF-8" pag ...
- jdk自带的动态代理
package com.stone.dp.proxy; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Met ...
- 结合swiper使用图片懒加载
本人渣渣一枚,技术一般,记录下笔记,大神勿喷,可以留下优化建议,谢谢 最近刚刚做了个展示型的网站,使用swiper搭的框架,因为图片比较多,所 以首次加载稍微有些慢,虽然压缩过了,但是尽可能的优化吧, ...
- 【Scala】Scala之Numbers
一.前言 前面已经学习了Scala中的String,接着学习Scala的Numbers. 二.Numbers 在Scala中,所有的数字类型,如Byte,Char,Double,Float,Int,L ...
- CAReplicatorLayer复制Layer和动画, 实现神奇的效果
今天我们看下CAReplicatorLayer, 官方的解释是一个高效处理复制图层的中间层.他能复制图层的所有属性,包括动画. 一样我们先看下头文件 @interface CAReplicatorLa ...
- KB奇遇记(4):困难重重的选型
在以往的工作经历中,虽然也会出现公司的一些规章制度,但我鲜少与其打交道,也极少听说.但是来KB这里,突然发现公司居然并没有给我配备电脑!!原因是制度上并没有写IT人员入职需要配备电脑,尔后通过特批流程 ...
- 设备文件三大结构:inode,file,file_operations
驱动程序就是向下控制硬件,向上提供接口,这里的向上提供的接口最终对应到应用层有三种方式:设备文件,/proc,/sys,其中最常用的就是使用设备文件,而Linux设备中用的最多的就是字符设备,本文就以 ...
- 《JAVASCRIPT高级程序设计》选择框脚本和富文本编辑
一.选择框脚本 选择框也是表单的一个字段,是通过<select>和<option>元素来创建的,需要使用javascript来控制.选择框拥有以下的属性和方法: 以下介绍一些选 ...
- C# 6 与 .NET Core 1.0 高级编程 - 39 章 Windows 服务(上)
译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 39 章 Windows 服务(上)),不对的地方欢迎指出与交流. 章节出自<Professional C ...