標籤:audit 審核 審核組件 審核層級 伺服器審核規範
SQL Server 審核(Audit)-- 審核組件
關於審核的架構如。
650) this.width=650;" title="clip_image001" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;" alt="clip_image001" src="http://s3.51cto.com/wyfs02/M00/57/77/wKioL1SbbfvRCDKeAAK11W3uhUg032.jpg" border="0" height="718" />
SQL Server 審核
審核是由“伺服器操作組”、“資料庫操作組”等操作組合而成,可用於收集與監視伺服器層級或資料庫層級的操作。審核內部是使用“擴充事件(Extended Events)”所建立。審核組件位於SQL Server執行個體層級。每個 SQL Server 執行個體可以具有多個審核。定義審核時,將指定結果的輸出位置。 這是審核的目標位置。 審核是在禁用狀態下建立的,因此不會自動審核任何操作。 啟用審核後,審核目標將從審核接收資料。
伺服器審核規範
“伺服器審核規範”對象屬於審核。 您可以為每個審核建立一個伺服器審核規範,因為它們都是在 SQL Server 執行個體範圍內建立的。
伺服器審核規範可收集許多由擴充事件功能引發的伺服器級操作組。 您可以在伺服器審核規範中包括“審核操作組”。 審核操作組是預定義的操作組,它們是資料庫引擎中發生的原子事件。 這些操作將發送到審核,審核將它們記錄到目標中。
-- Creates a server audit called "HIPPA_Audit" with a binary file as the target and no options.CREATE SERVER AUDIT HIPAA_AuditTO FILE ( FILEPATH =‘\\SQLPROD_1\Audit\‘ );/*Creates a server audit specification called "HIPPA_Audit_Specification" that audits failed logins for the SQL Server audit "HIPPA_Audit" created above.*/CREATE SERVER AUDIT SPECIFICATION HIPPA_Audit_SpecificationFOR SERVER AUDIT HIPPA_AuditADD (FAILED_LOGIN_GROUP);GO-- Enables the audit.ALTER SERVER AUDIT HIPAA_AuditWITH (STATE = ON);GO
資料庫審核規範
“資料庫審核規範”對象也屬於 SQL Server 審核。 針對每個審核,您可以為每個 SQL Server 資料庫建立一個資料庫審核規範。
資料庫審核規範可收集由擴充事件功能引發的資料庫級審核操作。 您可以向資料庫審核規範添加審核操作組或審核事件。“審核事件”是可以由 SQL Server 引擎審核的原子操作。 “審核操作組”是預定義的操作組。 它們都位於 SQL Server 資料庫範圍。 這些操作將發送到審核,審核將它們記錄到目標中。請勿在使用者資料庫審核規範中包括伺服器範圍的對象(如系統檢視表)。
USE master ;GO-- Create the server audit.CREATE SERVER AUDIT Payrole_Security_AuditTO FILE ( FILEPATH =‘C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA‘ ) ;GO-- Enable the server audit.ALTER SERVER AUDIT Payrole_Security_AuditWITH (STATE = ON) ;USE AdventureWorks2012 ;GO-- Create the database audit specification.CREATE DATABASE AUDIT SPECIFICATION Audit_Pay_TablesFOR SERVER AUDIT Payrole_Security_AuditADD (SELECT , INSERTON HumanResources.EmployeePayHistory BY dbo )WITH (STATE = ON) ;GO
目標
審核結果將發送到目標,目標可以是檔案、Windows 安全事件記錄或 Windows 應用程式事件記錄檔。 必須定期查看和歸檔這些日誌,以確保目標具有足夠的空間來寫入更多記錄。
從安全形度來看,任何經過身分識別驗證的使用者可以讀取和寫入到 Windows 應用程式事件記錄檔。 應用程式事件記錄檔要求的許可權比 Windows 安全事件記錄低,安全性低於 Windows 安全事件記錄。
必須將 SQL Server 服務帳戶應添加到產生安全性稽核策略中才能寫入 Windows 安全日誌。 預設情況下,本地系統、本地服務和網路服務是此策略的一部分。此設定可通過使用安全性原則嵌入式管理單元 (secpol.msc) 來進行配置。 此外,對於“成功”和“失敗”均必須啟用“審核對象訪問”安全性原則。 此設定可通過使用安全性原則嵌入式管理單元 (secpol.msc) 配置。 在Windows Server 2008 中,可通過使用稽核原則程式 (AuditPol.exe) 從命令列設定更詳細的“應用程式產生的”策略。 Windows 事件記錄對於 Windows 作業系統具有全域性。如果您需要關於審核的更精準許可權,請使用二進位檔案目標。
操作組和操作
使用 SQL Server Audit 功能,您可以對伺服器層級和資料庫層級事件組以及單個事件進行審核。
SQL Server 審核包括零個或多個審核操作項目。 這些審核操作項目可以是一組操作,例如 Server_Object_Change_Group,也可以是單個操作,例如對錶的 SELECT 操作。
審核可以有以下類別的操作:
l 伺服器層級。 這些操作包括伺服器操作,例如管理更改以及登入和登出操作。
l 資料庫層級。 這些操作包括資料操作語言 (DML) 和資料定義語言 (Data Definition Language) (DDL) 操作。
l 審核層級。 這些操作包括審核過程中的操作。
本文出自 “SQL Server Deep Dives” 部落格,請務必保留此出處http://ultrasql.blog.51cto.com/9591438/1595726
SQL Server 審核(Audit)-- 審核組件