MySQL数据库被黑客删除仅留warning表 数据库安全敲警钟
近期出现多例MySQL数据库被删除的情况,此事项多为mysql服务或所在服务器允许外网可以访问,服务器密码过于简单,网站程序连接的时候使用了mysql root账号权限,导致网站程序被黑的时候mysqlroot账号密码泄露,导致被黑客破解后,将数据库清空,仅留下一张warning表。
有印象的站长们,可能还记得在2016年-2017年间,也曾出现过大量MySQL数据库被攻击,黑客留下QQ号,并索要高额恢复费。过了2年后,再次出现大量MySQL数据库被攻击,不得不说,我们在服务器安全防范方面,意识相当不够,侥幸心理严重。
从数据库安全类型的角度来看,数据库分Mysql、Mssql、Oracle、PostgreSQL,用的最多的是MySQL数据库,如果再算上web前端架构,Apache、IIS、nginx都是与数据库相关的。那么哪些站长的MySQL容易被攻击呢?
1、服务器密码过于简单的
很多站长图省事,将服务器密码设置简单,方便记忆与登录,这往往给黑客留下破解空间。一旦服务器密码被破解,那黑客将可以直接登录到服务器,肆意修改数据、删除数据。针对这项,站长们在设置密码时,建议:使用字母、数字、字符组合的密码,尽量在8位10位以上。不定期更换密码。
2、网站程序直接使用root权限
很多站长在使用数据库时,没有进行权限设置,网站程序直接连接root权限,一旦网站程序被破解,root账号密码也将被黑客获取。MySQL涉及权限的表一共5个,最重要的权限表:user、db
user表里除了root localhost有所有权限外,其他 xxxx %一概没有权限。需要开通权限要在db表里。
注意:千万不要用root以及管理员权限去运行!同时将权限限制到最小!
本次MySQL数据库出问题,大多在这两个地方。
那么我们日常应该怎样防范呢?下面是一些常规的安全防范措施:
1、服务器的管理员密码具备一定复杂度,建议使用字母、数字、字符组合的密码。
2、服务器关闭远程访问(或关闭外网的远程访问),调整远程访问默认的端口号。
3、mysql的root用户密码具备一定复杂度,建议使用字母、数字、字符组合的密码。
4、mysql不允许任意远程端连接,建议仅对协同系统所在的IP地址放开连接。
5、mysql不使用默认的3306端口,建议修改为其他端口。(mysql的配置文件:Windows为my.ini、Linux为my.cnf,修改其端口号)
6、mysql设置定时备份,并将数据备份包备份在异机(或异地)。
数据备份,可以自己配置,也可以使用云服务商提供的数据备份功能。比如小潘博客有云快照功能,将系统盘和数据盘进行完全可用的拷贝,并将备份数据独立存储。 云服务器数据实时写入四份,结合多个快照备份,形成了覆盖软硬件故障的备份策略,颠覆传统运维模式,全方位保障您的数据安全,畅享真正云计算带来的便利。目前小潘博客有免费基础服务于高级付费服务。差别在备份数据份数以及备份时间节点。对于一般的个人站长,免费基础版已经足够使用。企业用户,建议开通付费高级版,将数据备份周期加长,最主要可以自定义备份频率。
7、网站程序不直接使用root权限,单独设立用户权限。
注意,如果我们在恢复数据库后,还是发生数据库有异常,则开启general_log日志。记录每次命令,待下次分析(general_log会记录大量执行命令,因此非常耗资源,默认是关闭的。建议系统无异常时关掉。)或是联系云服务商技术客服,寻求帮助,将问题排查解决,保证数据库安全。