db2audit 审计 (适用于db2 9.7)

本文介绍了DB2数据库系统的审计功能配置与管理方法,包括审计状态的查看、配置、日志归档及提取等关键操作步骤。此外还提供了审计特定表、用户角色以及SYSADM或DBADM权限操作的具体示例。

db2audit 审计 (适用于db2 9.7)


查看审计状态

db2audit describe

审计实例1

将审计功能配置成只记录失败的 AUDIT 和 VALIDATE 事件,
并使用 NORMAL 错误处理选项。为此,发出以下 db2audit 命令:

db2audit configure scope validate status failure errortype normal
db2audit configure scope audit status failure errortype normal

审计实例2

为了将审计功能配置成监视所有事件类型,同时记录成功的和失败的尝试,
并且使用 AUDIT 错误处理选项,可发出以下 db2audit 命令:

db2audit configure scope all status both errortype audit

刷新审计日志到磁盘

db2audit flush

审计日志归档

如果需要提取审计日志,需要将审计日志归档,否则报错:

AUD0036N Extract can not be performed on the active audit log file "/home/db2inst1/sqllib/security/auditdata/db2audit.db.SAMPLE.log.0". 

1、归档实例审计日志(默认)

db2audit archive

2、归档数据库审计日志

db2audit archive database testDB

提取审计日志

1、提取日志到文件

db2audit extract file instance.aud from files db2audit.instance.log.0.20161012143559
db2audit extract file db.aud from files db2audit.db.testDB.log.0.20161012133839

2、提取日志到数据库

首先提取日志到定界ascii,然后导入数据库
每种审计类别的日志格式有差异,需要根据根据每种日志类别建立日志表

mkdir output
db2audit extract delasc delimiter ! to output from files db2audit.instance.log.0.20161012165310
db2audit extract delasc delimiter ! to output from files db2audit.db.testDB.log.0.20161012165131

创建审计日志表

create table audit_result(
aud_timestamp timestamp,
category varchar(8),
audit_event varchar(32),
event_correlator int,
event_status int,
userid varchar(1024),
authid varchar(128),
application_id varchar(128),
application_name varchar(128),
instance_name varchar(128),
hostname varchar(128)
)

将审计日志写入表

db2 load from audit.del    of del modified by chardel! insert into audit_result nonrecoverable

审计对特定表的任何访问的示例

请考虑这样一家公司,其 EMPLOYEE 表包含非常敏感的信息,并且该公司希望审计对该表中的数据的任何和所有 SQL 访问。
可以使用 EXECUTE 类别来跟踪对表的所有访问;该类别审计 SQL 语句,并可以选择审计在执行时为该语句提供的输入数据值。
跟踪该表上的活动需要执行两个步骤。首先,安全性管理员创建一个指定 EXECUTE 类别的审计策略,然后安全性管理员将该策略与表关联:

CREATE AUDIT POLICY SENSITIVEDATAPOLICY
    CATEGORIES EXECUTE STATUS BOTH ERROR TYPE AUDIT
COMMIT

AUDIT TABLE EMPLOYEE USING POLICY SENSITIVEDATAPOLICY
COMMIT

审计 SYSADM 或 DBADM 执行的任何操作的示例

为了完成安全合格证书,一家公司必须表明能够监视数据库内由拥有系统管理(SYSADM)或数据库管理(DBADM)权限
的那些人执行的任何和所有活动。
要捕获数据库内的所有操作,应审计 EXECUTE 和 SYSADMIN 类别。安全性管理员创建一个审计这两种类别的审计策略。
安全性管理员可以使用 AUDIT 语句将此审计策略与 SYSADM 和 DBADM 权限关联。然后,拥有 SYSADM 或 DBADM 权限
的任何用户将记录任何可审计事件。以下示例显示如何创建这种审计策略并将它与 SYSADM 和 DBADM 权限关联:

CREATE AUDIT POLICY ADMINSPOLICY CATEGORIES EXECUTE STATUS BOTH,
   SYSADMIN STATUS BOTH ERROR TYPE AUDIT
COMMIT
AUDIT SYSADM, DBADM USING POLICY ADMINSPOLICY
COMMIT

审计特定角色执行的任何访问的示例

