記錄一次阿里雲數據庫表數據被刪恢復過程


最近某天打開業余開發的小程序,發現訪問不了js報錯,ssh登錄服務器,發現上面各微服務正常,MQ、ES也正常,在某服務日志里看到了MySQL數據庫連接
報錯。服務器用的阿里雲ECS,CPU2核、內存8G,在上面安裝了MySQL,通過IDEA里連接時提示[28000][1045] Access denied for user root@x.x.x.x
之前一直是能連上的,並且幾個月前對程序進行一些優化和完善,開發過程中編寫過sql執行都是沒問題的。

在服務器上直接用命令mysql -uroot -pxxx 發現數據庫能連。
show databases;
use cdfive2019;
show tables;
select * from cdfive_song;
發現表里沒數據了,查了其它幾張表,數據都是空的。
該數據庫和小程序主要是業余學習使用,上面有一些學習的demo演示和博客分享,數據量不大,除了日志表,最大只有幾百條記錄。
程序在github上開源,數據庫用戶名/密碼配置在了yml里,在阿里雲控制台也打開了3306端口,方便平常用客戶端連接使用。
在業余有時間的時候,對功能和代碼逐步進行建設和優化,已運行幾年都沒問題。
有點驚訝,在想是不是有其他人連了這個庫,把數據表被清空了。
疑惑間突然看到show databases里多了一張README表,
select * from README;
結果如下:

以下數據庫已被刪除:cdfive2019, cdfive_mp3。 我們有一個完整的備份。 要恢復它,您必須將0.006比特幣(BTC)支付給我們的比特幣地址xxxxxx。 
有關說明,請通過xxx@xxx.com通過電子郵件聯系我們。 任何與付款無關的郵件都將被忽略!

原來是被黑客攻擊了,提示要付款才能找回被刪除的數據。
在公司里幾乎天天聽到同事討論炒幣、股票等各種新聞和實戰,沒想到這里也是要求以比特並付款。
聽說一個比特幣價格很高,0.006個估計也不少。
感覺這黑客不太厚道,一個學習類分享技術、demo的小網站,也給數據刪了。
並且找錯了人,自己不懂幣,也沒有幣或股票賬戶,沒有能力支付。
幸運的是,之前有對雲上的數據庫定期進行備份,找到備份的數據恢復即可。

查看用戶:
select host,user,authentication_string from mysql.user;
發現多了一個mysqld不限ip的用戶,將它刪除。

刪除用戶:
drop user mysqld@'%';

查看授權:
show grants;

對固定ip授權:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'x.x.x.x' IDENTIFIED BY 'xxx';
不使用%對所有ip授權,僅對固定ip授權,減少可能的惡意訪問。

刷新授權:
flush privileges;

參考:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM