在当前网络攻击方式不断变化的背景下,新出现的安全隔离技术直接阻断网络在链路层上的连接,并进行数据交换。日志是网络安全体系中的重要部分。针对一个网络隔离系统,讨论了日志管理系统的架构、设计实现方法,并在实际中得到应用。
在当今计算机网络高度发达的信息化社会,网络安全越来越受到重视,出现了各种安全措施。日志审计作为一种安全措施也受到关注。通过对日志信息的分析可以达到查找网络安全隐患,弥补安全漏洞的目的。
安全隔离技术(GAP技术)指通过专用硬件使两个彼此隔离的网络进行安全数据交换。该技术逐渐发展并被应用。在实际应用中,针对外网攻击和系统异常会产生大量日志文件,而传统的GAP设备一般由内网处理单元、隔离传输硬件、外网处理单元三个部分组成,并没有特别针对日志信息进行处理。
如果利用这些日志对其进行分析,并进行严密监控,识别入侵和入侵企图,会大大提高系统的安全性能。
1 SGAP系统整体概述安装运行Linux操作系统;隔离传输硬件与内、外网服务器之间通信通过USB外部总线连接,传输交换数据。隔离传输硬件内有一块CPU,一块存储数据用的缓存区域数据池(即一块移动硬盘);CPU对通过的摆渡数据进行安全检查和病毒扫描,这也是与传统隔离设备的区别之处,在很大程度上提高了系统的安全级别。
隔离硬件保证了内、外网之间在任何时刻都不存在直接的通路;硬件与主机之间用USB进行通信,USB总线的即插即用特性,使硬件设计大大简化。主机上安装Linux Red Hat 2.6版本的操作系统,利用其自带Iptables配置,实现防火墙功能。
SGAP系统中的代理功能由位于内网处理单元的代理存根和位于外网单元的代理引擎协同工作完成,检查应用层数据,不同代理服务的实现与具体的协议内容相关。
防火墙部分日志文件传输到专门的日志服务器端,导人数据库中,便于根据审计分析规则审记日志。
2 系统功能要求描述一个安全系统中的安全审计系统,是对系统中任一或所有安全相关事件进行记录、分析和再现。对于安全产品,美国已经有一套比较完整的CC(Common Criteria),如US GovernmentApplication Level Firewall Protection Profile for Low Risk Environ.
ments,而且国外一些大的网络安全公司也有其自己的安全指标。这些安全指标的规范化和标准化为网络安全技术的发展起到_,推动作用。
2.1 系统架构日志数据的产生由Linux系统的防火墙模块实现。并发送到专门的日志服务器。日志服务器接收到防火墙发来的日志信息后,存储在数据库中,并通过审计界面来完成审计数据查找、统计等功能。
2.2 功能模块划分根据系统功能要求描述,并参考公安部《信息安全技术日志分析产品安全要求检验规范》,日志系统设计具有以下功能:① 日志收集。只有授权的审计数据源发送的审计信息才能被系统分析处理。② 日志分析管理。能对数据源产生的日志进行实时监控,能提供基于时间、源地址、目的地址、协议类型、危险级别等字段的组合查询;能生成统计报表、支持一个常用的数据库,对数据进行备份/删除、导入/导出。③ 安全功能。
保证只有授权管理员和可信主机才有权使用产品的管理功能,具备对授权管理员和可信主机进行身份鉴别的功能。④ 审计功能。能针对网络访问行为和网络数据包进行审计。
将日志系统分为以下功能模块:
(1)用户身份验证。对登录用户进行角色划分和身份验证管理,保证系统使用安全。
(2)日志信息管理。接收日志信息模块,与防火墙进行通信,下载日志信息;日志查询模块,对日志信息进行查询、浏览;日志审订‘模块,根据审计规则对日志库中的数据进行审计;日志数据库管理模块,对日志信息进行删除、存储、备份。
(3)参数设置模块。对系统中的参数进行设置,如登录防火墙的口令、网络参数。
3 系统实现
3.1 日志格式和数据库设计目前日志服务器采用一台PC机,系统配置为:处理器Pentium m 1.67 GHz,内存1 GB,操作系统Windows Server2003。内、外网服务器中采用Linux Kernel 2.6版本,内核提供的Iptables防火墙与IP协议栈紧密结合,方便记录日志。
由于从防火墙传输过来的日志文件为文本格式,存储、检索、统计均不方便,设计将日志导人数据库中,提高效率;日志服务器安装Windows操作系统,选择使用Access数据库较为方便。
考虑到详细存储所花费的空间较大,且传输花费时问较长,日志只记录一些最主要的信息,如防火墙记载源地址(Source Address)、目的地址(Destination Address)、源端口、目的端F1、传输协议、TCP标志、数据包长度、字节数及记录时间。
3.2 日志传输与数据导入完成日志下载,最主要的有:
(1)CPreLog类。它主要定义特定段日志下载的信息。
丰要变量说明如下:Cstring m strDate//最近日志日期Cstring Ill— strLocation//最近日志结尾在日志文件中的偏移量Cstring Ill— strLocHead//最近日志开头在日志文件中的偏移量? }
(2)CLogDownDlg类。它主要负责封装日志下载的Socket通信类。