基于m0n0的插件式防火墙系统开发与研究
摘 要:本文主要讲述了基于m0n0开源防火墙进行二次开发,最终构建出插件式防火墙系统,以满足中小型企业用户灵活扩展网络功能模块的实际需求。
关键词:m0n0;防火墙;插件
1.引言
目前,防火墙已经成为企业用户网络环境能否正常运行的重要网络设备之一,但是由于各种企业级防火墙高昂的价格、单一的功能、复杂的配置让很多中小型企业用户望而止步,他们由于网络环境的特殊性以及经济实力的限制,迫切需要一款价格低廉、功能强大、配置简单的防火墙,并且可以灵活扩展功能模块以满足不同场合的应用需求。因此,在m0n0开源防火墙的基础之上,开发一个配置简单、功能强大,能够灵活实现功能模块扩展的插件式防火墙系统,最终按照小区宽带、网吧、学校、宾馆等不同中小型企业网络用户的实际需求灵活 “引入”系统自身配置模块、自主开发的模块或其他第三方软件修改模块是本文的出发点所在。
2.m0n0防火墙简介
m0n0开源防火墙最初由瑞士人Manuel Kasper开发的基于X86平台的嵌入式防火墙系统,目的是构建一个简单、高效、自由、安全的嵌入式防火墙,实现使用较小成本就可以得到和昂贵的商业防火墙相同或相近的功能特性。该开源项目经过多年的发展和壮大,到目前为止全球已有数以万计的人员参与项目的开发和推广工作,防火墙已具备大部分商业防火墙的网络功能,并且越来越受到中小型企业用户的欢迎。
但由于m0n0是传统的网络层防火墙,应用层功能较弱,还有很大的扩展空间,特别是基于插件管理平台进行功能模块扩展的思想对于该开源防火墙的应用和推广有着极其重要的意义。
3.插件式防火墙的整体构成
插件式防火墙的设计是在原有防火墙的基础上,通过插件管理平台进行功能插件管理,系统整体构成如图1所示。
图1插件式防火墙系统整体构成
由于M0n0是一款开源防火墙,使用PHP语言实现了大部分程序控制功能,为防火墙的二次开发提供了良好的保障。m0n0原有的功能模块包括VPN、访问控制、NAT/PAT、日志审计、流量控制、SNMP、DHCP中继、动态DNS、上网认证、静态路由、VLAN中继等系统内置模块,通过开发插件管理平台使防火墙利用插件的方式扩展防火墙的功能模块。
防火墙的插件管理平台负责上传新开发或者修改好的功能插件模块,生成插件的独立运行空间(独立文件系统),自动进行插件程序布局和配置文件的备份,以及功能插件模块的修改和删除等操作。通过为每个插件模块生成独立运行空间使得各个插件子系统和主系统可以各自独立稳定运行。
插件模块通过三种方式实现。第一种是修改同平台FreeBSD自带的软件程序集成到本系统中,如squid是一款同平台自带的代理服务器软件,如果用户需要通过代理方式上网,而m0n0防火墙默认不支持代理,便可将squid通过插件管理平台安装到防火墙系统;第二种是修改基于同平台FreeBSD开发的第三方软件集成到本系统中,如集成企业常用的流控软件panabit;第三种是用户根据自己的实际需求自主开发功能插件模块集成到本系统中。
为了最大化保证防火墙系统自身的稳定性,引入功能模块时采用独立分区管理,即为每个新加入的系统插件新开辟一个独立的用户分区用于存放插件程序和运行过程中产生的数据,防止在功能插件出现问题的情况下影响防火墙系统的整体稳定性。
4.插件管理平台设计
插件管理平台是本防火墙系统的核心,其他功能模块通过该插件管理平台引入、管理和删除,使用该平台最大限度的实现了防火墙系统的功能模块扩展。插件管理平台的实现主要由四部分构成,如图2所示。
图2插件管理平台系统构成
4.1插件引入模块。该部分主要由PHP程序实现,通过插件管理平台的WEB界面将插件程序引入到本系统。插件程序必须按照固定格式制作,由etc配置文件、lib函数库和程序主体文件三部分组成。其中etc配置文件中的布局文件是每个插件模块的核心文件,通过它实现插件程序的文件布局和程序的引导。
4.2插件管理模块。该模块负责为新引入插件模块开辟独立运行空间,同时负责把需要卸载的插件模块删除,最终将插件程序存储在cf卡的对应目录,供系统重新引导使用。
4.3插件布局模块。将系统重启后,利用RC引导插件初始化程序,并将插件程序解压到/cf/addons下。通过执行各插件程序的初始化布局程序将各个程序文件传送到cf卡下新建的对应独立分区中,并使用mount命令将其挂载到内存的根文件系统相应目录下,最后在/usr/local/www路径下添加各自的WEB配置界面。
4.4插件程序管理模块。该模块负责通过WEB配置界面启动插件程序并进行程序自身的功能管理和启动参数设置。针对插件程序的参数配置之后,就可以启动插件程序,实现其应有的功能。
5.结论
插件式防火墙的开发与研究,为大量的中小型企业用户开展低成本网络集成和多用途网络功能扩展奠定了良好的基础。
参考文献:
[1] 魏利华.防火墙技术及其性能研究[J].能源研究与信息.2004,20(1):57-62.
[2] 郭伟.数据包过滤技术与防火墙设计[J].江汉大学学报.2001,(3):17.
下一篇:试论电子商务环境下的市场营销