<%@ page contentType="text/html; charset=gb2312"%> 数据库审计
网站公告:   ◆北天JAVA技术网热情为java爱好者服务,本网内容包括JAVA(JSP、servlet、EJB、webservice、j2ee、javabean、应用服务器、JavaScript),数据库(MYSQL、SQL Server、Sybase、Oracle、DB2、数据库综合知识),设计研究(设计模式、Struts、Spring、Hibernate、设计框架、设计综合知识),WEB2.0新技术(主要介绍AJAX),以及各种技术的入门、实例、例子等等,欢迎各位多来坐坐!◆  诚邀各位JAVA爱好者加盟!◆  本网站内容丰富,更新快,保证每周20篇以上!  
加入收藏
设为首页
联系站长
承接项目
  相关资源:网站首页 | 免费培训学院 | 技术论坛 | JAVA聊天室 | 作家专栏 | 开发工具 | 认证考试 | 会员俱乐部
  JAVA技术初学者园地 | jsp与servlet | javascript | Java源代码 | EJB | web service | 应用服务器 | JAVA综合知识
  设计研究设计模式 | 设计框架 | Struts | Spring | Hibernate | 开源项目 | 面向对象设计 | 设计综合知识
  数 据 库MYSQL | SQL Server | Sybase | Oracle | DB2 | Informix | Access | 数据库综合知识
  其他资源:AJAX新技术 | 网站开发 | ERP软件 | OA办公软件 | 商业智能BI | 开发综合知识 | 承接项目 | 项目试用

 
 
数据库审计
     发布者: 发布时间:2006-05-07

 审计功能是数据库管理系统安全性重要的一部分。通过审计功能,凡是与数据库安全性相关的操作均可被记录下来。只要检测审计记录,系统安全员便可掌握数据库被使用状况。例如,检查库中实体的存取模式,监测指定用户的行为。审计系统可以跟踪用户的全部操作,这也使审计系统具有一种威慑力,提醒用户安全使用数据库。

审计系统的构成

  • sybsecurity 数据库

  • 存放在sybsystempocs中的一组系统存储过程

  • master库中的配置选项

  • 内存审计队列

  • 审计处理程序

sybsecurity数据库

  sybsecurity库是sqlserver审计系统的基础,它是由审计系统的安装程序sybinit 来建立的,除包括model库中所有表之外,还另有两张系统表。

  • sysaudits 审计记录表。所有审计信息均被记载在这个表中

  • sysauditoptions 审计选择设置记录

系统存储过程:

  支持审计系统的操作,设置审计内容及审计功能

master库的配置选项

  设置内存审计列队大小

内存审计队列

  当定义的审计事件发生时,审计记录首先被放在内存审计队列,在它被审计处理程序存放审计记录之前,将一直存在这里。如果系统发生故障,内存审计队列记录可能丢失。内存审计队列溢出会影响整个系统的性能。当审计队列没有空间时,如果用户执行一个被定义的审计的操作,那么审计处理程序将进入一种睡眠状态,等待有足够的内存空间才运行用户的命令。内存审计队列空间可由sp-configure来设置,参数为audit queue size 。 

审计数据流图

 

  1. 用户将要在tablea中插入记录,insert已被定义为审计事件。
  2. 检查操作权限,关于这条命令和处理的信息被记录在内存审计队列。
  3. 审计处理过程被调度的,将内存审计队列的信息写入sybsecurity库的sysaudits表中。
  4. 审计信息被存在sysaudit表中,这些信息随系统运输愈来愈多,如果需要的话,可将这些数据倒到另外一个表中存放起来,或挎贝到磁带上存放。这些工作可以由threshold manager来做建议使用insert into …select 来备份ysaudit数据,因为这个操作记log。
  5. 大量的数据存到存贮介质上可以使用dump或bulk copy 。

审计级别

  • sql server 级
    包括如下操作login ,logout ,reboot ,remote procedue call , fatal error, privileged command.

  • database 级
    包括操作grant , revoke, truncate table, drop, use 

  • object 级
    包括table/view access , procedure, trigger执行

  • user 级
    包括table/view access , command text

安装审计系统

  审计系统由sybase安装程序sybinit安装。整个安装过程完成以下操作

  • 执行disk init初始化用户指定使用的设备,并在其上创建sybsecurity数据库。

  • 运行sp-auditinstall建立一个段空间,并将sysaudit表建在这个段上。

  • 运行installsecurity,建立sysauditoptions 表,建立审计系统存储过程

  • 重新启动sql server 。

  建议不在sybsecurity库中建立任何用户表,存贮过程等。因为sysaudits表是相当动态变化的,必须监控其设备的使用情况。

  用于审计的系统存储过程

  • sp-auditdatabase 设置数据库级事件审计

  • sp-auditobject 设置访问表与视图事件的审计

  • sp-auditsproc 设置执行系统存储过程与触发事件审计

  • sp-auditlogin 设置指定用户全部操作的审计

  • sp-auditoption 设置审计选项

  • sp-addauditrecord 增加用户定义的审计记录

审计数据管理

  记录审计事件的表sysaudits增长很快,对这些记录信息必须做有效的管理,定期将审计记录归档。归档可以由手工操作完成,也可以用系统threshold manager来完成。如果用threshold 那么必须将sysaudit表放在独自的段上。

  现提供几种方法处理审计记录信息,用户可根据自己系统需求选择其中之一。

  • 将审计记录拷贝到档案表中存放或直接将数据存放外存介质。

  • 截断sysandits表,不保存审计记录。

  • 将档案表中数据存放于外存介质。

  审计记录表sysaudits溢出,会导致以下的问题

  • 审计处理过程会死掉

  • 当前内存审计队列的数据将丢失

  • 用户程序向内存审计队列发送数据时被杀掉

  取消审计系统功能

sp-auditoption "enable auditing","off" 
停止审计系统工作之后,删除sybsecurity 库 
drop database sybsearuity

 

 

  
(转载文章请保留出处:北天JAVA技术网(www.java114.com))
 
更多精彩文章:
sybase使用技巧集锦faq
sybase数据库非正常退出修复
oracle9.2.0.1升级到oraclepatch9.2.0.6详细步骤
oracle里的交叉sql语句写法
使用sql*loader向oracle导入数据
oracle数据库开发的一些经验积累(一)
 
最近评论:
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(8084)
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(8827)
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(2159)
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(2352)
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(7157)
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(804)
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(5556)
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(3382)
        
冰封的往事!
wow power leveling,wow gold,WoW Gold,wow gold max(2645)
        
标 题:   
内 容:   
 
                                  
 
免责声明:该文章由网友发表,如果对您造成侵权,请联系站长

首页 - 承接项目 - 网站地图 - 联系我们 -
版权所有北天JAVA技术工作室 ICP证号:粤ICP备06079815号