安全 | 打錢!我的數(shù)據(jù)庫(kù)被黑客勒索了!
數(shù)據(jù)庫(kù)失陷昨天晚上,讀者群里一位小伙伴發(fā)消息說自己的數(shù)據(jù)庫(kù)被黑了,搞安全的我自然是立刻來(lái)了興趣,加班加點(diǎn)開始分析起來(lái),不知道的還以為我要熬夜等剁手節(jié)呢。
這位小伙伴使用了某云平臺(tái)搭建了一個(gè)自己的網(wǎng)站,昨天登錄卻發(fā)現(xiàn)了奇怪的報(bào)錯(cuò):
看來(lái)是數(shù)據(jù)庫(kù)出了問題,隨后查看數(shù)據(jù)庫(kù),才發(fā)現(xiàn)粗事情了···
看來(lái)是遭勒索黑產(chǎn)團(tuán)隊(duì)盯上了,根據(jù)上面的提示信息,有兩個(gè)數(shù)據(jù)庫(kù)被他給下載后干掉了,分別是:kodbox、zxl。
這位小伙伴給了我賬戶密碼,登錄了上去。
用Navicat連接查看了一下,果然,這兩個(gè)庫(kù)中只剩下一個(gè)名字為WARNING的表,表中只有一行記錄,留下了勒索者的威脅信息:
接下來(lái),打算用SSH登錄到服務(wù)器上,看看有沒有什么蛛絲馬跡。
首先檢查了系統(tǒng)登錄日志,并沒有發(fā)現(xiàn)有可疑的IP登錄記錄。
再檢查了系統(tǒng)用戶列表,也沒有發(fā)現(xiàn)有可疑的用戶出現(xiàn)。
接著查看MySQL的日志,雖然這位小伙伴說沒有開啟binlog,但實(shí)際發(fā)現(xiàn)是開啟的,并且日志文件也存在:
隨后,在mysql-bin.000023中,找到了案發(fā)現(xiàn)場(chǎng),使用mysqlbinlog工具查看binlog日志:
根據(jù)binlog時(shí)間戳顯示,案發(fā)時(shí)間是在11月10日上午8:32-8:34分,短短兩分鐘之內(nèi)完成的。
根據(jù)日志記錄,攻擊者并沒有備份數(shù)據(jù)的操作,而是簡(jiǎn)單粗暴的進(jìn)行了DROP操作,所以別指望乖乖聽話打錢就能擺平。
接下來(lái),準(zhǔn)備查看一下MySQL的登錄日志,看看這段時(shí)間是哪個(gè)IP和哪個(gè)用戶名登錄上來(lái)的。
很遺憾general日志沒有開啟:
再看看user表,一個(gè)神秘的admin用戶出現(xiàn)在了這里,居然用的還是弱口令:123456
這不是等于開了一扇大門讓人隨意進(jìn)出嗎?
既然有binlog,要恢復(fù)起來(lái)還是比較容易。
其他發(fā)現(xiàn)
除了MySQL,在檢查系統(tǒng)安全日志的時(shí)候,發(fā)現(xiàn)日志文件出奇的大:
不看不知道,一看嚇一跳,里面全是來(lái)自各種IP的SSH暴力破解登錄的記錄,持續(xù)24小時(shí)在嘗試,感覺受到了暴擊:
用tail -f 命令打開的情況下,就是持續(xù)不斷的在刷屏增長(zhǎng),可見攻勢(shì)之猛烈。
幸好這位小伙伴的系統(tǒng)密碼強(qiáng)度還算可以,不然早晚給打穿了。
但這持續(xù)不斷的暴力登錄也挺煩人的,應(yīng)該讓防火墻來(lái)干活了,沒想到一檢查防火墻竟然是關(guān)掉的狀態(tài)。。。我感覺快要窒息了。
趕緊把防火墻扶起來(lái)工作,再給配一條規(guī)則,一分鐘之內(nèi)超過3次的SSH連接就給拒掉:
- iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --name SSH_RECENT --rcheck --seconds 60 --hitcount 3 -j DROP
再次檢查secure日志,增長(zhǎng)的速度明顯放緩了。
安全建議
這次經(jīng)歷表明,安全離我們并不遙遠(yuǎn)。
所幸這個(gè)小伙伴這次的數(shù)據(jù)并不重要,而且還開啟了binlog,沒有造成什么重要的損失??扇绻麤]有開啟呢?萬(wàn)一是公司項(xiàng)目呢?那后果就嚴(yán)重了。
安全這根弦還是時(shí)常要緊繃,下面是幾個(gè)小建議:
(1) 日志記錄
在業(yè)務(wù)允許的條件下,盡可能的開啟詳盡的日志記錄,以便在案發(fā)后溯源追蹤。包括但不限于操作系統(tǒng)日志、審計(jì)日志、Web訪問日志、數(shù)據(jù)庫(kù)連接登錄日志、數(shù)據(jù)操作日志等等。
(2) 數(shù)據(jù)備份
定時(shí)進(jìn)行關(guān)鍵數(shù)據(jù)的備份存儲(chǔ),遇到勒索加密也能從容應(yīng)對(duì)。
(3) 密碼強(qiáng)度
不要用弱口令,數(shù)字、字母大小寫、特殊符號(hào)一起上,一個(gè)好的密碼可以幫你抗住一大半的攻擊可能。
(4) 定期修改密碼
就算用上了高強(qiáng)度密碼,也不是一勞永逸,除了技術(shù)攻擊,還有社會(huì)工程學(xué),一個(gè)密碼走遍天下風(fēng)險(xiǎn)極高,時(shí)不時(shí)修改密碼也是非常有必要的。
(5) 防火墻
防火墻的重要性就不必多說了,用好防火墻,將絕大多數(shù)攻擊者拒之門外。
(6) 專業(yè)的安全產(chǎn)品
對(duì)于企業(yè)和政府單位,還需要專業(yè)級(jí)的安全產(chǎn)品,比如全流量分析產(chǎn)品用于案件回溯,找到對(duì)方是怎么進(jìn)來(lái)的,便于找出系統(tǒng)漏洞,及時(shí)修補(bǔ)。
互聯(lián)網(wǎng)是一個(gè)充滿了惡意的環(huán)境,別讓你的服務(wù)器在云上裸奔。