如何處理仍未解決的MongoDB安全問題?

責(zé)任編輯:jackye

作者:Matthew Pascucci

2017-06-07 09:40:07

摘自:TechTarget中國

攻擊者刪除原始數(shù)據(jù)庫并以備份件索要贖金,濫用這些MongoDB實例的身份驗證和遠程訪問。MongoDB的默認端口為27017,如果不是只綁定到127 0 0 1,并且防火墻沒有被鎖定,則攻擊者能夠遠程訪問數(shù)據(jù)庫。

有關(guān)MongoDB尚未解決的安全隱患是什么?在補丁可用之前,企業(yè)可以采取哪些措施以緩解這些威脅?

Matthew Pascucci:最近,網(wǎng)上有關(guān)MongoDB配置錯誤的攻擊正在加劇。攻擊者刪除原始數(shù)據(jù)庫并以備份件索要贖金,濫用這些MongoDB實例的身份驗證和遠程訪問。

這些及其他MongoDB安全誤配置和漏洞與補丁管理并不完全相關(guān),較貼近配置管理領(lǐng)域。企業(yè)可采取措施來改善MongoDB的安全性,并保護數(shù)據(jù)庫免受攻擊。

這里的主要問題在于MongoDB的某些版本默認配置非常隨意。在這種情況下,責(zé)任在于安裝數(shù)據(jù)庫軟件的管理員,是因為他們沒有恰當(dāng)?shù)墓芾碓斐傻摹?/p>

在我看來,默認情況下所有軟件都應(yīng)該被鎖定,且應(yīng)該僅在需要時啟用某些功能。如果應(yīng)用程序在默認情況下不執(zhí)行此操作,并留有記錄,那么責(zé)任歸咎于管理員。由于較早版本的MongoDB的默認配置較隨意,因此數(shù)據(jù)庫管理員應(yīng)該從驗證一些事開始著手。

改善MongoDB安全性的第一步是確定運行數(shù)據(jù)庫的服務(wù)器是否需要有任何入站連接。很多時候,這些數(shù)據(jù)庫是遠程安裝的,需要遠程管理員的訪問。MongoDB的默認端口為27017,如果不是只綁定到127.0.0.1,并且防火墻沒有被鎖定,則攻擊者能夠遠程訪問數(shù)據(jù)庫。

確保只打開了正確的端口,如無必要限制可以訪問系統(tǒng)、并從互聯(lián)網(wǎng)上刪除所有訪問的人員權(quán)限。另外,如果某些實例不得不通過互聯(lián)網(wǎng)打開以降低可見性,考慮使用VPN連接的可能性。

其次,確保驗證和運行數(shù)據(jù)庫的用戶身份有效。以前的一個問題是默認配置允許未經(jīng)身份驗證的用戶通過互聯(lián)網(wǎng)訪問數(shù)據(jù)庫。強烈建議企業(yè)采取某種基于角色的訪問控制來限制特定用戶無法訪問的數(shù)據(jù)庫部分。

此外,運行數(shù)據(jù)庫的用戶帳戶不應(yīng)對系統(tǒng)的其余部分擁有完整的管理員權(quán)限。將權(quán)限直接限制在應(yīng)用程序中,可以抵御應(yīng)用程序中可能出現(xiàn)的其他漏洞(如SQL注入)。

第三步是驗證數(shù)據(jù)庫中的數(shù)據(jù)在傳輸和存儲過程中都被加密。有一種叫做WiredTiger的本地加密可以在特定的MongoDB版本中使用,有助于保護數(shù)據(jù)庫中的數(shù)據(jù)。這不會有助于勒索軟件攻擊中發(fā)生的盜竊問題,但會讓被盜數(shù)據(jù)被使用。如果企業(yè)需要遠程訪問數(shù)據(jù)庫,則應(yīng)通過TLS來實現(xiàn)以確保傳輸中的通信安全。

最后,日志記錄和審計、漏洞掃描、配置和補丁管理都是很好的做法,可以緩解相關(guān)安全問題。如果沒有對MongoDB實例或者真正的系統(tǒng)進行適當(dāng)管理,可能會導(dǎo)致企業(yè)的安全風(fēng)險升高,以致發(fā)生數(shù)據(jù)泄漏問題。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號