MySQL测试环境未设置密码被攻击

jasmine 于 2019-02-20 发布

1、背景

测试环境,数据库未设置密码,被攻击。
攻击方式:

1	您的数据库已删除。您必须支付 0.0175 比特币 (BTC) 才能取回它们。我拥有的备份:da_center_platform, datax-connect。通过 jiang4982@skiff.com 与我联系 只有与付款相关的邮件才会得到答复!	bc1qq4qjr69esuzkh36rzpc78yyqkxuv66rsm5ku5m	jiang4982@skiff.com

2、问题排除过程

1)发现数据库连接不上,查找连接不上原因:

2)分析:由于之前都是可以的,现在用navicat不能连接,docker中查看mysql服务是正常的。 防火墙端口号是正常的,后来想到有可能是用户问题。

3)排查用户问题:

docker
exec -it mysql1 /bin/bash
docker exec -it mysql1 /bin/bash
SELECT user, host, authentication_string FROM mysql.user;

返回:
| user             | host 
| root             | localhost       

问题找到了:发现root账户的host是localhost,不支持其他连接

执行sql后问题解决:

update mysql.user set host='%' where user = 'root';

3、修改密码

修改密码需要注意连个地方:1)加密方式2)用户的host要写对

select user, plugin from mysql.user;
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '123456';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';