1. 程式人生 > >mysql max_allowed_packet 反復被重置,原來是服務器被黑客攻擊了。

mysql max_allowed_packet 反復被重置,原來是服務器被黑客攻擊了。

function 測試的 binlog /var/ 用戶 bin alt 團隊 提供服務

最近做個項目,由於團隊人員不在同一個辦公地點,就弄了一臺外網掛靠機做開發和測試環境。

在開發和測試的過長中,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 反復被重置,原來是服務器被黑客攻擊了。