论文部分内容阅读
摘 要:数据库安全审计对于保障数据库安全是至关重要的。设计实现一个Informix数据库安全审计系统,通过对Informix数据库审计日志文件格式的分析,能够对数据库的操作按照用户会话过程进行还原,同时设计多级的安全规则对相应的数据库操作给出不同级别的警告。在系统架构上,采用分离的采集器和分析器结构,能针对多个日志数据源进行同时处理,日志分析结果采用XML格式进行存储。具有很好的通用性和可扩展性。实验测试结果表明,系统能很好地完成Informix数据库操作的实时审计。
关键词:Informix;数据库安全;审计日志
中图分类号:TP311.138 文献标识码:A
1 引言
数据库安全审计是保证数据库安全性的有效手段,它的作用在于当数据被恶意修改、数据复制不正常或数据库系统出现问题时,数据库管理员可以通过安全审计,跟踪数据的修改过程,确定数据被破坏的程度和范围,并制定相应的解决方案,从而最大限度地缩短恢复周期,将损失降低到最小。
每条记录分为两个部分,第一部分是日志头,第二部分是附加的信息列。
其中日志头包含八个字段,含义如表1所示。
附加信息列(Additional fields)则是根据不同的事件类型而有所不同,一般包括数据库名、表名等信息,典型数据库操作时记录的附加信息列如表2所示。具体的可参见审计事件域表。
例如,以下是从审计日志文件中截取的一条审计记录:
该记录表示主机名为ZHANGWEI-DB的客户端在2007年4月3日16:15:33登录服务器名为OLZW的数据库服务器,登录的用户名为Informix,该用户对sysmaster数据库的表号为221的表中的262行进行了插入行数据的操作。
3 审计系统结构
为了能支持对多个日志源的审计分析,将审计系统设计成采集器和分析器两部分,如图1所示。采集器负责采集原始的Informix数据库审计日志数据,可以完成实时采集和定时采集的功能。分析器负责对采集器发送给它的数据进行日志解析、操作还原、会话关联和审计结果输出,并进行安全规则匹配和统一格式处理。系统中设计了相关的通信协议完成采集器和分析器之间的数据传输。
4 审计系统设计与实现
4.1 采集器
Informix数据库审计系统的审计客体主要是数据库的审计日志文件,采集器需要安装在数据库服务器上,负责读取审计日志文件中的数据,实时采集是通过设定相应的时间间隔对日志文件中的增量数据进行采集,定时采集则可以指定需要分析的时间段,完成对审计日志文件中相关时间内数据记录的采集。采集得到的数据形成相应的字节流,按照一定的协议格式通过TCP连接传送给分析器。
4.2 网络传输协议
在采集器和分析器间,设计了相应的信令包和数据包,分别完成传输过程中的参数协商和日志数据的传递。
传输的具体过程如图2所示。
具体实现上,通过读取审计日志头中Event mnemonic字段的内容就可以读取操作缩写名,直接还原SQL操作。对于对象名称的还原,可以有两种方法,一种是通过查找数据库系统表systable可以获取所有的对象名和对象编号的对应关系。另一种方法是,通过解析审计事件为ACTB的日志记录来获取对象名和对象编号的对应关系。在In-formix数据库操作中,每个对表或视图的操作首先都会产生一条ACTB的审计日志记录,该记录的附加信息列中带有对象名和对象编号两个域,分别描述下一记录的操作对象名称和对象编号。由于第一种方式需要对数据库系统表进行查找,会影响数据库系统本身的效率和性能,所以我们 的审计系统中采取了第二种方式。
而对于用户登录的操作,在Informix的审计日志中,审计事件缩写为STSN时,表示启动新的会话,也就是一个新的用户登录。在这条审计记录中会记录下会话开始的时间、进程ID和用户名等信息,我们可以通过解析该记录内容,获取用户的会话信息。
为了实现安全审计的目的,系统设定了安全规则,规定了三个安全等级,级别越高,表示存在的安全威胁越大。系统分别对用户多次登录尝试、用户授权、数据表修改、记录增删等行为给出安全警告。
安全规则的保存采用了XML格式,可以由管理用户按照需求进行添加和删除。以下是一段安全规则的示例。
其中标签名代表数据库操作名,Status为操作状态,Warn-ingLevel为警告级别,Suggestion为应对策略和建议。如上例中第4条规则表示连续三次登录失败,警告级别为3。
在进行安全规则匹配时,遍历日志解析结果文件,对每条记录结果取出操作名和成功状态,与安全规则库进行匹配,完成相应警告输出。
5 系统测试
系统测试在分布式的环境下进行,日志采集器运行在Windows平台的Informix数据库服务器上,日志分析器运行在Linux平台。系统第一次运行时,需要对审计日志、分析结果文件名称和存放位置、通信地址和端口等进行相应的配置。
从图4可以看出,对应图3的日志分析结果,审计系统对用户informix的登录,创建表,插入行数据都给出了相应的警告提示信息,管理员用户可以很明确的做好对应的操作处理。
6 结束语
数据库安全审计机制是数据库安全机制的一种,本文根据Informix数据库管理系统自身的特点,设计并实现了具有审计数据的采集和审计数据的分析以及报警功能的Informix数据库安全审计系统,任何通过数据库引擎对数据库进行的操作都会被审计系统记录,而这些记录可用于追踪和调查非授权用户的非法操作,从而确保数据库的安全性、完整性和可用性。
关键词:Informix;数据库安全;审计日志
中图分类号:TP311.138 文献标识码:A
1 引言
数据库安全审计是保证数据库安全性的有效手段,它的作用在于当数据被恶意修改、数据复制不正常或数据库系统出现问题时,数据库管理员可以通过安全审计,跟踪数据的修改过程,确定数据被破坏的程度和范围,并制定相应的解决方案,从而最大限度地缩短恢复周期,将损失降低到最小。

