SQLserver审核审计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SQLserver审核审计
⼀、总结
1、SQLServer2008开始⽀持审计功能,审计规范分为服务器级别和数据库级别两种;
2、⽆论是服务器级别的审计还是数据库级别的审计,第⼀步创建审计对象的⽅式⼀样,最后创建完都是在实例下的安全性查看;
3、创建审计对象的时候,不能在创建脚本⾥直接启⽤审计(也就是添加state=on),在创建审计规范对象的时候的可以直接在创建脚本⾥直接添加state=on,直接启⽤审计规范;
4、SQLServer审核功能相对⽽⾔性能影响较⼩,审核粒度也⾮常灵活;
5、审核的⽇志⽂件是⼆进制的,不能使⽤⽂本编辑器直接打开;
6、在SQLServer中,⼀个审计对象只能绑定⼀个审核规范,⽽⼀个审核规范可以被多个审计对象使⽤;
7、不管是修改审计还是审计规范都得先禁⽤,再修改,再启⽤;
8、不能审核tempdb中的数据库操作;
⼆、创建审计对象
1、创建审计对象
create server audit MyFileAudit to file(
filepath='D:\sqlaudits',
maxsize=4gb,
max_rollover_files=6)
with(
on_failure=continue,
queue_delay=1000
);
参数详解:
maxsize:定义每个审核⽇志的最⼤⼤⼩是4GB;
max_rollover_files:定义滚动⽂件的数⽬,达到6个⽂件的时候,开始删除前⾯的历史记
录,复⽤⽂件空间;
on_failure:指明当审核发⽣错误的时候,是否继续审计,如果指明shutdown,那么将会shutdown整改实例;
query_delay:指定审核数据写⼊的延迟时间,1000表⽰1秒,如果指定0表⽰实时写⼊,当然性能也有些影响;
2、开启审计
命令:alter server audit MyAudit with(state=on)
3、禁⽤审计
命令:alter server audit MyFileAudit with(state=off)
4、修改审计选项(修改之前要先禁⽤审计,修改完之后再启⽤审计)
命令:alter server audit MyAudit with(state=off)
alter server audit MyAudit with (queue_delay=1000)
alter server audit MyAudit with(state=on)
5、查看审计的状态(1表⽰启⽤,0表⽰禁⽤)
命令:select name,is_state_enabled from sys.server_file_audits
6、删除审计
命令:drop server audit MyFileAudit
三、创建服务器级别的审核规范
1、创建服务器级别的审核规范
create server audit specification CaptureLoginsToFile
for server audit MyAudit
add (failed_login_group),
add (successful_login_group)
with(state=on)
go
2、修改审核规范
--(1)禁⽤审核规范
alter server audit specification CaptureLoginsToFile with (state=off)
--(2)修改审核规范
alter server audit specification CaptureLoginsToFile
add (login_change_password_group), --改变登录名的密码后,写⼊审计⽇志drop (successful_login_group) --删除登录成功信息的审计
--(3)启⽤审核规范
alter server audit specification CaptureLoginsToFile with (state=on
3、查看审核规范状态
命令:select name,is_state_enabled from sys.server_audit_specifications
4、查看审核规范的详细信息
命令:select * from sys.server_audit_specification_details
5、删除审计规范
命令:drop server audit specification CaptureLoginsToFile
6、使⽤sys.[fn_get_audit_file]()函数查看审核⽇志
命令:select * from sys.[fn_get_audit_file]('D:\sqlaudits\MyAudit_C3C37587-2CFA-41C2-90B0-3F87F16135EA_0_132400485274590000.sqlaudit',default,default)
7、在SSMS⾥查看审核⽇志
四、创建数据库级别的审核规范
1、创建审计对象(服务器级别和数据库级别创建⽅式⼀致)create server audit MyDBAudit to file(
filepath='D:\sqlaudits\dbaudits',
maxsize=4gb,
max_rollover_files=6)
with(
on_failure=continue,
queue_delay=1000
);
2、创建数据库级别的审核规范
use [test]
go
create database audit specification CaptureDBToFile
for server audit MyDBAudit
add (database_object_change_group),
add (select,insert,update,delete on schema::dbo by public)
with(state=on)
go
3、修改数据库级别的审计规范
--(1)禁⽤审核规范
alter database audit specification CaptureDBToFile with (state=off)
--(2)修改审核规范
alter database audit specification CaptureDBToFile
drop (select on schema::dbo by public) --删除select的审计
--(3)启⽤审核规范
alter database audit specification CaptureDBToFile with (state=on)
4、查看审核规范状态
命令:select name,is_state_enabled from test.sys.database_audit_specifications
5、查看审计规范的详细信息
命令:select * from test.sys.database_audit_specification_details
6、删除审计规范
命令:drop database audit specification CaptureDBToFile
7、使⽤sys.[fn_get_audit_file]()函数查看审计结果
select * from sys.[fn_get_audit_file]('D:\sqlaudits\dbaudits\MyDBAudit_A5675035-43BB-4A19-B647-D6792E0120F9_0_132400509506420000.sqlaudit',default,default)
五、审核功能相关视图
1、查看审核对象信息
select * from sys.server_file_audits
2、查看服务器级别审核规范
select * from sys.server_audit_specifications
select * from sys.server_audit_specification_details
3、查看数据库级别的审核规范
select * from sys.database_audit_specifications
select * from sys.database_audit_specification_details 4、查看审核对象的状态
select * from sys.dm_server_audit_status
5、查看有所有的操作组
select * from sys.dm_audit_actions
select * from sys.dm_audit_class_type_map。

相关文档
最新文档