如何:將伺服器稽核事件寫入安全性記錄檔
在高度安全性的環境中,Windows 安全性記錄檔是寫入記錄物件存取之事件的適當位置。雖然支援其他稽核位置,但是這些位置容易遭算改。
將 SQL Server 伺服器稽核寫入 Windows 安全性記錄檔有兩個重要需求:
稽核物件存取設定必須設定為可擷取事件。進行這項作業的最佳方式會因作業系統而不同。
在 Windows Vista 和 Windows Server 2008 中,請使用稽核原則工具 (auditpol.exe)。此稽核原則程式會在 audit object access 類別目錄中公開各種子原則設定。若要允許 SQL Server 稽核物件存取,請設定 application generated 設定。
在舊版 Windows 中,無法使用此稽核原則工具。請改用安全性原則嵌入式管理單元 (secpol.msc)。如果有的話,建議使用稽核原則,因為您可以設定更細微的設定。
執行 SQL Server 服務所使用的帳戶必須擁有 generate security audits 權限,才能寫入 Windows 安全性記錄檔。根據預設,LOCAL SERVICE 和 NETWORK SERVICE 帳戶都擁有這個權限。如果 SQL Server 是在其中一個帳戶底下執行,就不需要進行這個步驟。
如果 Windows 稽核原則設定為寫入 Windows 安全性記錄檔,它就可能會影響 SQL Server 稽核,而且如果稽核原則的設定不正確,甚至可能會遺失事件。一般而言,Windows 安全性記錄檔會設定為覆寫較舊的事件。這樣做會保留最近的事件。不過,如果 Windows 安全性記錄檔並非設定為覆寫較舊的事件,只要安全性記錄檔已滿,系統就會發出 Windows 事件 1104 (記錄檔已滿)。此時:
系統將不會記錄其他安全性事件。
SQL Server 將無法偵測出系統無法在安全性記錄檔中記錄事件,進而導致可能遺失稽核事件。
在方塊管理員修正安全性記錄檔之後,記錄行為才會返回正常狀態。
SQL Server 電腦的管理員應該了解安全性記錄檔的本機設定可以由網域原則覆寫。在此情況下,網域原則可能會覆寫子類別目錄設定 (auditpol /get /subcategory:"application generated")。這可能會影響 SQL Server 記錄事件的功能,讓它無法偵測出系統無法繼續記錄 SQL Server 正嘗試稽核的事件。
您必須是 Windows 管理員才能設定這些設定。
使用 auditpol 在 Windows 中設定稽核物件存取設定
如果作業系統是 Windows Vista 或 Windows Server 2008,請使用管理權限來開啟命令提示字元。
在 [開始] 功能表上,依序指向 [所有程式] 和 [附屬應用程式]、以滑鼠右鍵按一下 [命令提示字元],然後按一下 [以系統管理員身分執行]。
如果開啟 [使用者帳戶控制] 對話方塊,請按一下 [繼續]。
執行下列陳述式,以便啟用 SQL Server 的稽核。
auditpol /set /subcategory:"application generated" /success:enable /failure:enable
關閉 [命令提示字元] 視窗。
這項設定會立即生效。
使用 secpol 在 Windows 中設定稽核物件存取設定
如果作業系統是 Windows Vista 或 Windows Server 2008 之前的版本,請在 [開始] 功能表上,按一下 [執行]。
輸入 secpol.msc,然後按一下 [確定]。如果出現 [使用者存取控制] 對話方塊,請按一下 [繼續]。
在本機安全性原則工具中,依序展開 [安全性設定] 和 [本機原則],然後按一下 [稽核原則]。
在結果窗格中,按兩下 [稽核物件存取]。
在 [本機安全性設定] 索引標籤的 [稽核這些嘗試] 區域中,同時選取 [成功] 和 [失敗]。
按一下 [確定]。
關閉安全性原則工具。
這項設定會立即生效。
使用 secpol 將 generate security audits 權限授與帳戶
在任何 Windows 作業系統的 [開始] 功能表上,按一下 [執行]。
輸入 secpol.msc,然後按一下 [確定]。如果出現 [使用者存取控制] 對話方塊,請按一下 [繼續]。
在本機安全性原則工具中,依序展開 [安全性設定] 和 [本機原則],然後按一下 [使用者權限指派]。
在結果窗格中,按兩下 [產生安全性稽核]。
在 [本機安全性設定] 索引標籤上,按一下 [新增使用者或群組]。
在 [選取使用者、電腦或群組] 對話方塊中,輸入使用者帳戶的名稱 (例如 domain1\user1) 並按一下 [確定],或按一下 [進階] 並搜尋帳戶。
按一下 [確定]。
關閉安全性原則工具。
這項設定會在 SQL Server 重新啟動時生效。