起因是想用服务器上的一个数据库访问其他数据库的权限,就直接按照网上教程改了mysql库里的user表的权限,可能是哪里权限修改问题,也没太在意,到了第二天发现网站登录不了了。后台登录提示用户名不存在,于是到数据库中看了一下。结果发现服务器上所有数据库都被清空了,黑客非常人性的在每个库中留下一个warnning表,大概意思如下:起因是想用服务器上的一个数据库访问其他数据库的权限,就直接按照网上教程改了mysql库里的user表的权限,可能是哪里权限修改问题,也没太在意,到了第二天发现网站登录不了了。后台登录提示用户名不存在,于是到数据库中看了一下。结果
看到这里,我心里真有一万只羊驼在奔腾,给钱是不可能的,如果给你们钱不是纵容你们。幸好我的数据库定期有做备份,不然就坑死了。你的以下数据库已经被删除,不过我们已经做了备份,你想要拿到这些备份,请在三天时间内向这个比特币钱包里支付xxx金额的比特币,不然我们就会永久删除这些文件,你耗子尾汁。如果有意向支付,可以联系这个比特币邮箱。
我大概总结了一下,之所以被攻击,其致命原因有三点:
- 用户名和密码太简单,我的用户名采用的默认root,密码为最简单的123456 !
- mysql端口号采用的是默认端口3306 !
- 权限设置所有IP均可访问 !
修改用户名和密码
mysql -uroot -p #打开数据库
use mysql;
select host,user from user; # 查看现有用户
# 新建用户king,密码123456!用户名,和密码不要太简单,防止黑客攻击,这里只是为了演示
CREATE USER 'king'@'localhost' IDENTIFIED BY '123456';
select host,user from user; # 再次查看用户
修改访问权限
# king是远程访问用户名,123456是远程访问的密码!
# %代表所有主机都能访问,可以改成固定IP地址或者ip范围如192.168.0.0/255.255.0.0(C类网络的任何地址)
GRANT ALL PRIVILEGES ON *.* TO 'king'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges;
修改mysql端口
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
# 允许远程访问,注释掉这一行
# bind-address = 127.0.0.1
# 修改访问端口,找到port,修改端口号
port = ****
重启服务
service mysql restart
最后提醒大家,数据库要定期做备份,备份时间越短越好。另外修改数据库权限时候一定要特别注意,我就是因为太随意修改才酿成大错,以后一定要注意。
沃梦达教程
本文标题为:记一次mysql数据库被黑删库遭勒索的教训
猜你喜欢
- Iptables防火墙iprange模块扩展匹配规则详解 2022-09-18
- Iptables防火墙基本匹配条件应用详解 2022-09-18
- Iptables防火墙自定义链表实现方式 2022-09-18
- CSRF攻击是什么?如何防范CSRF攻击? 2022-09-18
- 对于服务器的安全通常我们需要注意什么? 2023-07-08
- 网络安全渗透测试之musl堆利用技巧 2022-09-18
- Iptables防火墙四表五链概念及使用技巧详解 2022-09-18
- 前端常见的安全问题以及防范措施总结大全 2022-09-18
- WEB前端常见受攻击方式及解决办法总结 2022-09-18
- 记一次mysql数据库被黑删库遭勒索的教训 2023-07-08