一家公司允许对其企业数据库进行 Web 应用程序访问。使用 Web 应用程序的确切个人未知。只知道使用的角色,该角
色用于管理数据库权限。该公司希望监视作为该角色成员的任何人的操作,以便检查他们提交给数据库的请求并确保他
们只通过 Web 应用程序访问数据库。
EXECUTE 类别包含跟踪这种情况下的用户活动所需的审计级别。第一步是创建适当的审计策略并将它与 Web 应用程序所
使用的角色关联(在本示例中,角色为 TELLER 和 CLERK):

CREATE AUDIT POLICY WEBAPPPOLICY CATEGORIES EXECUTE WITH DATA 
   STATUS BOTH ERROR TYPE AUDIT
COMMIT
AUDIT ROLE TELLER, ROLE CLERK USING POLICY WEBAPPPOLICY
COMMIT

删除审计策略

AUDIT TABLE T REMOVE POLICY;
DROP AUDIT POLICY SENSITIVEDATAPOLICY;

AUDIT SYSADM, DBADM REMOVE POLICY;
DROP AUDIT POLICY ADMINSPOLICY;

参考:

http://www-01.ibm.com/support/docview.wss?uid=swg21633218
http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0603wasserman/index.html
https://www.ibm.com/support/knowledgecenter/SSEPGG_9.5.0/com.ibm.db2.luw.wn.doc/doc/i0051525.html
http://www.ibm.com/support/knowledgecenter/zh/SSEPGG_9.7.0/com.ibm.db2.luw.admin.sec.doc/doc/c0050525.html

<think>好的,用户需要查看或配置DB2数据库的审计日志。我之前提供的引用里提到了几个关键点,比如如何启用审计、配置参数以及导出日志。首先,用户可能需要知道如何启动审计功能,因为引用2提到使用db2audit命令设置参数,比如log success和logerrors。然后,配置具体的审计事件类型也很重要,比如审计对象维护或权限变更,这需要用到db2auditconfigure命令,如引用3所述。接下来,生成和提取审计日志的步骤,引用1中的例子是db2auditextract,可能需要指导用户如何执行这个命令并转换日志格式,因为原始日志不可读。另外,用户可能还需要知道审计日志的存储位置和管理方法,比如归档和清理策略,这部分在引用3里提到过。最后,确保用户了解如何分析日志,可能需要使用DB2的工具或第三方软件。需要分步骤解释每个部分,确保命令示例正确,并提醒注意事项,比如权限需求和性能影响。同时,生成相关问题来帮助用户深入理解,比如如何优化日志存储或处理性能问题。</think>### 查看或配置DB2数据库审计日志的步骤 #### 1. **启用审计功能** - 使用以下命令激活审计功能: ```sql db2audit configure audit active on ``` 此命令会立即启用审计功能,但需注意审计日志默认存储在实例目录的`security/auditdata`下[^2][^3]。 #### 2. **配置审计事件类型** - DB2支持多种审计类别,例如: - **权限变更**:`db2audit configure category SECMAINT status BOTH` - **对象操作**:`db2audit configure category OBJMAINT status BOTH` - **系统管理员操作**:`db2audit configure category SYSADMIN status BOTH` - 通过`BOTH`表示记录成功和失败事件,`SUCCESS`或`FAILURE`可单独设置[^2][^3]。 #### 3. **生成审计日志** - 执行敏感操作(如用户权限修改、表结构变更)后,审计日志会自动记录。例如: ```sql GRANT SELECT ON TABLE employees TO user1; ``` 此操作会触发`SECMAINT`类别的事件记录[^3]。 #### 4. **导出并解析日志** - 原始审计日志为二进制格式,需转换为可读文本: ```bash db2audit extract file audit_output.txt from files /path/to/db2audit.log.0.xxxxxxxx ``` 导出后可用文本编辑器或脚本分析关键事件(如异常登录尝试)[^1][^3]。 #### 5. **管理日志存储** - **自动归档**:通过`db2audit archive`命令定期归档旧日志。 - **清理策略**:设置保留周期避免磁盘占满: ```sql db2audit configure archive retention 30 ``` 表示保留最近30天的日志[^3]。 #### 6. **审计日志分析工具** - 使用`db2audit describe`查看当前配置: ```bash db2audit describe ``` 输出示例如下: ``` Audit active: "TRUE" Log errors: "TRUE" Log success: "FALSE" ``` 此命令可验证配置是否生效[^2]。 --- ### 注意事项 - **权限要求**:需实例所有者权限或`SECADM`角色执行审计命令。 - **性能影响**:高频审计可能增加I/O负载,建议仅监控关键事件。 - **合规性**:根据行业标准(如GDPR)调整审计范围。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值