如何防止mysql数据库被勒索

随着MongoDB, ElasticSearch, Hadoop, CouchDB和Cassandra服务器的的沦陷,MySQL数据库成了攻击者的下一个猎杀目标。他们劫持了MySQL数据库,并留下勒索信息,要求支付2比特币的赎金。例如下图:数据库被入侵后,黑客创建了名字叫做WARNING的数据库。

image.png

PLEASE_READ.WARNING

攻击者以“root”密码暴力**开始,一旦成功登陆,该黑客会获取已有MySQL数据库及其表的列表,TA在已有的数据库中新建一个名为WARNING的表,插入信息包括一个邮箱地址、比特币地址和支付需求。

还有一种情况是,该黑客会新建一个名为 ‘PLEASE_READ’的数据库再添加WARNING表,然后删除存储在服务器和本地数据库,有时甚至不转存任何数据。

image.png

两种攻击版本

以下是两种版本的勒索信息:

INSERT INTO PLEASE_READ.`WARNING`(id, warning, Bitcoin_Address, Email) VALUES(‘1′,’Send 0.2 BTC to this address and contact this email with your ip or db_name of your server to recover your database! Your DB is Backed up to our servers!’, ‘1ET9NHZEXXQ34qSP46vKg8mrWgT89cfZoY’, ‘[email protected]’)

INSERT INTO `WARNING`(id, warning)VALUES(1, ‘SEND 0.2 BTC TO THIS ADDRESS 1Kg9nGFdAoZWmrn1qPMZstam3CXLgcxPA9 AND GO TO THIS SITE http://sognd75g4isasu2v.onion/ TO RECOVER YOUR DATABASE! SQL DUMP WILL BE AVAILABLE AFTER PAYMENT! To access this site you have use the tor browser https://www.torproject.org/projects/torbrowser.html.en’)

在第一个版本中,勒索者的邮箱地址是‘[email protected]’。到了第二个版本,TA给受害者提供了一个暗网地址‘http://sognd75g4isasu2v.onion/’来恢复他们的数据。在两个不同的版本中,攻击者给出的比特币钱包也不一样,分别是 1Kg9nGFdAoZWmrn1qPMZstam3CXLgcxPA9 和1ET9NHZEXXQ34qSP46vKg8mrWgT89cfZoY 。

一旦数据库被攻陷,数据几乎无法修复,所以如何防范就成为重中之重。一般可以从以下四个方面采取措施:

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或者删除没必要用户

C ).做好备份工作

做好周期性备份工作,保留数据库备份。

D.注意应用的可靠性

1、连接数据库的工具,主要不要用**版等,一定要从正规网站下载。

2、应用要注意采取加密等安全措施,避免被SQL注入。

最后:推荐使用关系型数据库服务,安全,备份面面俱到,不需要自己再费心费力了。