首页 > 代码库 > mysql max_allowed_packet 反复被重置,原来是服务器被黑客攻击了。

mysql max_allowed_packet 反复被重置,原来是服务器被黑客攻击了。

最近做个项目,由于团队人员不在同一个办公地点,就弄了一台外网挂靠机做开发和测试环境。

在开发和测试的过长中,mysql 频繁的报:Caused by: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1354 > 1024). You can change this value on the server by setting the max_allowed_packet‘ variable。

设置 max_allowed_packet 的值后,过一会儿后,又会被重置为默认值。

最后我发现是被黑客攻击了。

一、开启mysql日志,记录所有sql执行命令。

mysql> show variables like %log%;
+-----------------------------------------+---------------------------------+
| Variable_name                           | Value                           |
+-----------------------------------------+---------------------------------+
| back_log                                | 50                              |
| binlog_cache_size                       | 32768                           |
| binlog_direct_non_transactional_updates | OFF                             |
| binlog_format                           | STATEMENT                       |
| expire_logs_days                        | 0                               |
| general_log                             | OFF                             |
| general_log_file                        | /var/run/mysqld/mysqld.log      |
| innodb_flush_log_at_trx_commit          | 1                               |
| innodb_locks_unsafe_for_binlog          | OFF                             |
| innodb_log_buffer_size                  | 1048576                         |
| innodb_log_file_size                    | 5242880                         |
| innodb_log_files_in_group               | 2                               |
| innodb_log_group_home_dir               | ./                              |
| innodb_mirrored_log_groups              | 1                               |
| log                                     | OFF                             |
| log_bin                                 | OFF                             |
| log_bin_trust_function_creators         | OFF                             |
| log_bin_trust_routine_creators          | OFF                             |
| log_error                               | /var/log/mysqld.log             |
| log_output                              | FILE                            |
| log_queries_not_using_indexes           | OFF                             |
| log_slave_updates                       | OFF                             |
| log_slow_queries                        | OFF                             |
| log_warnings                            | 1                               |
| max_binlog_cache_size                   | 18446744073709547520            |
| max_binlog_size                         | 1073741824                      |
| max_relay_log_size                      | 0                               |
| relay_log                               |                                 |
| relay_log_index                         |                                 |
| relay_log_info_file                     | relay-log.info                  |
| relay_log_purge                         | ON                              |
| relay_log_space_limit                   | 0                               |
| slow_query_log                          | OFF                             |
| slow_query_log_file                     | /var/run/mysqld/mysqld-slow.log |
| sql_log_bin                             | ON                              |
| sql_log_off                             | OFF                             |
| sql_log_update                          | ON                              |
| sync_binlog                             | 0                               |
+-----------------------------------------+---------------------------------+
38 rows in set (0.00 sec)

mysql> set global general_log = ON;
Query OK, 0 rows affected (0.01 sec)

二、第二天拿到log文件(/var/run/mysqld/mysqld-slow.log)

发现大量修改痕迹和sql注入。

技术分享

 

技术分享

从log中得知,有很多ip登录,有全国各地的,还有美国的,主要进行了这些操作:修改mysql相关安全参数,设置了一些变量值,从某一地址下载脚本,并执行(应该是挂木马)。

三、临时解决方案:

     1、重装系统,或者下载杀毒软件。

     2、开启防火墙,只开放提供服务的端口。

     3、用户名和密码都设置复杂一点。

 

mysql max_allowed_packet 反复被重置,原来是服务器被黑客攻击了。