天天看點

MySQL 成勒索新目标,資料服務基線安全問題迫在眉睫

據最新報道顯示,繼 MongoDB 和 Elasticsearch 之後,MySQL 成為下個資料勒索目标,從2月12日淩晨開始,已有成百上千個開放在公網的 MySQL 資料庫被劫持,删除了資料庫中的存儲資料,攻擊者留下勒索資訊,要求支付比特币以贖回資料。

遍觀 MongoDB 和 Elasticsearch 以及現在的 MySQL 資料庫勒索,可以發現都是基線安全問題導緻被黑客劫持資料而勒索,原因在于這些服務都開放在公網上,并且存在空密碼或者弱密碼等使得攻擊者可以輕易暴力破解成功,直接連上資料庫進而下載下傳并清空資料,特别是不正确的安全組配置導緻問題被放大。

其實類似問題已不是第一次,近期雲鼎實驗室觀測到多起案例,攻擊呈現擴大态勢,不僅僅是勒索,更多的是伺服器被入侵,進而導緻資料被下載下傳。基線安全問題已經成了 Web 漏洞之外入侵伺服器的主要途徑,特别是弱密碼等情況。錯誤的配置可以導緻相關服務暴露在公網上,成為黑客攻擊的目标,加上采用空密碼等弱密碼,黑客可以輕易入侵這些服務。

值此事件爆發之際,建議對自己的伺服器進行自查,避免相關資料丢失等問題,具體自查方式可參考如下:

1、排查伺服器開放的端口及對應的服務,如無必要,關閉外網通路;可以使用 NMap 直接執行 nmap 伺服器IP(在伺服器外網執行),可得到以下結果即為開放在外網的端口和服務。

MySQL 成勒索新目标,資料服務基線安全問題迫在眉睫

2、重點針對這些開放在公網上的服務進行配置的檢查,檢查相關服務是否設定密碼,是否弱密碼。

3、如無必要,均不要使用 root 或者其他系統高權限賬号啟動相關服務。

一、采用正确的安全組或者 iptables 等方式實作通路控制;

二、關閉相關服務外網通路和修改弱密碼:

1、MongoDB

a. 配置鑒權

下面以3.2版本為例,給出 MongoDB設定權限認證,具體步驟如下:

(1)啟動MongoDB程序是加上-auth參數或在MongoDB的配置檔案中加上auth = true;

(2)帶 auth 啟動的 MongoDB,如未建立使用者,MongoDB會允許本地通路後建立管理者使用者。建立步驟如下:

b. 關閉公網通路

可通過MongoDB的bind_ip參數進行配置,隻需将IP綁定為内網IP即可,如下:

2、Redis

(1)修改配置檔案,增加 “requirepass 密碼” 項配置(配置檔案一般在/etc/redis.conf)

(2)在連接配接上Redis的基礎上,通過指令行配置,config set requirepass yourPassword

(1)配置bind選項,限定可以連接配接Redis伺服器的IP,修改 Redis 的預設端口6379

c. 其他

(1)配置rename-command 配置項 “RENAME_CONFIG”,重名Redis相關指令,這樣即使存在未授權通路,也能夠給攻擊者使用config 指令加大難度(不過也會給開發者帶來不友善)

相關配置完畢後重新開機Redis-server服務

3、MySQL

MySQL安裝預設要求設定密碼,如果是弱指令,可通過以下幾種方式修改密碼:

(1)UPDATE USER語句

<code>(2)SET PASSWORD語句</code>

<code>(3)mysqladmin指令</code>

(1)啟動參數或者配置檔案中設定bind-address= IP綁定内部IP;

(2)以root賬号連接配接資料庫,排查user表中使用者的host字段值為%或者非localhost的使用者,修改host為localhost或者指定IP或者删除沒必要使用者。

4、其他服務

請參考以上方式或者官方文檔進行配置

《避免 MongoDB 被勒索詳解,騰訊雲上更安全》

《下一個獵殺目标:近期大量MySQL資料庫遭勒索攻擊》

《知名搜尋引擎Elasticsearch成為勒索軟體敲詐目标》

《Redis 未授權通路配合 SSH key 檔案利用分析》