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

 
   | |

导读:本文主要介绍创建服务器审计规范、创建数据库审计规范、激活SQL Server审计以及查看审计数据这些步骤。

关键词:SQL Server SQL Server 2008 安全审计 SQL Server安装

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

【TechTarget中国原创】2、创建服务器审计规范

  你创建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子句。跟上次一样,你可以在操作完之后就激活审计规范或者过一段时间之后再进行激活。

  3、激活SQL Server审计

  和我们刚刚回顾的审计规范一样,CREATE SERVER AUDIT 语句中的WITH子句并不支持STATE参数。也就是说你必须在单独的一步中激活审计,如下面的语句中所示:


USE master 
GO
ALTER SERVER AUDIT SrvAudit
WITH (STATE=ON)

  你可以看到,我使用的是ALTER SERVER AUDIT 语句更改我之前创建的SQL Server审计(SrvAudit)。ALTER SERVER AUDIT语句中的WITH子句支持被我设置成ON的STATE参数,SQL Server会审计这些具体事件。

  4、查看审计数据

  你可以在 SQL Server Management Studio中用Log File Viewer查看审计数据。另外如果你创建SQL Server审计将事件保存到Application日志或者Security日志,这样你就可以用Event Viewer查看这些数据。我认为回顾事件信息最简单的方法就是将审计数据保存到一个二进制文件中,然后用Log File Viewer回顾这些数据。

  要访问Log File Viewer,就要打开SQL Server Management Studio,扩展Security节点。接下来选择你要复习的审计,然后点击View Audit Log发送Log File Viewer。图1表示以上的例题中SQL Server Audit (SrvAudit)事件实例。

  在Log File Viewer中查看审计数据

  图1:在Log File Viewer中查看审计数据

  以上就是安装审计以及回顾审计数据的步骤。SQL Server 2008让这些步骤比以前版本执行更加简单。你只需要简单创建SQL Server审计,并附上一到两个审计规范,然后激活。其余的工作都由SQL Server完成。要了解更多有关审计方面的信息,请查看微软SQL Server联机丛书。

 
查看全文
 
 
 
 
 

SQL Server安全

 
微软免费的SQL Server MP可以监控SQL Server基础架构以及数据库。解决方案提供商应该充分利用它的优势,进行查找、发现、监控以及报警。
 
在你认为已经很好地控制了SQL Server安全性时,往往问题正在悄悄出现。有人会在网络中的某个区域悄然进入你已经遗忘或根本不知道的SQL Server系统。
 
采用透明数据加密,整个数据库(MDFs,tempdb,等等)对磁盘的读取和写入都作了解密/加密的处理,而不需要重写应用程序或生成自定义的加密和解密的代码。
 
现在的SQL Server Express版本已经非常便于自动打补丁了。你可以使用Windows Server Update Services或者更新你的Windows操作系统就可以完成补丁安装。
 
SQL Server Express最早是SQL Server 7.0的缩水版本,微软SQL Server桌面引擎(MSDE)就是它的前身。
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录