Oracle 數據庫經歷了幾十年的演進,無數個版本更新和漏洞修復,但天下沒有無懈可擊的完美程序,風險仍然存在,并且往往是多個角度和多個層面共同作用的結果。我們曾使用數據庫掃描工具為用戶數據庫進行安全檢查,發現在Oracle的數據庫運維中存在很多問題,包括:弱口令、默認密碼、數據庫后門、數據庫配置不當、敏感數據、高危審計、版本失去安全支持、數據庫漏洞以及數據庫勒索病毒等。這些安全風險的存在讓數據泄露或被篡改等安全事件一觸即發。
11月21日20:00,安華金和攻防實驗室安全專家劉思成作客雷鋒網,直播講解《Oracle數據庫攻防案例分享》,通過數據庫攻防實戰演練,介紹數據庫運維側可能存在的安全風險和隱患。今天我們將公開課內容分享出來,希望能為數據庫運維人員提供參考,進一步提高數據庫安全運維能力。
目前,運維側最常會遇到的安全問題主要為以下三類:
數據庫配置不當
數據庫安全漏洞
數據庫勒索病毒
Oracle數據庫存在幾千個參數配置項,難免出現配置錯誤。當發生錯誤配置時,帶來的安全問題甚至比數據庫漏洞造成的后果要嚴重的多。我們把和安全相關的數據庫配置分為四類:1)參數設置不當;2)角色設置不當;3)系統權限設置不當;4)包權限設置不當。
1)參數設置不當
這是針對所有數據庫用戶而言,參數錯誤的設置可能會給漏洞提供溫床,也可能本身就能當作漏洞執行。
2)角色權限設置不當
角色權限設置不當:當角色被賦予低權限用戶,相當于交出了完整的java權限,可以讓低權限用戶通過Oracle 賬號權限獲得操作系統的操作權限,從而可在操作系統上為所欲為。
3)系統權限設置不當
系統權限設置不當一旦出現,這種情況就更危險了。執行任意存儲過程的權限一旦被賦予低權限用戶,后者可以利用某些調用者權限存儲過程實現提權到DBA的目的。
4)包權限設置不當
包權限設置不當也是一件麻煩事兒。如果把包權限給了低權限用戶,低權限用戶就可以利用語句以SYS權限調用執行計劃函數,從而有機會執行任意sql語句。
防護建議
1)嚴格按照Oracle官方網站的建議進行配置,切莫簡單滿足應用需求,而自毀長城。
2)對所有賬號實施最小權限控制。尤其是對于第三方開發調試所給予的數據賬號密碼一定要保持滿足需求下的最小權限,最小權限將有效的減小數據庫被入侵的威脅。
3)禁止或刪除數據庫對OS文件訪問的函數或存儲過程,避免殃及整個數據庫所在的操作系統和內網環境。
參照以上三條安全防護建議,90%的安全問題都可迎刃而解。此外,還有一種更省事的辦法,就是直接用成熟的數據庫漏掃產品進行定期檢查。鏈接為安華金和數據庫漏掃的一個免費版,大家可以拿去試用。http://www.dbscloud.cn/dbscan.html
數據庫漏洞威脅一直是數據庫的嚴重威脅。從不同角度來看數據庫存在多種不同分類方式,按照漏洞屬性分,數據庫漏洞大體分為兩種類型:第一是數據庫專有漏洞,第二類是通用性軟件漏洞。
上圖基本涵蓋了最主流的數據庫漏洞類型。當兩個中危漏洞組合使用,往往會產生高危漏洞的效果。以中危漏洞CVE-2012-1675和CVE-2012-3137漏洞組合攻擊為例。兩個漏洞和數據庫通訊協議密切相關,一旦被黑客利用,可以借此從網絡端對Oracle 數據庫發動攻擊。
黑客組合使用該漏洞組合可以分為三步:依次為探、改、破。
第一步:探。利用CVE-2012-1675 竊聽用戶客戶端和數據庫之間的通訊內容,盜取數據;
第二步:改。利用代理轉發機制,對特定語句進行改包,以此返回黑客想盜取的信息;
第三步:破。通過網絡竊取拿到數據庫登錄包的身份驗證部分,再利用CVE-2012-3137漏洞進行離線暴力破解,拿到數據庫的用戶名和密碼。
防護建議
1)如果允許第一時間內打補丁是非常必要的。官方補丁能解決95%的問題,攻擊數據庫經常都是用的很老的漏洞,0day比例就很小。
2)如果由于測試結果或環境的問題無法打補丁,那么只能采用具備虛擬補丁能力的數據庫防火墻產品進行加固,虛擬補丁通過規則可以防護大部分已知數據庫漏洞的攻擊。
數據庫勒索病毒是目前最為常見,也最為危險的數據庫攻擊方式。其中,和數據庫有關系的主要有三種:
1)客戶端軟件比特幣勒索;
2)Oracle 升級包惡意腳本;
3)文件系統加密比特幣勒索。
文件系統加密相對來說,和數據庫關系沒那么緊密。這種類型基本只在windows上遇到過,不過據悉已經在linux上出現。該病毒的勒索目標主要是文件系統上的一些特定后綴的文件。根據和數據庫相關的程度可以分為三種:不加密數據文件、只加密文件頭 和文件整體加密。防護此類攻擊的最佳方式即做好備份工作。
而與客戶端勒索病毒類似的Oracle升級包惡意腳本,兩者手法基本完全一致。客戶端勒索病毒主要存在于客戶端的一些自動執行腳本中,這些惡意腳本如果被放在升級包中就成了Oracle 升級包惡意腳本。
1)無論是客戶端還是升級包都請從正規渠道下載,并計算MD5值千萬別用破解版,免費的結果是省了小錢丟了數據。
2)利用數據庫防火墻等類似產品對勒索病毒進行傳播阻斷,需要選用有上下文判斷能力的成熟防火墻產品。
3)定期使用數據庫漏掃工具進行查殺,排除安全隱患。