mysql 数据库被入侵解决办法

系统上线后,mysql经常报这个问题

Caused by: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (2051 > 1024). You can change this value on the server by setting the max_allowed_packet' variable

通过修改/etc/my.cnf 下max_allowed_packet的值,即max_allowed_packet = 1024m 

修改后短暂解决了,但是过一段时间还是报 >1024 ,于是不间断的重启(怀疑被黑了,但是没处理。。。),后来一次直接mysql直接死掉。cpu占到95%以上,启动后不到一分钟即被关掉。后来查找原因,在mysql的数据路径下, /home/mysql/mysql/data 下看到很多莫名的文件,一进去后发现都是可执行文件。确定无疑肯定中了木马,被攻击了。于是进行如下解决:

1、清除可疑文件,停掉mysql,重新启动服务器;

2、修改防火墙,增加黑名单,只允许固定ip和端口访问。(之前防火墙给关了。。。。)

3、修改mysql root的密码,增加复杂度,防止黑客撞库破解(只是增加破解难度)

4、删掉多余的系统用户。只保留host为127.0.0.1的root和应用的账户。同时应用的账户host改成具体的ip

5、把mysql的端口改掉。默认是3306,这个是黑客经常关顾的端口。

6、如果还是出现奇怪问题,则开启general_log日志。记录每次命令,待下次分析(general_log会记录大量执行命令,因次耗资源,默认是关闭的。建议系统无异常时关掉。)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值