网络编程
位置:首页>> 网络编程>> 数据库>> 在SQL Server 2008中安装安全审计(2)

在SQL Server 2008中安装安全审计(2)

作者:佚名 来源:IT专家网 发布时间:2009-02-24 17:22:00 

标签:SQL,Server,2008,安装,安全审计

创建服务器审计规范

你创建SQL Server审计之后,必须创建一个服务器审计规范或者是一个数据库审计规范或者是其中的每个。一个服务器审计规范就是和具体的SQL Server审计相关的一个或多个服务审计。活动组就数据库引擎暴露出来的一组相关的事件,例如,我们在进行安全审计操作时,SERVER_OPERATION_GROUP行动组就出现了,如当用户在改变服务器设置时。你可以在每个审计上只创建一个服务器审计。但是,你可以对审计规范增加多个活动组。创建一个服务器审计规范,你需要在主数据库上运行CREATE SERVER AUDIT SPECIFICATION,如下所示:

USE master  GO CREATE SERVER AUDIT SPECIFICATION SrvAuditSpec FOR SERVER AUDIT SrvAudit ADD (SUCCESSFUL_LOGIN_GROUP), ADD (FAILED_LOGIN_GROUP) WITH (STATE=ON)

第一行CREATE SERVER AUDIT SPECIFICATION语句规定了审计规范名(SrvAuditSpec)。第二行FOR SERVER AUDIT子句指定了与审计规范相关的审计名(SrvAudit)。第三行和第四行为 增加了规范活动组的ADD 子句。在这种情况下,我增加了SUCCESSFUL_LOGIN_GROUP和FAILED_LOGIN_GROUP活动组,跟踪试图登录到SQL Server实例的安全主管。

最后一行 CREATE SERVER AUDIT SPECIFICATION语句为WITH 子句。WITH 子句包括激活规范的在STATE参数。默认值不能激活审计规范(STATE=OFF)。如果你在创建时不能激活审计规范,你就必须过段时间再激活,在你能够审计活动组之前进行激活。

创建数据库审计规范

和服务器的审计规范不一样,数据库审计规范是具体针对数据库的。但是它和服务器审计规范相同的是,你可以增加审计活动组,但是它们仅仅针对数据库。此外,你可以给规范增加单独的审计活动。审计活动就是数据库具体的活动,如删除数据或运行存储程序。

创建数据库审计规范,在目标数据库中运行CREATE DATABASE AUDIT SPECIFICATION语句,例如:

USE AdventureWorks2008  GO CREATE DATABASE AUDIT SPECIFICATION DbAuditSpec FOR SERVER AUDIT SrvAudit ADD (DATABASE_OBJECT_CHANGE_GROUP), ADD (SELECT, INSERT, UPDATE, DELETE ON Schema::HumanResources BY dbo) WITH (STATE=ON)

第一行CREATE DATABASE AUDIT SPECIFICATION语句指定了规范(DbAuditSpec),第二行为FOR SERVER AUDIT 子句,用它可以判断和规范相关的审计。接下来,我增加了一个审计活动组,在这里就是 DATABASE_OBJECT_CHANGE_GROUP。在对AdventureWorks2008 数据库执行CREATE、ALTER 或DROP语句时就会出现这个活动组。

第二个ADD 子句制定了单独审计活动,而不是一个活动组。这样,审计活动就是SELECT、INSERT、UPDATE和 DELETE。但是你要注意,下面一行包含一个ON子句指定的HumanResources schema和dbo安全主管。结果,只要dbo在HumanResources schema中查询一个对象或在 AdventureWorks2008数据库中插入、更新或删除,SQL Server就会将事件记入日志。

最后,CREATE DATABASE AUDIT SPECIFICATION语句中的最后一个子句就是WITH子句。跟上次一样,你可以在操作完之后就激活审计规范或者过一段时间之后再进行激活。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com