SQL Server 資料庫稽核設定 (SQL Server Audit Setup)
2021-06-25
筆記如何啟用 SQL Server 的資料庫稽核功能,發現異常行為的方式。
說明
新增稽核
首先要由整個伺服器層級的地方新增一個「稽核」,這個稽核是用於定義蒐集到的稽核紀錄如何儲存,選項包含檔案、Windows Security Event / Windows Application Event。
完成稽核的建立後,必須要啟用才可以紀錄才能夠被保存。
伺服器層級的稽核設定
實際要稽核的內容分為伺服器層級與資料庫層級,伺服器層級包含資料備份、登入登出等行為,由「安全性」選擇「伺服器稽核規格」進行設定。較需要費神理解的是想要稽核的動作是屬於那一個動作類型。
完成「伺服器稽核規格」設定後,一樣需要啟動才會開始進行稽核。需要注意的是「伺服器稽核規格」與「稽核」都必須要同時啟動,才能夠正確紀錄。
資料庫層級的稽核設定
另外再資料庫層級也有特定的動作類型,差別在於資料庫層級的設定必須明確指明要稽核的物件類別、結構描述及名稱,同時必須明確指定要稽核的主體名稱(Login Name)。而在大量設定的時候 GUI 不太方便,例如要針對所有的 Table 對於 Login1 進行稽核。這個時候可以利用指令碼編輯的方式來完成。過程中可能會搭配 sys.table 來產生指令碼。
完成「資料庫稽核規格」設定後,一樣需要啟動才會開始進行稽核。需要注意的是「資料庫稽核規格」與「稽核」都必須要同時啟動,才能夠正確紀錄。
檢視稽核紀錄
範例說明
規劃示範說明如何稽核特定主體(Login)在特定資料庫中,所有對資料表的 SELECT 以及 UPDATE 行為。
規劃示範說明如何稽核所有主體,對於特定資料庫進行 DELETE 行為。