收藏 分享(赏)

数据库审计详解.ppt

上传人:精品资料 文档编号:11276242 上传时间:2020-03-08 格式:PPT 页数:19 大小:1.62MB
下载 相关 举报
数据库审计详解.ppt_第1页
第1页 / 共19页
数据库审计详解.ppt_第2页
第2页 / 共19页
数据库审计详解.ppt_第3页
第3页 / 共19页
数据库审计详解.ppt_第4页
第4页 / 共19页
数据库审计详解.ppt_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、数据库知识点审计,审计概述,审计的概念? 审计系统的构成? Sybsecurity数据库? 内存审计队列? 审计级别 安装审计系统 审计数据管理 实例演示(sql 2008),审计的概念,审计,英文称之为“audit”,检查、验证目标的准确性和完整性,用以防止虚假数据和欺骗行为,以及是否符合既定的标准、标竿和其它审计原则。 审计概念最早用于财务系统,主要是获取金融体系和金融记录的公司或企业的财务报表的相关信息。随着科技信息技术的发展,大部份的企业、机构和组织的财务系统都运行在信息系统上面,所以信息手段成为财务审计的一种技术的同时,财务审计也带动了通用信息系统的审计。审计已开始包括信息技术审计。

2、 信息技术审计,是一个信息技术( IT )基础设施控制范围内的检查。信息系统审计是一个通过收集和评价审计证据,对信息系统是否能够保护资产的安全、维护数据的完整、使被审计单位的目标得以有效地实现、使组织的资源得到高效地使用等方面做出判断的过程。 数据库审计作为信息安全审计的重要组成部分,同时也是数据库管理系统安全性重要的一部分。通过审计功能,凡是与数据库安全性相关的操作均可被记录下来。只要检测审计记录,系统安全员便可掌握数据库被使用状况。 例如,检查库中实体的存取模式,监测指定用户的行为。审计系统可以跟踪用户的全部操作,这也使审计系统具有一种威慑力,提醒用户安全使用数据库。,审计系统的构成,审计

3、系统的构成 sybsecurity 数据库 存放在sybsystempocs中的一组系统存储过程 master库中的配置选项 内存审计队列 审计处理程序,sybsecurity数据库,sybsecurity库是sqlserver审计系统的基础,它是由审计系统的安装程序sybinit 来建立的,除包括model库中所有表之外,还另有两张系统表。 sysaudits 审计记录表。所有审计信息均被记载在这个表中 sysauditoptions 审计选择设置记录,内存审计队列,当定义的审计事件发生时,审计记录首先被放在内存审计队列,在它被审计处理程序存放审计记录之前,将一直存在这里。如果系统发生故障,

4、内存审计队列记录可能丢失。内存审计队列溢出会影响整个系统的性能。当审计队列没有空间时,如果用户执行一个被定义的审计的操作,那么审计处理程序将进入一种睡眠状态,等待有足够的内存空间才运行用户的命令。内存审计队列空间可由sp-configure来设置,参数为audit queue size 。 审计数据流图用户将要在tablea中插入记录,insert已被定义为审计事件。 检查操作权限,关于这条命令和处理的信息被记录在内存审计队列。 审计处理过程被调度的,将内存审计队列的信息写入sybsecurity库的sysaudits表中。 审计信息被存在sysaudit表中,这些信息随系统运输愈来愈多,如果

5、需要的话,可将这些数据倒到另外一个表中存放起来,或挎贝到磁带上存放。这些工作可以由threshold manager来做建议使用insert into select 来备份ysaudit数据,因为这个操作记log。 大量的数据存到存贮介质上可以使用dump或bulk copy 。,sql server 级 包括如下操作login ,logout ,reboot ,remote procedue call , fatal error, privileged command. database 级 包括操作grant , revoke, truncate table, drop, use obje

6、ct 级 包括table/view access , procedure, trigger执行 user 级 包括table/view access , command text,安装审计系统,审计系统由sybase安装程序sybinit安装。整个安装过程完成以下操作 执行disk init初始化用户指定使用的设备,并在其上创建sybsecurity数据库。 运行sp-auditinstall建立一个段空间,并将sysaudit表建在这个段上。 运行installsecurity,建立sysauditoptions 表,建立审计系统存储过程 重新启动sql server 。建议不在sybsec

7、urity库中建立任何用户表,存贮过程等。因为sysaudits表是相当动态变化的,必须监控其设备的使用情况。用于审计的系统存储过程 sp-auditdatabase 设置数据库级事件审计 sp-auditobject 设置访问表与视图事件的审计 sp-auditsproc 设置执行系统存储过程与触发事件审计 sp-auditlogin 设置指定用户全部操作的审计 sp-auditoption 设置审计选项 sp-addauditrecord 增加用户定义的审计记录,审计数据管理,记录审计事件的表sysaudits增长很快,对这些记录信息必须做有效的管理,定期将审计记录归档。归档可以由手工操作

