基于分布式防火墙的策略分发系统设计
2018-04-23邱洪涛
邱洪涛
摘 要 在对分布式防火墙体系结构及策略分发的实现方案研究基础上,针对分布式防火墙体系结构及协同防御架构研究中构建的新型三层分布式防火墙的体系结构中“推送”、“索取”以及“查询”的策略分发机制,本文对汇聚防火墙以及边界防火墙“查询”策略的部分给予实现。
关键词 分布式 防火墙 策略分发
中图分类号:TP393.08文献标识码:A
0引言
在对分布式防火墙策略分发的实现方案研究的基础上,针对分布式防火墙体系结构及协同防御架构研究中构建的新型三层分布式防火墙的体系结构中“推送”、“索取”以及“查询”的策略分发机制,本文对汇聚防火墙以及边界防火墙“查询”策略的部分给予实现。
1运行环境
策略控制中心管理主機:Windows2008操作系统、SQL Server 2008、Apache Web服务器、Apache SOAP工具包;终端防火墙:Redhat Linux9、Netfilter/iptables防火墙。
Netfilter是Linux网络防火墙实现的基础,它提供了一个抽象、通用化的框架。
Iptables组件是一种工具,也称为用户空间,它使插入、修改和除去数据包过滤表中的规则变得容易。通过使用用户空间,可以构建自己的定制规则,这些规则存储在内核空间的数据包过滤表filter表中。当数据包进入系统时,系统首先根据路由表决定数据包发给哪一条链。
2系统的总体设计
2.1服务器端的总体设计
服务器端包括代理层、功能层和数据层。
2.1.1代理层
代理层提供分布式防火墙管理的Web界面,管理员通过浏览器完成管理工作。管理工作具体包括:(1)组的管理,添加、修改、删除、显示组。(2)防火墙管理:添加、修改、删除、显示防火墙。(3)防火墙的配置管理,包括策略管理:在防火墙中添加、修改、删除、显示策略。(4)发布策略及发布失败处理。(5)性能监测及日志察看。(6)用户管理及登录认证。
2.1.2功能层
功能层包括身份验证模块、日志管理模块、策略制定模块、策略实施模块。
(1)身份验证模块。当防火墙端发起获取策略请求时,须首先对防火墙的身份进行验证,然后查看策略文件,决定是否允许对方的请求。身份验证模块通过系统密码、一次性密码、证书等身份验证方案来提供安全保障。主要包括:用户身份验证、客户身份验证和会话身份验证。用户身份验证可以提供Http,FTP,Telnet和Rlogin连接固有的身份验证,它直接利用了这些应用层协议内部的身份验证功能。客户身份验证可以向那些自身未提供身份验证功能的服务提供身份验证。会话身份验证可以提供对远程端点主机的身份验证,主要采用证书鉴别的形式。每种验证类型都将维护一个验证连接表,只有在连接初始化时才进行身份验证。身份验证后就可以建立连接,并将相关的连接信息写入连接表中。对于连接建立以后的过程中进行的后续分组交换,将根据源/目标IP地址及源/目标TCP/UDP端口这样的参数进行身份识别,并和连接表内某条己有连接进行匹配。
(2)日志管理模块。日志管理模块实现以下几种功能:①日志收集记录,定期从各主机收集日志文件,然后把所有文件所包含的信息导入到日志库中。②日志文件定位,实现用户自己定义条件的日志查询,查看系统的运行状况,查找异常等。③日志轮换,允许用户循环使用自己的日志文件,即用户可以关闭现有的已经较大的日志文件,换成一个新的、空日志文件。进行日志轮换的时候,当前打开的日志文件会被关闭并且另存为一个新文件,文件名由用户手工配置或自动生成,其中包括当前的日期和时间标记,以保证用户知道日志文件轮换的时间。④实现导出、清除日志文件功能,可以将当前的日志记录项导出为ASCLL格式,并删除多余的和过时的数据等。⑤阻挡连接,对日志库进行分析,如果检测到异常行为,可以阻挡未经授权的访问。可以通过添加IP黑名单、关闭主机的某项服务、关闭主机的所有网络通信、关闭网关的所有网络通信等方式实施阻挡。
(3)策略制定模块。在策略制定模块中,应根据业务的实时性变化,包括有以下功能:①策略的添加;策略的修改;策略的删除;策略的显示等;②网络对象的管理:将用户可以访问的网络资源定义为对象,这可以使系统管理员用域名、子网形式进行描述网络资源。
(4)策略实施模块。策略实施模块主要实施以下功能:①服务器端使用关系数据库SQL server保存策略信息,用XML描述的策略存入该数据库中,因此要建立XML元素到数据库表的对应关系;②需要将防火墙策略信息进行SOAP封装和编码,并发布为防火墙端可访问的SOAP服务;指定防火墙获取SOAP服务所使用的方法。
2.1.3数据层
数据层主要包括数据库管理系统。防火墙策略通过一些格式转换工具转化为XML格式的文件并映射存储到关系数据库里。
2.2防火墙端的总体设计
防火墙端包括代理层、逻辑功能层、物理功能层。
2.2.1代理层
代理层提供防火墙端管理的Web界面,管理员通过浏览器完成管理工作。管理工作具体包括:(1)从服务器端查询最新的策略信息。(2)请求和接收新的策略。(3)调用解析器将策略转成内部可识别的代码交给iptables执行。(4)策略请求及策略执行失败的处理。(5)日志查看。
2.2.2逻辑功能层
逻辑功能层为防火墙功能的逻辑实现,包括策略请求模块和策略解析两个子模块。
(1)策略请求模块。策略请求模块主要实施以下功能:①从服务器端查看最新的策略信息,以确定是否要获取新的策略。②设置策略请求的细节:创建一个远程RPC调用对象;设置远程对象的URI;设置从服务器端调用策略的方法名;设置SOAP编码的风格;创建URL对象;发送SOAP PRPC请求的具体操作等。
(2)策略解析子模块。策略解析子模块主要负责调用解析器将策略转成内部可识别的代码交给下层的iptables执行。本文采用DOM接口将描述防火墙策略规则的XML对象转换成LINUX下的可执行脚本。
2.2.3物理功能层
物理功能层为防火墙功能的真正实现。本文采用Netfilter/iptables作为客户端的策略执行组件。iptables接收进入系统的数据包,对每一个数据包,遍历防火墙规则库,寻找有无与之符合的规则。对匹配的包进行的处理可有以下几种:丢弃、拒绝、转发、跳到其他链、进行时间限制、放入队列中等待用户空间的程序进行处理、记入日志等。
前述服务器/防火墙端体系结构有以下特性:(1)使用相同的语言描述策略,提供一致的界面,减轻管理员的管理难度。(2)防火墙无论是独立使用还是在分布式环境中使用,用户看到的是同样的界面。(3)防火墙的逻辑实现和物理实现分开,代码可以重用,降低产品开发的工作量。这样的服务器、防火墙端体系结构在用统一的语言描述信息时,可以使分布式防火墙管理系统的开发与具体的防火墙系统开发分开,易于与分布式入侵检测集成实现网络动态防护,易于与网络管理系统集成。
3小结
本文设计了基于分布式防火墙策略发布系统,详细描述了服务器端和防火墙端的体系结构及各子功能模块,并对此系统的关键技术进行了实现,论证了基于分布式防火墙策略分发方案的技术可行性。
参考文献
[1] 杨楚华.防火墙体系结构研究[J].软件导刊,2007.
[2] 杨楚华.分布式防火墙体系结构及协同防御架构研究[D].武汉:湖北工业大学,2008.