将 SQL Server 审核事件写入安全日志
适用于 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 无法检测系统是否能够在安全日志中记录事件,从而导致可能丢失审核事件
Box 管理员修复安全日志后,日志记录行为将恢复正常。
SQL Server 审核记录包含的数据比常规 Windows 事件日志项目多得多。 此外,根据审核规范的配置,SQL Server 可能在短时间内生成数千条审核记录(每秒数千条)。 在高负载期间,如果将审核记录写入应用程序日志或安全日志,则可能导致不利条件。
这些不利条件可能包括:
事件日志快速循环(当日志文件达到其大小限制时,事件会很快被覆盖)
从 Windows 事件日志读取的其他应用程序或服务可能受到负面影响
由于事件很快被覆盖,管理员可能无法使用目标事件日志
管理员为缓解这些不利条件可能需要采取的步骤:
增加目标日志的大小(若审核规范非常详细,4 GB 不合理)。
减少审核的事件数。
将审核记录输出到文件而非事件日志中。
权限
您必须是 Windows 管理员,才能配置这些设置。
在 Windows 中使用 auditpol
配置审核对象访问设置
使用管理权限打开命令提示符。
在“开始”菜单中,导航到“命令提示符”,然后选择“以管理员身份运行”。
在“用户帐户控制”对话框打开时,选择“继续”。
执行以下语句以从 SQL Server 启用审核。
auditpol /set /subcategory:"application generated" /success:enable /failure:enable
关闭命令提示符窗口。
使用 secpol
将生成安全审核权限授予帐户
对于任何 Windows 操作系统,在“开始”菜单上选择“运行”。
键入
secpol.msc
,然后选择“确定”。 在显示“用户访问控制”对话框时,选择“继续”。在“本地安全策略”工具中,导航到“安全设置”>“本地策略”>“用户权限分配”。
在结果窗格中,打开“生成安全审核”。
在“本地安全设置”选项卡上,选择“添加用户或组”。
在“选择用户、计算机或组”对话框中,键入用户帐户名,例如 domain1\user1,然后选择“确定”,或选择“高级”并搜索帐户。
选择“确定”。
关闭安全策略工具。
重新启动 SQL Server 以便启用此设置。
在 Windows 中使用 secpol
配置审核对象访问设置
如果操作系统的版本早于 Windows Vista 或 Windows Server 2008,则在“开始”菜单上单击“运行”。
键入
secpol.msc
,然后选择“确定”。 在显示“用户访问控制”对话框时,选择“继续”。在“本地安全策略”工具中,导航到“安全设置”>“本地策略”>“审核策略”。
在结果窗格中,打开“审核对象访问”。
在 “本地安全设置” 选项卡上的 “审核这些操作” 区域中,选择 “成功” 和 “失败”。
选择“确定”。
关闭安全策略工具。