8、完成,也可以用系统threshold manager来完成。如果用threshold 那么必须将sysaudit表放在独自的段上。现提供几种方法处理审计记录信息,用户可根据自己系统需求选择其中之一。 将审计记录拷贝到档案表中存放或直接将数据存放外存介质。 截断sysandits表,不保存审计记录。 将档案表中数据存放于外存介质。审计记录表sysaudits溢出,会导致以下的问题 审计处理过程会死掉 当前内存审计队列的数据将丢失 用户程序向内存审计队列发送数据时被杀掉取消审计系统功能 sp-auditoption “enable auditing“,“off“ 停止审计系统工作之后,删除sybs

9、ecurity 库 drop database sybsearuity,实例演示(sql 2008),创建SQL Server审计 第一步你应该在SQL Server 2008的一个实例上创建审计,这样就能创建一个SQL Server审计。审计就是为与数据库引擎相关的具体事件集合配置的安全对象。你可以在SQL Server 2008里的一个实例上创建多个审计。 在创建审计时,你必须给它指定一个名称和事件输出的目标位置。目标文件可以是二进制的文件、Windows Security日志或Windows Application日志。你还可以给审计对象指定一个或更多个可选参数。 你可以用CREATE

10、SERVER AUDIT语句,如下所示:,注意,你必须在主数据库中创建一个审计。由于审计是和SQL Server实例相联系的,因此你不能在用户数据库中创建。 第一行的CREATE SERVER AUDIT语句仅规定审计名称(如SrvAudit)。第二行的TO 子句确定事件输出时的目标位置。例如,我想将输出结果保存在文件中,所以我必须指定TO FILE并规定FILEPATH 值。注意这只是一个路径名。SQL Server将自动命名输出文件,如下所示:,在上面的例子中,TO FILE语句还包括了MAXSIZE参数,MAXSIZE参数将文件大小限制为5 MB。该参数是TO FILE子句可选参数之一。

11、如果你将审计数据迁到Application日志或 Security 日志,你就只需要指定日志名选项,示例如下:,就像你看到的一样,TO FILE子句已经被TO APPLICATION_LOG子句所替代并且还没有另外规定其他的参数。 最后一行在CREATE SERVER AUDIT 语句中的就是一个 WITH子句。该子句支持很多个选项,限制了创建审计的方法。在这种情况下,我使用的是QUEUE_DELAY参数并将它的值设为3000。这个参数指定了在创建审计之前要耗费的毫秒数并且。默认数字为 1000 毫秒(即1秒)。,创建服务器审计规范,你创建SQL Server审计之后,必须创建一个服务器审计规

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

13、tSpec)。第二行FOR SERVER AUDIT子句指定了与审计规范相关的审计名(SrvAudit)。第三行和第四行为 增加了规范活动组的ADD 子句。在这种情况下,我增加了SUCCESSFUL_LOGIN_GROUP和FAILED_LOGIN_GROUP活动组,跟踪试图登录到SQL Server实例的安全主管。 最后一行 CREATE SERVER AUDIT SPECIFICATION语句为WITH 子句。WITH 子句包括激活规范的在STATE参数。默认值不能激活审计规范(STATE=OFF)。如果你在创建时不能激活审计规范,你就必须过段时间再激活,在你能够审计活动组之前进行激活。,

14、创建数据库审计规范,和服务器的审计规范不一样,数据库审计规范是具体针对数据库的。但是它和服务器审计规范相同的是,你可以增加审计活动组,但是它们仅仅针对数据库。此外,你可以给规范增加单独的审计活动。审计活动就是数据库具体的活动,如删除数据或运行存储程序。 创建数据库审计规范,在目标数据库中运行CREATE DATABASE AUDIT SPECIFICATION语句,例如,第一行CREATE DATABASE AUDIT SPECIFICATION语句指定了规范(DbAuditSpec),第二行为FOR SERVER AUDIT 子句,用它可以判断和规范相关的审计。接下来,我增加了一个审计活动组

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

16、日志。 最后,CREATE DATABASE AUDIT SPECIFICATION语句中的最后一个子句就是WITH子句。跟上次一样,你可以在操作完之后就激活审计规范或者过一段时间之后再进行激活。,激活SQL Server审计,和我们刚刚回顾的审计规范一样,CREATE SERVER AUDIT 语句中的WITH子句并不支持STATE参数。也就是说你必须在单独的一步中激活审计,如下面的语句中所示:,查看审计数据,你可以在 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)事件实例。,谢谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报