在高安全环境中,Windows 安全日志是写入记录对象访问的事件的适当位置。 支持其他审核地点,但更容易被篡改。
将 SQL Server 服务器审核写入 Windows 安全日志有两个关键要求:
必须将审核对象访问设置配置为捕获事件。 审核策略工具 (
auditpol.exe) 在 审核对象访问 类别中公开各种子策略设置。 若要允许 SQL Server 审核对象访问,请配置 应用程序生成的 设置。运行 SQL Server 服务的帐户必须具有生成安全审核权限,才能写入 Windows 安全日志。 默认情况下,LOCAL SERVICE 和 NETWORK SERVICE 帐户具有此权限。 如果 SQL Server 在其中一个帐户下运行,则不需要此步骤。
如果 Windows 审核策略配置为写入 Windows 安全日志,则 Windows 审核策略可能会影响 SQL Server 审核,如果审核策略配置不正确,可能会丢失事件。 通常,Windows 安全日志设置为覆盖旧事件。 这会保留最新的事件。 但是,如果未将 Windows 安全日志设置为覆盖旧事件,则如果安全日志已满,系统将发出 Windows 事件 1104(日志已满)。 此时:
不会记录进一步的安全事件
SQL Server 将无法检测到系统无法记录安全日志中的事件,从而导致可能丢失审核事件
框管理员修复安全日志后,日志记录行为将恢复正常。
本主题内容
准备工作:
若要将 SQL Server 审核事件写入安全日志,请执行以下作:
使用 auditpol 在 Windows 中配置审核对象访问设置
在您开始之前
局限性与限制
SQL Server 计算机的管理员应了解安全日志的本地设置可由域策略覆盖。 在这种情况下,域策略可能会覆盖子类别设置(auditpol /get /subcategory:“application generated”)。 这可能会影响 SQL Server 记录事件的能力,而无需任何方法来检测 SQL Server 尝试审核的事件不会被记录。
安全
权限
你必须是 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 ,然后单击“ 确定”。 如果出现 “用户访问控制 ”对话框,请单击“ 继续”。
在“本地安全策略”工具中,展开 “安全设置”,展开 “本地策略”,然后单击“ 审核策略”。
在结果窗格中,双击“ 审核对象访问”。
在 “本地安全设置” 选项卡的 “审核这些尝试” 区域中,选择 “成功” 和 “失败”。
单击 “确定” 。
关闭安全策略工具。