那些容易被黑產盯上的開源數據庫軟件
近期全球范圍內大量MongoDB因為配置不當導致公網匿名可訪問,被黑產大量利用,刪除業務數據并索要贖金后才恢復數據,本文從攻防角度講述下那些容易被黑產盯上的開源數據庫軟件。
動機
只要攻擊成本低于收益,就有動機。互聯網公司大量使用各種開源的數據庫保存重要的業務數據,一旦數據被銷毀且無法恢復,會造成較大損失,這類互聯網公司有相當一部分安全防護薄弱,攻擊成本低,也有一定能力支付較小金融的贖金,于是這波人就成了黑產理想的攻擊目標。
攻擊過程
這 類攻擊往往非常簡單粗暴但有效,以MongoDB為例。MongoDB默認情況下不需要密碼認證即可登錄,雖然默認是監聽127.0.0.1,但是較多情 況下前端和MongoDB不在一臺服務器上,管理員會配置MongoDB監聽網絡連接,于是只要沒嚴格限制外網訪問,MongoDB就被無意之中對公網開 放了訪問權限了。黑產的攻擊過程很簡單,簡單描述如下:
可見,被攻擊的要素有兩個:
- 無認證或者弱口令
- 公網可訪問
潛在目標
知道了攻擊原理后,推而廣之有類似問題的開源數據庫其實很多,既有傳統的SQL數據庫,也有流行的NOSQL,我們列舉下名氣比較大的幾個:
MySQL
作為當今最流行的開放源碼數據庫之一,MySQL數據庫為用戶提供了一個相對簡單的 解決方案,適用于廣泛的應用程序部署,能夠降低用戶的TCO。情況稍好,基本管理員都會配置用戶認證和訪問來源限制。
PostgreSQL
PostgreSQL是一個功能齊全、開放源碼的對象一關系性數據庫管理系統 (ORDBMS)。目前,PostgreSQL的穩定版本為8.4版,具有豐富的特性和商業級數據庫管理系統的特質。情況稍好,基本管理員都會配置用戶認證和訪問來源限制。
MongoDB
MongoDB 是一個介于關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。Mongo最大的特點是他支持的查詢語言非常強大,其 語法有點類似于面向對象的查詢語言,幾乎可以實現類似關系數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引。情況最差,默認匿名訪問。
Redis
redis 是一個高性能的key-value數據庫。 redis的出現,很大程度補償了memcached這類keyvalue存儲的不足,在部分場合可以對關系數據庫起到很好的補充作用。它提供了 Python,Ruby,Erlang,PHP客戶端,使用很方便。情況最差,默認匿名訪問。
Elasticsearch
ElasticSearch 是一個基于Lucene的搜索服務器。它提供了一個分布式多用戶能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java開發的,并作為Apache許可條款下的開放源碼發布,是當前流行的企業級搜索引擎。設計用于云計算 中,能夠達到實時搜索,穩定,可靠,快速,安裝使用方便。情況最差,默認匿名訪問。
Solr
Solr 是一個獨立的企業級搜索應用服務器,它對外提供類似于Web-service的API接口。用戶可以通過http請求,向搜索引擎服務器提交一定格式的 XML文件,生成索引;也可以通過Http Get操作提出查找請求,并得到XML格式的返回結果。情況最差,默認匿名訪問。
友情建議
以上只是舉了常見的幾個,作為甲方安全團隊,我建議:
- 數據庫軟件一定要開啟認證,使用強密碼
- 嚴格限制訪問源,而且最好在防火墻上限制
- 修改默認開放端口