1. 程式人生 > >mysql 資料庫被入侵解決辦法

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會記錄大量執行命令,因次耗資源,預設是關閉的。建議系統無異常時關掉。)