幾日前,DB-Engines發布了2016年DBMS榜單,MongoDB遺憾敗北無緣前三甲。近日,MongoDB數據庫實例遭受多個黑客組織攻擊的事件又被刷爆朋友圈,眾多用戶的數據庫內容被加密,必須支付贖金才能重新找回數據,這個冬天對于MongoDB來說,真是多事之秋啊。
MongoDB黑客贖金事件始末
2015年底,有專家指出至少35000萬個MongoDB數據庫暴露在互聯網上,近684.8T的數據在裸奔。據統計,今年1月Shodan上暴露在公網的MongoDB數據庫多達47000個。著名安全專家John Matherly觀察,不安全數據在以可怕的速度增加,從2015年7月到12月,短短四個月的時間不安全數據庫實例增加了5000。Matherly在2015年就提出了這些裸露數據存在著巨大風險的論述。
果不其然,2016年12月27日,GDI Foundation 的安全研究人員 Victor Gevers首次發現了攻擊者利用配置存在紕漏的開源數據庫MongoDB展開了勒索行為。自稱Harak1r1 的黑客組織將網絡上公開的MongoDB資料庫中的資料匯出,并將MongoDB服務器上的資料移除,然后向數據庫所有人索取0.2個比特幣(約208美元)的贖金。據悉,Harak1r1在短短幾天的時間內攻擊了2000多個MongoDB數據庫,并有十多個所有人已支付贖金。
▲黑客發布的贖金要求
Harak1r1的攻擊行為似乎點燃了黑客的攻擊本能,眾多鬣狗一下子圍了上來,own3d(干掉了近千個數據庫,贖金金額為0.5個比特幣)、0704341626asdf(據統計干掉了至少740個數據庫,贖金金額為0.15個比特幣)、kraken0、3lix1r(這兩個為后來者,但攻擊速度不容小覷)。目前,MongoDB黑客攻擊事件已經是一場大亂斗了,甚至還出現了黑客篡改其它黑客勒索信的情況。
MongoDB官方如何回應
MongoDB數據庫被攻擊事件愈演愈烈,甚至BBC也報道了該事件,美國MongoDB也針對此事件正式做出了回應:
最近有報告稱,網絡上有一些黑客惡意攻擊在互聯網上公開運行的MongoDB數據庫。攻擊者號稱在備份了數據后刪除了整個數據庫,并要求被攻擊者支付贖金以還原被刪除的數據。其實這些攻擊完全可以通過MongoDB中內置的完善的安全機制來預防,只要您按照我們的安全文檔正確使用這些功能就可以避免攻擊事件的發生。
默認情況下,最受歡迎的MongoDB(RPM)安裝程序會把對MongoDB實例的訪問限制到localhost。如果您通過其他方式安裝,也可以使用此配置。MongoDB Cloud Manager和MongoDB OpsManager提供連續備份與時間點恢復,用戶可以啟用告警,以檢測其部署是否暴露于互聯網。
最新的MongoDB 3.4版本可以讓您在不停機狀態下啟用身份驗證。MongoDB Atlas,MongoDB官方提供的MongoDB云數據庫服務為您的數據庫提供多個級別的安全性。這些功能包括強大的訪問控制,使用Amazon VPC和VPC Peering的網絡隔離,IP白名單,使用TLS / SSL的數據加密以及底層文件系統的靜態加密。
另外,我們鼓勵經歷過MongoDB安全事件的用戶創建漏洞報告。如果您有興趣了解有關安全最佳做法的更多信息,請閱讀我們的安全架構白皮書。
下面筆者來總結一下官方回應的內容:1.被攻擊的MongoDB數據庫都是沒有按照安全文檔正確配置的;2.MongoDB新版本提供多個級別的安全性,用戶只要升級就可不受攻擊;3.如果你已經被攻擊了,歡迎你創建漏洞報告,方便我們完善漏洞。
如何避免這樣的事件再次發生
雖然,安全事件屢有發生,但是并沒有真正的引起人們的注意,大多數人對于安全還是抱有僥幸心理,此次MongoDB黑客贖金事件再次給我們敲響了警鐘,如果你不重視安全,那么事實總會給你迎頭一擊的。
MongoDB事件其實也暴露出了安全問題的短板其實是用戶,首先用戶對于數據庫的安全不重視,其次用戶在使用過程中可能沒有養成定期備份的好習慣,最后是企業可能缺乏有經驗和技術的專業人員。
對于已經遭受到攻擊的用戶,MongoDB官方也給出了具體的解決方法:首要任務是保護您的集群以防止進一步的未授權訪問,然后通過運行usersInfo來檢查是否有添加,刪除或修改的用戶,檢查日志以查找攻擊的時間,檢查是否有刪庫或者刪表,修改用戶或創建贖金記錄的命令。如果用戶有定期備份的習慣,那么再好不過了,因為只要還原最新備份即可,如果沒有備份,那么數據可能會永久丟失。
寫在最后的話:
雖然,MongoDB黑客贖金事件讓很多用戶蒙受了損失,但也不失為一件好事,在產生更多更嚴重的安全事件之前,為企業敲響了警鐘。居安思危,這個世界沒有絕對的安全,絕不能放松警惕,畢竟這世上有太多的“有心人”了。