標籤:audit 審核 sql server
SQL Server 審核(Audit)-- 使用審核的注意事項
移動已建立審核規範的資料庫
如果將已建立“審核規範”的資料庫,利用“附加”或“還原”的方式移動到新的伺服器時,會因為在執行個體上沒有建立對應的“審核”對象,而產生所謂“遺棄的(Orphaned)”審核規範的問題,這將無法記錄任何的審核事件。
若要修正此問題,必須Crowdsourced Security Testing道在“審核”與“審核規範”對象上,內部是利用GUID編號進行對應。如果附加的資料庫具有審核規範並且指定的 GUID 在伺服器上不存在,則將導致“孤立”審核規範。 因為伺服器執行個體上不存在具有匹配 GUID 的審核,所以將不記錄審核事件。可以用以下方式來修正:
l 使用 ALTER DATABASE AUDIT SPECIFICATION 命令將孤立審核規範串連到現有伺服器審核。 或者,使用 CREATE SERVER AUDIT 命令建立一個具有指定 GUID 的新伺服器審核。
l 使用SSMS,先停用此資料庫的審核規範,設定要串連到既有或新建立的執行個體審核後,再啟用此資料庫的審核規範。
資料庫鏡像和SQL Server審核
已定義了資料庫審核規範並使用資料庫鏡像的資料庫將包括此資料庫審核規範。 若要對已鏡像的 SQL 執行個體進行正確的處理,必須配置下列項:
l 鏡像伺服器必須擁有具有相同 GUID 的審核才能使資料庫審核規範能夠寫入審核記錄。 這可以通過使用命令 CREATE AUDIT WITH GUID=<GUID from source Server Audit> 進行配置。
l 對於二進位檔案目標,鏡像伺服器服務帳戶對要寫入審核記錄的位置必須具有相應的許可權。
l 對於 Windows 事件記錄目標,鏡像伺服器所在電腦上的安全性原則必須允許服務帳戶訪問安全事件記錄或應用程式事件記錄檔。
審核造成伺服器關閉
若因為審核失敗,造成伺服器關閉,或是在審核上設定“在稽核線索故障時關閉伺服器(Shutdown server on audit failure)”選項時,將導致伺服器因故關閉。若要重新啟動伺服器,請先利用“-m”參數在“單一使用者模式”下啟動SQL Server,以略過審核所導致的伺服器關閉,再利用以下的方法來處理。
l 利用ALTER SERVER AUDIT語句,設定ON_FAILURE自變數值為CONTINUE。
l 取消勾選“在稽核線索故障時關閉伺服器(Shutdown server on audit failure)”選項。
但若是在審核初始化時發生失敗,伺服器將被關閉,請在命令提示視窗內,使用“-f”選項(以最小配置方式)來啟動伺服器。
使用審核的考慮
在使用審核對象時,請留意以下重點。
l 審核對象是使用高效能的“擴充事件(Extended Events)”來產生審核。DBA也可以自行設計擴充事件,來處理所需的資訊。
l 審核對象是與資料庫引擎直接協同工作,而非單獨、外掛的應用程式。
l 審核對象包含SQL Trace內的Security Audit事件類別目錄。
l 當建立或是更改審核對象,也可以受到審核。
l 比SQL Trace更有效率。
l 輕鬆管理與部署,可以SSMS工具管理,並使用T-SQL執行部署。
本文出自 “SQL Server Deep Dives” 部落格,請務必保留此出處http://ultrasql.blog.51cto.com/9591438/1595732
SQL Server 審核(Audit)-- 使用審核的注意事項