MySQL成數據勒索新目標,開發4步自查

作者:張祖優,騰訊雲@雲鼎實驗室

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

問題分析

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

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

安全自查

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

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

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

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

安全建議及修復方案

一、採用正確的安全組或者iptables等方式實現訪問控制;

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

1、MongoDB

a. 配置鑒權

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

  1. 啟動MongoDB進程是加上-auth參數或在MongoDB的配置文件中加上auth = true;
  2. 帶auth啟動的MongoDB,如未創建用戶,MongoDB會允許本地訪問後創建管理員用戶。創建步驟如下:

1. 切換到 admin 庫;n2. 創建管理員用戶,命令如下(user和pwd可以根據需要設置):ndb.createUser({user: "root",pwd: "password",roles: [ "root" ]})n3. 使用管理員用戶登錄後,根據角色創建您需要的用戶n

b. 關閉公網訪問

可通過MongoDB的bind_ip參數進行配置,只需將IP綁定為內網IP即可,如下:

1. 啟動時增加bind_ip參數:mongod --bind_ip 127.0.0.1,10.x.x.xn2. 在配置文件mongodb.conf中添加以下內容:nbind_ip = 127.0.0.1,10.x.x.xn其中10.x.x.x為您機器的內網IP.n

2、Redis

a. 配置鑒權

  1. 修改配置文件,增加 「requirepass 密碼」 項配置(配置文件一般在/etc/redis.conf)
  2. 在連接上Redis的基礎上,通過命令行配置,config set requirepass yourPassword

b. 關閉公網訪問

  1. 配置bind選項,限定可以連接Redis伺服器的IP,修改 Redis 的默認埠6379

c. 其他

  1. 配置rename-command 配置項 「RENAME_CONFIG」,重名Redis相關命令,這樣即使存在未授權訪問,也能夠給攻擊者使用config 指令加大難度(不過也會給開發者帶來不方便)

相關配置完畢後重啟Redis-server服務

3、MySQL

a. 配置鑒權

MySQL安裝默認要求設置密碼,如果是弱命令,可通過以下幾種方式修改密碼:

  1. UPDATE USER語句

    //以root登錄MySQL後,n USE mysql;n UPDATE user SET password=PASSWORD(新密碼) WHERE user=root;n FLUSH PRIVILEGES;n

  2. SET PASSWORD語句

    //以root登錄MySQL後,n SET PASSWORD FOR root=PASSWORD(新密碼);n

  3. mysqladmin命令

    mysqladmin -u root -p 舊密碼 新密碼n

b. 關閉公網訪問

  1. 啟動參數或者配置文件中設置bind-address= IP綁定內部IP
  2. 以root賬號連接資料庫,排查user表中用戶的host欄位值為%或者非localhost的用戶,修改host為localhost或者指定IP或者刪除沒必要用戶

3、其他服務

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

參考鏈接

  1. 《避免 MongoDB 被勒索詳解,騰訊雲上更安全》避免 MongoDB 被勒索詳解,騰訊雲上更安全
  2. 《下一個獵殺目標:近期大量MySQL資料庫遭勒索攻擊》下一個獵殺目標:近期大量MySQL資料庫遭勒索攻擊 - FreeBuf.COM | 關注黑客與極客
  3. 《知名搜索引擎Elasticsearch成為勒索軟體敲詐目標》知名搜索引擎Elasticsearch成為勒索軟體敲詐目標
  4. 《Redis 未授權訪問配合 SSH key 文件利用分析》Redis 未授權訪問配合 SSH key 文件利用分析

本文首發騰雲閣-騰訊雲技術社區:qcloud.com/community/ar


推薦閱讀:

淺談如何對MySQL內核進行深度優化
【原創】MYSQL 的那些「坑」
12 條用於 Linux 的 MySQL/MariaDB 安全最佳實踐

TAG:信息安全 | 云计算 | MySQL |