Windows應急響應和系統加固(12)——SQL Server/MySQL/Oracle日志提取和安全分析


MS SQL Server/MySQL/Oracle日志提取和安全分析

一、MS SQL Server日志分析:

  1.MS SQL Server數據庫簡介:

    Microsoft SQL Server,是微軟推出的關系型數據庫解決方案(Relational Database Management System:RDBMS),使用方便,可伸縮性好,且與相關軟件集成程度高等優點,因而被廣泛使用。

    Microsoft SQL Server的特點:圖形化操作、管理,上手容易,維護效率高,是最受歡迎的商業數據庫之一,可跨越從運行Microsoft Windows 98 的膝上型電腦到運行Microsoft Windows 2012 的大型多處理器的服務器等多種平台使用。

    MS SQL Server默認啟用日志記錄功能,但是僅限失敗的登錄,因此,我們應修改記錄為"失敗和成功的登錄",如圖:

    這樣,可對用戶的登錄行為進行審核。

   2.MS SQL Server數據庫常見漏洞分析:

     Microsoft SQL Server經典的漏洞類型: sp_replwritetovarbin遠程堆溢出漏洞(CVE-2008-5416)、Lyris ListManager MSDE SA弱密碼漏洞(CVE-2005-4145)。

 

 

     Microsoft SQL Server 影響范圍比較廣的漏洞類型有:緩沖區溢出漏洞、弱密碼、權限提升、拒絕服務、SQL注入等幾種。

     xp_cmdshell,可讓人們以OS命令行解釋器的方式執行指定的命令字符串並以文本行方式返回任何輸出,是一個功能非常強大的擴展存貯過程,但后來此指令可以被用來提權,因此默認為關閉。

  3.MS SQL Server的日志分析:

    <1>.可通過SQL Server Profiler,查找和發現 SQL執行的效率和語句問題;

    <2>.可結合Web Application Firewall (WAF)日志,通過查看日志文件的大小,分析日志具體內容,綜合判斷DBMS是否遭遇SQL(sqlmap工具)注入漏洞的攻擊;

    <3>.可借助第三方的工具(ApexSQL)來審計和分析MS SQLServer的日志.

 

二、MySQL日志分析:

  1.MySQL數據庫簡介:

    MySQL,由瑞典MySQL AB 公司開發,屬於 Oracle旗下產品中小型關系型數據庫管理系統,RDBMS,使用標准化SQL查詢語言;

    MySQL數據庫的特點:體積小,速度快,總體部署成本低,性能優越,搭配php、perl、apache、tomcat,形成極佳的開發和集成環境,因此,世界著名,是目前世界上使用最為廣泛的數據庫之一;

  2.MySQL數據庫常見漏洞分析:

    MySQL SQL Injection、UDF/MOF提權,ROOT身份權限Bypass、Webshell Getshell、LPK劫持、遠程代碼執行RCE等漏洞。

  3.MySQL日志分析:

    <1>.查看log配置信息指令:show variables like '%general%',日志文件一般存儲格式為"主機名.log";

    <2>在日志分析中,特別需要注意一些敏感的操作行為,比如:刪表、備庫,讀寫文件(load_file、into outfile等相關讀寫執行函數)等,例如以下關鍵詞需要注意:drop table、drop function、lock tables、unlock tables、

load_file() 、into outfile、into dumpfile......

      例如:WebShell攻擊:利用into outfile()函數寫入一句話木馬,拿webshell:

        1' union select 1,"<?php @eval($_POST['cmd']);?>" into outfile 'C:\\phpStudy\\PHPTutorial\\WWW\\dvwa2019\\ana.php'#

    <3>.mysql讀、寫文件的配置:SHOW GLOBAL VARIABLES LIKE '%secure%' (當secure_file_priv值沒有具體值時,表示不對mysqld的導入和導出做限制)。

 

三、Oracle日志分析:

  1.Oracle數據庫簡介:

    Oracle DBMS是一款是甲骨文公司的一款關系型數據庫管理系統,市場占有率高,在數據庫領域有極其重要的地位,是世界上流行的關系數據庫管理系統;

    Oracle  DBMS數據庫是世界上第一個支持SQL語言的關系型數據庫;

    Oracle DBMS提供了豐富的包、存儲過程,具有支持Java運行和創建Librarry等開發功能,擁有豐富的系統表,幾乎所有的信息都存儲在系統表;

    Oracle廣泛應用於金融、郵電、電力、民航等數據吞吐量大,網絡結構復雜的重要企業和機構;

    常用版本:9i、10g、11g、12c、18c。

  2.Oracle數據庫常見的漏洞分析:

    在安全性方面,盡管Oracle制定了完善的安全策略,提供了詳盡的安全機制,但是隨着Oracle RDBMS新版本的不斷發布,新的問題依然層出不窮,例如:弱密碼問題,SID被猜解,SQL注入,權限配置不當、拒絕服務攻擊等安

全問題。

  3.Oracle數據庫日志分析:

    <1>.Oracle審計(Audit)和日志記錄,可記錄用戶對數據庫所做的操作,默認情況下,使用管理員權限連接實例(instance),開啟及關閉數據庫是會強制進行審計的,無論是否打開數據庫的審計功能(其它的基礎的操作則沒有

進行審計。),Oracle會將審計和Trace跟蹤結果(是否開啟審計記錄的功能),存放到OS文件里,默認位置在:$ORACLE_BASE/admin/$ORACLE_SID/adump/ 或存儲在數據庫表里(存儲在system表空間中的SYS.AUD$表中,可通過

視圖dba_audit_trail查看),可使用"show parameter audit"命令查看相關設置。

    <2>."show parameter audit_trail"指令(日志審計的設置)相關介紹:

      audit_trail的設置值:    

        NONE:不開啟;

        DB:開啟審計功能(Oracle11g后默認開啟,All audit records stored in the database audit trial (AUD$));

        OS:審計記錄寫入一個操作系統文件(AUDIT_FILE_DEST);

        TRUE:與參數DB一樣;

        DB_EXTENDED:審計結果放在數據庫表中,並額外記錄SQL_BIND和SQL_TEXT(具體執行語句);

        FALSE:不開啟審計功能;

        xml:啟用審計功能,審計信息寫入xml格式的操作系統文件中。

    <3>.Oracle的其他審計類型:

      語句審計(Statement Auditing):對特定的SQL語句進行審計記錄,不指定具體對象;

      權限審計(Privilege Auditing):對特定的系統權限使用情況進行審計記錄;

      對象審計(Object Auditing):對特定的模式對象上執行的特定語句進行審計記錄;

      網絡審計(Network Auditing):對網絡協議錯誤與網絡層內部錯誤進行審計記錄。

 

      此外,根據用戶是否成功執行,可以分為:

        對執行成功的語句進行審計;

        對不成功的語句進行審計;

        無論成功與否都進行審計。

      根據對同一個語句審計次數不同,可以分為會話審計和存取審計。

      會話審計:對某個用戶或所有用戶,同一語句,只審計一次,形成一條審計記錄;

      存取審計:對某個用戶或所有用戶,同一語句,每執行一次就審計一次,形成多條審計記錄。

 

四、第三方數據庫審核記錄:

  數據庫審計(DBAudit)可實時記錄網絡上數據庫活動,對數據庫操作細粒度審計,合規性管理,對數據庫遭受到的風險行為、漏洞攻擊行為進行告警,對攻擊行為進行阻斷。

  通過對用戶訪問數據庫行為,記錄、分析、匯報,事后生成合規報告,事故追蹤,溯源,加強內外部數據庫網絡行為記錄,提高數據安全。

    

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM