酷徒LOGO
0 0 评论
文章标签:ms-sql-server  Sql Server 2008  审计  server-2008  Server  

介绍

保证服务器和数据库的安全是一个非常重要的方面。 应始终牢记最小特权原则,同时授予对服务器或者数据库上任何用户的访问权限。 作为 DBA,我们坚持并承诺服务器和托管数据库的机密性。完整性和可用性。 安全起着非常重要的作用,帮助我们的目的。

dba使用各种检查来审核和跟踪服务器或者数据库级别上可能发生的任何未授权活动。 任何数据安全策略的关键部分是能够跟踪谁访问或者试图访问数据的能力。 这提供了不仅能够检测未经授权的访问尝试,而且也能够尝试使用它的合法访问的任何恶意操作。 而且,丰富且健壮的跟踪功能可以提供管理员对敏感配置更改的监视。

暂时忘记数据库;一般来说,我们为什么要执行审计? 审计是帮助我们发现基础架构设置是否高效和健康并且满足我们需求的一种机制。 它告诉我们钉子要钉在哪里。 审计日志告诉我们谁试图进入系统,但由我们所使用的安全措施过滤。

我们可以能有安全计划,所有规则和措施都可以保持未经授权的元素。 在 SQL Server 2005之前,dba使用SQL分析器进行。 they and and reviewed或者dml触发器记录关键活动,或者使用 SQL Server 错误日志,Windows NT 日志或者SQL代理日志记录特定事件,比如,失败登录等日志。

使用 SQL Server 2008,微软引入了一个重要的新特性,提供了一个 true 审计解决方案- 审计解决方案。 它提供许多吸引人的优点,这将帮助dba达到满足法规遵从性要求的目标,只需点击几下鼠标即可。 SQL Server 审计包括提供集中存储审计日志和与系统中心集成的能力,以及更好的性能。 最重要的是,它允许细粒度审核,这样审计可以针对主体针对特定对象的特定操作。

最后,微软已经考虑到在这样的粒度级别上提供高效审计的方法。 可以按照dba的意愿在定制的集中路径中审查和归档审计文件。

要了解 SQL Server 2008审计功能的工作原理,很重要的一点是:

  • 服务器审核
  • 服务器审计规范
  • 数据库审计规范

让我们了解一下这些内容,以及一个例子,我们将尝试更近地查看审核。

服务器审核

若要在 SQL Server 实例上配置审核,'审核'是从。 审核可以在文件或者安全日志中记录,也可以在应用程序日志中记录。 我们可以使用'审核'配置在哪里或者怎样记录它们。

图 1

服务器审计作为转储所有审计的接收器。 服务器审计指定审计将被记录在哪里,但不会记录将要记录的内容。 如上图所示,右键单击'审核'并选择'新审核报告。'。 图类似的屏幕。 2 弹出。

让我们详细查看这个屏幕。 顾名思义,'审计名称'是审计的名称,队列延迟定义了在日志中写入事件后的时间间隔。

在审核日志失败时关闭服务器服务器可以选择关闭服务器以在审核日志失败时关闭服务器。 接下来是选择审计将记录的目的的选项。 让我们选择文件

图 2

文件路径中使用浏览按钮,选择将保存日志和文件的路径。 让我们创建一个审计并将目的地定义为"文件",并将它的保存到 C:Keshav。

服务器审计规范

服务器审计规范对象描述了在服务器级别审计 what what。 服务器审计规范对象与服务器审计对象之间存在one-to-one关系。 服务器审计规范与服务器审计关联,以便定义审计数据的写入位置。 右击服务器审计规范并选择新审核规范。 图类似的屏幕。 4 弹出。输入一个名称,并从审计中选择an审计。 在审计操作类型部分中,可以选择各种服务器级审计。 对于我们的示例,让我们选择" FAILED_LOGIN_GROUP"。

最后点击确定。

数据库审计规范

这描述了 audit审计but但是就像名称所指出的,重点关注于特定数据库中发生的操作。 审计数据是通过数据库审计规范与服务器审计对象的关联来定义的。 数据库审计规范与服务器审计对象之间存在 1: 1 关系。

如图所示。 5年,数据库审计规范位于数据库> TestDB> 安全。

右击它以查看弹出屏幕,类似于和s,它为数据库审计规范起了一个名字。 可以看到,在新数据库规范和目标审计之间有 1: 1 映射。 从审计中选择一个目的地。 接下来,设置要跟踪的审计。 我们可以提供大量的粒度审核。 对于这个示例,我们选择操作作为 INSERT在TestDB数据库中的员工表中插入。 我们将在同一台表中创建另一个更新。

点击。

英镑注释: 默认情况下,在所有三个级别上创建的审计都是禁用的 MS SQL Server 预期在配置审核后,你将为它的启用审核。 配置后,右键单击并启用我们刚刚创建的所有三个审计。

接下来,我们将尝试使用无效的凭据登录。

因为这些不是合法的凭证,我们将无法登录。 现在让我们用有效的凭证登录。

完成之后,在下面的TestDB上运行 DMLs:


UPDATE TestDB..Employee SET ENAME='Andy' WHERE EID=5;


INSERT INTO TestDB..Employee VALUES('Rose','IT');



如果查看 ,我们会发现带有扩展。sqlaudit的二进制文件已经创建,名称为服务器审计所指定的名称。 由于我们选择了文件选项作为我们的审核数据接收器,这个文件将存储服务器审核规范的所有结果。

要验证审计结果,请执行以下查询:


SELECT * FROM fn_get_audit_file(


'C:KeshavAudit-*.sqlaudit',


default, default)



结果显示了审计的所有细节。

让我们过滤一下并评估:


SELECT event_time,action_id,statement,database_name,server_principal_name


FROM fn_get_audit_file(


'C:KeshavAudit-*.sqlaudit',


default, default) 



event_time action_ statement database server


 id _name _principal


 _name


---------------------- ------- -------------------------------


2011-03-01 11:27:24.43 LGIF Login failed for user 'Amit'. [CLIENT: Amit 


 Reason:Could not find a login <local 


 matching the name provided. machine>] 


2011-03-01 11:30:41.01 UP UPDATE TestDB..Employee TestDB keshav


 SET ENAME='Andy' WHERE EID=5;


2011-03-01 11:30:15.22 IN INSERT INTO TestDB..Employee TestDB keshav


 VALUES('Rose','IT');


(3 row(s) affected)



注意为更新和插入执行的DML详细信息已经被记录为数据库审计规范的一部分。 此外,执行DML的用户的名称已经被记录。 这是数据库审计的一部分。 就服务器审计而言,我们发现尝试使用无效凭证登录的人的信息也已经被记录。

通过这个例子,你将获得这个令人兴奋的新特性的窍门。

审计的架构级别实现已经在 Fig.7 演示。

结束语

SQL Server 2008已经对下一个层次进行了审核,并且使得它更简单和集中。 希望本文在基本水平上成功地展示了这一特性。 审计有更广泛的实现,讨论同样的内容超出了文章的范围。



文章标签:Server  server-2008  审计  ms-sql-server  Sql Server 2008  

Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备17041772号-2  |  如果智培  |  酷兔英语  |  帮酷