zoukankan      html  css  js  c++  java
  • DB2审计原理

    DB2审计原理

    db2audit审计发生在实例级,这意味着一旦启动审计功能,它就会审计那个实例中所有数据库的活动。审计功能必须单独启动和停止。

    DB2 UDB 架构中的 DB2 审计功能原理图:

    审计选项说明:

    Log audit events: "FAILURE"                                   

    当审计设置被更改或者审计日志被访问时生成记录

    Log checking events:   "FAILURE"                                

     在对访问或操作 DB2 对象或函数的尝试进行权限检查时生成记录

    Log object maintenance events:   "FAILURE"                        

    在创建或删除数据对象时生成记录

    Log security maintenance events:   "FAILURE"                      

    在授予或者撤销对象或数据库特权或 DBADM 权限时生成记录

    Log system administrator events:   "FAILURE"                      

    当执行需要 SYSADM、SYSMAINT   或 SYSCTRL 权限的操作时生成记录

    Log validate events:   "FAILURE"                                 

    当认证用户或检索系统安全性信息时生成记录             

    Log context events: "NONE"                                    

    执行数据库操作时,生成记录以便显示操作上下文

    审计配置

    db2的审计分为实例界别和数据库级别,在网上查找审计时,通常看到的都只是实例级别的审计介绍,下面分别是两种类型的配置举例。

    实例级别配置

    通过db2audit describe查看

    SL1:/db2audit_arch # db2audit describe

    DB2 AUDIT SETTINGS:

     

    Audit active: "TRUE "

    Log audit events: "NONE"

    Log checking events: "FAILURE"

    Log object maintenance events: "FAILURE"

    Log security maintenance events: "FAILURE"

    Log system administrator events: "FAILURE"

    Log validate events: "FAILURE"

    Log context events: "NONE"

    Return SQLCA on audit error: "FALSE "

    Audit Data Path: "/db2audit_arch/"

    Audit Archive Path: "/db2audit_arch/"

     

    AUD0000I  Operation succeeded.

    库级别配置

    通过查看syscat.auditpolicies表查看

    审计选项

    AUDITPOLICYNAME

    SAMPLEPOLICY

    AUDITPOLICYID

    100

    CREATE_TIME

    2016-03-03-11.08.34.117134

    ALTER_TIME

    2016-03-15-10.35.45.099762

    AUDITSTATUS

    N

    CONTEXTSTATUS

    S

    VALIDATESTATUS

    N

    CHECKINGSTATUS

    N

    SECMAINTSTATUS

    N

    OBJMAINTSTATUS

    N

    SYSADMINSTATUS

    N

    EXECUTESTATUS

    N

    EXECUTEWITHDATA

    N

    ERRORTYPE

    A

    REMARKS

    -

    审计日志目录

    数据库产生的审计日志,直接写入到/db2audit_arch目录下。当该目录使用率满时,将无法记录审计日志,数据库将无法进行正常使用。

    /dev/aduitarch     40.00     34.51   14%       22     1% /db2audit_arch

    审计调度时间

    通常我们可以编写定时任务脚本,对审计日志进行管理。比如,归档、抽取、入库等。定时任务的时间,可以根据实际环境进行配置。

    50 * * * * /db2archive/db2inst1/SAMPLE/NODE0000/_db2audit/mkaudit_SQL.sh &

    审计任务执行过程

    定时脚本调起时,大致可以归纳如下步骤:

    A.      将审计flush到文件;

    B.       将数据库级审计日志进行归档;

    C.       将审计日志从二进制转换为可阅读格式;

    D.      将审计记录进行入库保存或者将审计文件上传到审计部门;

    E.       定期清理审计文件;

    F.        定期清理库中的审计记录。

    审计文件保留周期

    审计日志的保留周期,通常在1~3年。根据要求部署定期清理脚本即可。

    本地审计原文件,存放在/db2audit_arch

    /dev/aduitarch     40.00     34.51   14%       22     1% /db2audit_arch

    SL1:/db2audit_arch # ls -rlt

    total 11510256

    -rw-------    1 db2inst1     db2grp     53852001 Jun 27 17:50 db2audit.db.SAMPLE.log.0.20170627175001

    -rw-------    1 db2inst1     db2grp     71379624 Jun 27 19:50 db2audit.db.SAMPLE.log.0.20170627195001

    -rw-------    1 db2inst1     db2grp     96795801 Jun 27 23:50 db2audit.db.SAMPLE.log.0.20170627235001

    -rw-------    1 db2inst1     db2grp   4369101512 Jun 28 03:50 db2audit.db.SAMPLE.log.0.20170628035001

    -rw-------    1 db2inst1     db2grp     82103216 Jun 28 07:50 db2audit.db.SAMPLE.log.0.20170628075000

    -rw-------    1 db2inst1     db2grp    141386477 Jun 28 11:50 db2audit.db.SAMPLE.log.0.20170628115001

    -rw-------    1 db2inst1     db2grp    611120029 Jun 28 15:45 db2audit.instance.log.0

    -rw-------    1 db2inst1     db2grp    197411690 Jun 28 15:50 db2audit.db.SAMPLE.log.0.20170628155001

    -rw-------    1 db2inst1     db2grp      4637688 Jun 28 15:54 db2audit.db.SAMPLE.log.0

    转换格式后的文件,保存在/db2archive/db2inst1/SAMPLE/NODE0000/_db2audit

    SL1:/db2audit_arch # ls -rlt

    total 11510256

    drwxr-xr-x    2 db2inst1     db2grp          256 Mar 15 2016  lost+found

    -rw-rw-rw-    1 db2inst1     db2grp            0 Jun 21 2016  validate.del

    -rw-rw-rw-    1 db2inst1     db2grp            0 Jun 21 2016  sysadmin.del

    -rw-rw-rw-    1 db2inst1     db2grp            0 Jun 21 2016  secmaint.del

    -rw-rw-rw-    1 db2inst1     db2grp            0 Jun 21 2016  objmaint.del

    -rw-rw-rw-    1 db2inst1     db2grp            0 Jun 21 2016  execute.del

    -rw-rw-rw-    1 db2inst1     db2grp            0 Jun 21 2016  checking.del

    -rw-rw-rw-    1 db2inst1     db2grp            0 Jun 21 2016  audit.del

    -rw-rw-rw-    1 db2inst1     db2grp    186838785 Jun 02 17:28 context.del

    -rw-rw-rw-    1 db2inst1     db2grp     78538009 Jun 02 17:28 auditlobs

    开启方法

    审计开启/关闭

    db2audit start/stop

    确认开关是否开启

    db2inst1@s1l:~/audit_dump> db2audit describe|grep -i 'Audit active'

    Audit active: "TRUE "

    实例级别审计,通过db2audit,修改相应选项,即可开启对应的审计。

    db2audit configure scope context status SUCCESS errortype normal

    库级别审计通过db2 audit database using开启。

    db2 audit database using policy auditdb

    注意事项

    在开启审计后,一定要对审计目录使用率进行监控,否则在撑爆后,影响数据库访问。
    归档实例级别审计使用“db2audit archive”,库级别审计使用“db2audit archive database dbname。
  • 相关阅读:
    日记2014/06/25
    Cocos2dx 3.1.1 学习笔记整理(4):事件监听与Action的初步使用
    Cocos2dx 3.1.1 学习笔记整理(3):逐帧动画
    Cocos2dx 3.1.1 学习笔记整理(2):创建场景与载入图片
    Cocos2dx 3.1.1 学习笔记整理(1) 新建项目
    5-20
    5-19
    5-18
    5-17
    5-16
  • 原文地址:https://www.cnblogs.com/yaoyangding/p/12297806.html
Copyright © 2011-2022 走看看