將 SQL Server Audit 事件寫入安全性記錄檔
只適用於 SQL Server - 僅限 Windows。
在高度安全性的環境中,Windows 安全性記錄檔是寫入記錄物件存取之事件的適當位置。 雖然支援其他稽核位置,但是這些位置容易遭算改。
將 SQL Server 伺服器稽核寫入 Windows 安全性記錄檔有三個重要需求:
稽核物件存取設定必須設定為可擷取事件。 稽核原則工具 (
auditpol.exe
) 會在稽核物件存取權類別中公開各種子原則設定。 若要允許 SQL Server 稽核物件存取權,請完成 [產生的應用程式] 設定。執行 SQL Server 服務的帳戶必須擁有產生安全性稽核權限,才能寫入 Windows 安全性記錄檔。 根據預設,LOCAL SERVICE 和 NETWORK SERVICE 帳戶都擁有這個權限。 如果 SQL Server 是在其中一個帳戶底下執行,就不需要進行這個步驟。
為 SQL Server 服務帳戶提供登錄區
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security
的完整權限。重要
不當編輯登錄可能會造成系統嚴重受損。 在變更登錄之前,我們建議您備份電腦上的所有重要資料。
限制事項
網域原則可覆寫安全性記錄檔的本地設定。 在此情況下,網域原則可能會覆寫子類別設定 (
auditpol /get /subcategory:"application generated"
)。 SQL Server 沒有任何方法可以偵測其嘗試稽核的事件不會進行記錄。如果稽核策略設定不正確,事件可能會遺失。 如果 Windows 稽核原則設定為寫入 Windows 安全性記錄檔,則該原則可能會影響 SQL Server 稽核程序。 一般而言,Windows 安全性記錄檔會設定為覆寫較舊的事件。 這樣做會保留最近的事件。 不過,如果 Windows 安全性記錄檔並非設定為覆寫較舊的事件,則當安全性記錄檔已滿,系統就會發出 Windows 事件 1104 (記錄檔已滿)。 此時:
系統不會記錄其他安全性事件
SQL Server 無法偵測出系統無法在安全性記錄檔中記錄事件,進而導致可能遺失稽核事件
在方塊管理員修正安全性記錄檔之後,記錄行為才會返回正常狀態。
SQL Server 稽核記錄比一般 Windows 事件記錄檔項目包含更多資料。 此外,視稽核規格的設定而定,SQL Server 可能會在短時間內產生數千筆稽核記錄 (每秒數千筆)。 在高負載期間下,如果稽核記錄寫入應用程式記錄檔或安全性記錄檔,這可能會導致不良狀況。
這些不良狀況可能包括:
事件記錄檔快速循環 (事件會遭到迅速覆寫,因為記錄檔達到其大小限制)
從 Windows 事件記錄檔讀取的其他應用程式或服務可能會受到負面影響
由於事件遭到迅速覆寫,因此系統管理員可能無法使用目標事件記錄檔
系統管理員可能需要採取以下步驟來減輕這些不良狀況:
增加目標記錄檔的大小 (如果稽核規格十分詳盡,4 GB 的大小並不適用)。
減少正在稽核的事件數目。
將稽核記錄輸出至檔案,而不是事件記錄檔。
權限
您必須是 Windows 管理員才能設定這些設定。
使用 auditpol
來設定 Windows 的稽核物件存取權設定
以系統管理權限開啟命令提示字元。
從 [開始] 功能表中,瀏覽至 [命令提示字元],接著選取 [以系統管理員身分執行]。
如果開啟 [使用者帳戶控制] 對話方塊,請選取 [繼續]。
執行下列陳述式,以便啟用 SQL Server 的稽核程序。
auditpol /set /subcategory:"application generated" /success:enable /failure:enable
關閉 [命令提示字元] 視窗。
使用 secpol
將「產生安全性稽核」權限授與給帳戶
在任何 Windows 作業系統的 [開始] 功能表上選取 [執行]。
輸入
secpol.msc
,接著選取 [確定]。 如果出現 [使用者存取控制] 對話方塊,請選取 [繼續]。在本機安全性原則工具中,依序瀏覽 [安全性設定] > [本地原則] > [使用者權限指派]。
在結果窗格中開啟 [產生安全性稽核]。
在 [本機安全性設定] 索引標籤上,選取 [新增使用者或群組]。
在 [選取使用者、電腦或群組] 對話方塊中,輸入使用者帳戶的名稱 (例如 domain1\user1) 並選取 [確定],或選取 [進階] 並搜尋帳戶。
選取 [確定]。
關閉安全性原則工具。
重新啟動 SQL Server 以啟用此設定。
使用 secpol
來設定 Windows 的稽核物件存取權設定
如果作業系統是 Windows Vista 或 Windows Server 2008 之前的版本,則請在 [開啟] 功能表上選取 [執行]。
輸入
secpol.msc
,接著選取 [確定]。 如果出現 [使用者存取控制] 對話方塊,請選取 [繼續]。在本機安全性原則工具中,依序瀏覽 [安全性設定] > [本地原則] > [稽核原則]。
在結果窗格中開啟 [稽核物件存取權]。
在 [本機安全性設定] 索引標籤的 [稽核這些嘗試] 區域中,同時選取 [成功] 和 [失敗] 。
選取 [確定]。
關閉安全性原則工具。