常在河边走哪有不湿鞋,MySQL数据库被黑了,所有的数据全部被删除,只留下了一张warning的表,还好是测试服务器,不过数据丢了心情不太美丽!
事情的经过是这样的,公司同事阿达在测试程序,突然找到我说程序无法登陆了,当时我不以为然,因为阿达每天下班前五分钟都能给我找出点bug,然后自己屁颠屁颠的下班。我已经习惯了。后来我登录服务器查看了日志,发现后台报错,原因是记录登陆信息的表不见了,进入数据库,懵圈了,我的数据去哪了?我的库呢?我当是看到的画面如下:
好奇宝宝上线,英语不是太好哈,翻译了一波:
反思了一下:可能是数据库对外开放 加上密码过于简单的缘故(123456),以后哪怕是测试服务器也得注意安全了。
以下是常用的可以保护数据库的方式,供参考。可以有效防止被攻击。
-
密码强化,使用复杂密码设置,防止被破解。
-
不推荐使用默认的端口3306, 换一个其他不常用的端口,避免通过端口进行攻击;
-
不推荐开启远程访问, my.cnf 配置文件中添加 bind-address =127.0.0.1, 仅配置本地访问。
-
如果有远程访问的需求,建议收敛账户的主机Host配置,允许特定安全网段访问数据库。
-
使用云主机的安全组功能,限制访问来源和端口。
-
定期修改账户密码。
网友评论