每条记录分为两个部分,第一部分是日志头,第二部分是附加的信息列。
其中日志头包含八个字段,含义如表1所示。
附加信息列(Additional fields)则是根据不同的事件类型而有所不同,一般包括数据库名、表名等信息,典型数据库操作时记录的附加信息列如表2所示。具体的可参见审计事件域表。
例如,以下是从审计日志文件中截取的一条审计记录:
该记录表示主机名为ZHANGWEI-DB的客户端在2007年4月3日16:15:33登录服务器名为OLZW的数据库服务器,登录的用户名为Informix,该用户对sysmaster数据库的表号为221的表中的262行进行了插入行数据的操作。
3 审计系统结构
为了能支持对多个日志源的审计分析,将审计系统设计成采集器和分析器两部分,如图1所示。采集器负责采集原始的Informix数据库审计日志数据,可以完成实时采集和定时采集的功能。分析器负责对采集器发送给它的数据进行日志解析、操作还原、会话关联和审计结果输出,并进行安全规则匹配和统一格式处理。系统中设计了相关的通信协议完成采集器和分析器之间的数据传输。
4 审计系统设计与实现
4.1 采集器
Informix数据库审计系统的审计客体主要是数据库的审计日志文件,采集器需要安装在数据库服务器上,负责读取审计日志文件中的数据,实时采集是通过设定相应的时间间隔对日志文件中的增量数据进行采集,定时采集则可以指定需要分析的时间段,完成对审计日志文件中相关时间内数据记录的采集。采集得到的数据形成相应的字节流,按照一定的协议格式通过TCP连接传送给分析器。
4.2 网络传输协议
在采集器和分析器间,设计了相应的信令包和数据包,分别完成传输过程中的参数协商和日志数据的传递。
传输的具体过程如图2所示。

具体实现上,通过读取审计日志头中Event mnemonic字段的内容就可以读取操作缩写名,直接还原SQL操作。对于对象名称的还原,可以有两种方法,一种是通过查找数据库系统表systable可以获取所有的对象名和对象编号的对应关系。另一种方法是,通过解析审计事件为ACTB的日志记录来获取对象名和对象编号的对应关系。在In-formix数据库操作中,每个对表或视图的操作首先都会产生一条ACTB的审计日志记录,该记录的附加信息列中带有对象名和对象编号两个域,分别描述下一记录的操作对象名称和对象编号。由于第一种方式需要对数据库系统表进行查找,会影响数据库系统本身的效率和性能,所以我们 的审计系统中采取了第二种方式。
而对于用户登录的操作,在Informix的审计日志中,审计事件缩写为STSN时,表示启动新的会话,也就是一个新的用户登录。在这条审计记录中会记录下会话开始的时间、进程ID和用户名等信息,我们可以通过解析该记录内容,获取用户的会话信息。

为了实现安全审计的目的,系统设定了安全规则,规定了三个安全等级,级别越高,表示存在的安全威胁越大。系统分别对用户多次登录尝试、用户授权、数据表修改、记录增删等行为给出安全警告。
安全规则的保存采用了XML格式,可以由管理用户按照需求进行添加和删除。以下是一段安全规则的示例。
其中标签名代表数据库操作名,Status为操作状态,Warn-ingLevel为警告级别,Suggestion为应对策略和建议。如上例中第4条规则表示连续三次登录失败,警告级别为3。
在进行安全规则匹配时,遍历日志解析结果文件,对每条记录结果取出操作名和成功状态,与安全规则库进行匹配,完成相应警告输出。
5 系统测试
系统测试在分布式的环境下进行,日志采集器运行在Windows平台的Informix数据库服务器上,日志分析器运行在Linux平台。系统第一次运行时,需要对审计日志、分析结果文件名称和存放位置、通信地址和端口等进行相应的配置。

从图4可以看出,对应图3的日志分析结果,审计系统对用户informix的登录,创建表,插入行数据都给出了相应的警告提示信息,管理员用户可以很明确的做好对应的操作处理。
6 结束语
数据库安全审计机制是数据库安全机制的一种,本文根据Informix数据库管理系统自身的特点,设计并实现了具有审计数据的采集和审计数据的分析以及报警功能的Informix数据库安全审计系统,任何通过数据库引擎对数据库进行的操作都会被审计系统记录,而这些记录可用于追踪和调查非授权用户的非法操作,从而确保数据库的安全性、完整性和可用性。