2、创建服务器审计规范 你创建SQL Server审计之后,必须创建一个服务器审计规范或者是一个数据库审计规范或者是其中的每个。一个服务器审计规范就是和具体的SQL Server审计相关的一个或多个服务审计。活动组就数据库引擎暴露出来的一组相关的事件,例如,我们在进行安全审计操作时,SERVER_OPERATION_GROUP行动组就出现了,如当用户在改变服务器设置时。你可以在每个审计上只创建一个服务器审计。
但是,你可以对审计规范增加多个活动组。创建一个服务器审计规范,你需要在主数据库上运行CREATE SERVER AUDIT SPECIFICATION,如下所示: USE m……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
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)事件实例。
图1:在Log File Viewer中查看审计数据
以上就是安装审计以及回顾审计数据的步骤。SQL Server 2008让这些步骤比以前版本执行更加简单。你只需要简单创建SQL Server审计,并附上一到两个审计规范,然后激活。其余的工作都由SQL Server完成。要了解更多有关审计方面的信息,请查看微软SQL Server联机丛书。
翻译
相关推荐
-
云端SQL Server高可用性最佳做法
与内部部署相比,在云端运行SQL Server可为数据库软件用户提供更多的灵活性和可扩展性,也可能更省钱。但云 […]
-
绘制数据关系图的利器:SQL Server 图像数据库工具
SQL Server 2017新增了图形数据库功能,你可以使用图结构来表示不同数据元素之间的关系。
-
如何在Azure部署时选择合适的SQL Server?
想要在Azure上运行SQL Server,企业一般会面临两种选择:在Azure虚拟机上安装SQL Server或使用Azure SQL Database。
-
Linux支持的引入 推动了SQL Server 2016集成服务的发展
随着SQL Server的不断发展,集成服务也在发生相应的变化。在最新的SSIS更新中,增加Linux支持和SQL Server 2016升级向导。