SQL Server 审核(Audit)-- 创建服务器级别的审核
任务1:创建审核
步骤1:打开SSMS,登录到指定的实例,展开“Security”,“Audits”节点。
步骤2:在“Audits”节点上,右键选择“New Audit…”选项。
步骤3:在“Create Audit”窗口,输入以下的参数。
l 在“Audit name”输入Audit-Login-Create/Alter/Drop。
l 在“Audit destination”选择“File”
l 在“File path”输入D:\MSSQL\DATA\Audit_logs。
步骤4:单击“OK”完成设置。
步骤5:右键点击刚刚创建的审核“Audit-Login-Create/Alter/Drop”,选择“Enable Audit”选项。
注意:新创建完成的“Audits”、“Server Audit Specifications”等对象,默认是禁用的,所以不会消耗系统资源。需要启用后,才能让它们发挥功能。
任务2:创建服务器级别的审核规范 – 监控账户的创建、修改与删除。
步骤1:在“Object Explorer”窗口,展开“Security”,“Server Audit Specifications”节点。
步骤2:右键点击“Server Audit Specifications”,选择“Create Server Audit Specification”选项。
步骤3:在“Create Server Audit Specification”窗口,输入以下的参数。
l 在“Name”输入ServerAuditSpecification-Login-Create/Alter/Drop。
l 在“Audit”选择先前创建的审核对象“Audit-Login-Create/Alter/Drop”。
l 在“Actions”区域,在“Audit Action Type”下的第一行,选择“SERVER_PRINCIPAL_CHANGE_GROUP”。
“SERVER_PRINCIPAL_CHANGE_GROUP”是属于服务器级别的审核操作组,当创建、改变或是删除服务器主体时,就会引发这个事件。例如,执行以下的存储过程或是语句,就会引发此事件,包括sp_defaultdb、sp_defaultlanguage、sp_addlogin、sp_droplogin、sp_grantlogin、sp_revokelogin、sp_denylogin等存储过程,或是ALTER LOGIN语句。
步骤4:单击“OK”,完成设置。
步骤5:右键点击刚才创建的服务器级审核规范“ServerAuditSpecification-Login-Create/Alter/Drop”,选择“Enable Server Audit Specification”。
任务3:测试审核功能 – 创建、修改、删除登录账户。
步骤1:打开SSMS,展开“Security”,“Logins”节点,创建登录账户,例如:UltraSQL。
步骤2:更改此登录账户的“Default database”为AdventureWorks2012。
步骤3:再将此登录账户删除。
任务4:查看审核日志。
步骤1:展开“Security”,“Audits”节点。
步骤2:在刚才创建的“Audit-Login-Create/Alter/Drop”对象上,右键选择“View Audit Logs”。
步骤3:在“Log File Viewer”窗口左上角的“Select logs”区域中,确认有勾选“Audit Collection”,“Audit-Login-Create/Alter/Drop”。
步骤4:在右边窗格“Log file summary”区域内的“Action ID”框下,选择“CREATE”。
步骤5:在下方窗格“Statement”区域,可以看到创建账户的程序代码,密码特别以“*****”保护。
在“Action ID”列下,可以看到所记录的每个事件的类型,例如CREATE、CHANGE、DROP等,可逐笔查看这些审核信息。