1、數據庫審核規范
“數據庫審核規范”對象也屬于SQL Server審核。針對每個審核,DBA可以為每個 SQL Server 數據庫創建一個數據庫審核規范。
圖1:SQL Server審核構成說明
數據庫審核規范可收集由擴展事件功能引發的數據庫級審核操作。您可以向數據庫審核規范添加審核操作組或審核事件。“審核事件”是可以由 SQL Server 引擎審核的原子操作;“審核操作組”是預定義的操作組。它們都位于 SQL Server 數據庫作用域。這些操作將發送到審核,審核將它們記錄到目標中,,目標可以是文件、Windows 安全事件日志或 Windows 應用程序事件日志,如圖1所示。管理員必須定期查看和歸檔這些日志,以確保目標具有足夠的空間來寫入更多記錄。
屬于db_owner角色的用戶可以修改數據庫中任何的審核規范。
2、如何使用SQL Server審核功能
DBA可以使用SQL Server Management Studio ( SSMS )或Transact-SQL來定義審核。默認情況下, SQL Server不會啟用審核功能,因此我們創建好審核功能后,需要手動啟用。
您可以使用Windows中的事件查看器閱讀Windows安全事件日志或者Windows應用程序事件日志。您也可以使用日志文件查看工具在SQL Server Management Studio或內置的FN_READ_AUDIT_FILE功能在SQL Server中讀取目標文件。
創建和使用的審核功能的過程大體如下:
1、創建一個審核,并定義審核信息需要捕獲的目標;
2、創建服務器審核規范或數據庫審核規范;
3、啟用審核規范。SQL Server創建審核時,默認是不啟用審核規范的;
4、使用Windows事件查看器,查看日志文件或者使用內置FN_READ_AUDIT_FILE功能,分析所捕獲的審核事件。
3、配置SQL Server 2008中的審核對象
必須先創建和配置可以用于審核的 SQL Server 審核對象,才可以創建數據庫服務器審核規范。
1、使用SQL Server Management Studio連接到SQL Server 2008實例。
2、在對象資源管理器中,右鍵點擊“安全性à審核”節點,在彈出菜單中選擇“新建審核”選項,創建一個新的審核對象,如圖2所示:
圖2:新建審核菜單項
3、SQL Server 2008將彈出一個新的窗口創建審核,如圖3所示:
圖3:創建審核對象彈出窗口
您需要輸入一些信息:
l 審核名稱:提供審核對象的名稱
l 隊列延遲(毫秒):指定在強制處理審核操作之前可以等待的時間(毫秒)。值 0 指示同步傳遞。默認的最小值為 1000(1 秒)。最大值為 2,147,483,647(2,147,483.647 秒,即24天20小時31分鐘 23.647 秒)。
l 在審核日志故障時關閉服務器:在寫入目標的服務器實例時,如果無法將數據寫入審核目標時,強制關閉服務器。發出此命令的登錄名必須具有 SHUTDOWN 權限。如果該登錄名沒有此權限,則該函數將失敗并將引發錯誤消息。
最佳的做法是,只有當審核故障可能會威脅系統的安全性或完整性時,才應當使用此命令。
l 審核目標:指定數據的審核目標。可用選項包括二進制文件、Windows 應用程序事件日志或 Windows 安全事件日志。如果未在 Windows 中配置其他設置,SQL Server 無法寫入 Windows 安全事件日志。需要注意的是,在 Windows XP 上不可寫入安全事件日志。
l 文件路徑:當指定“審核目標”是文件時,要將審核數據寫入的該參數指定的文件夾所在的位置。
打開“瀏覽文件夾”對話框指定文件路徑或者創建要寫入審核文件的文件夾。
l 最大滾動更新文件數:指定要保留在文件系統中的最大審核文件數。設置為 MAX_ROLLOVER_FILES=UNLIMITED 時,未對將創建的滾動更新文件數施加任何限制。默認設置是無限的(UNLIMITED)。可以指定的最大文件數為 2,147,483,647。
l 最大文件大小:以兆字節 (MB) 為單位指定審核文件的最大大小。可以指定的最小大小為 1024 KB,最大大小為 2,147,483,647 TB。還可以指定 UNLIMITED(即不對文件大小施加限制)。指定一個小于 1024 KB 的值將引發錯誤 MSG_MAXSIZE_TOO_SMALL。默認設置為 UNLIMITED。
l 保留磁盤空間:指定在磁盤上預先分配與指定的最大文件大小相等的空間。只有當 MAXSIZE 不等于 UNLIMITED 時,才能使用此設置。默認設置為 OFF。
一旦審核對象創建后就必須啟用。如圖4所示:
圖4:啟用審核對象菜單項
5. 如果審核啟用成功后,你將看到類似圖5的提示消息框:
圖5:成功啟用審核后的提示窗口
6. 你可以右鍵點擊SQLServerAuditing,在彈出菜單中,選擇“View Audit Logs”來查看審核日志。
圖6:查看審核日志菜單項