实现虚拟防火墙多用户教学实验的方法 【技术领域】
本发明涉及用于网络安全技术领域。具体是一种实现虚拟防火墙多用户教学实验的方法。
背景技术
防火墙技术是目前应用范围最广、最容易被客户接受的网络安全防护手段之一,是网络安全的第一道闸门。实践证明,通过构建防火墙系统以保护一个机构的网络安全,是较为便捷和行之有效的方法。因为防火墙可将内部可信区域与外部危险区域有效隔离,集中管理和控制网络的安全策略及信息流动,尽可能地对外部屏蔽网络内部的信息、结构和运行状况,阻止不可预测的、潜在破坏性的侵入,以此来实现网络的安全保护。
传统的用户安全措施是分布式的,必须在每个服务器网段安装单独的防火墙,这样既造成资源的严重浪费、占用大量机架空间,而且灵活性差、不便于集中管理和控制。通常情况下,市面上的防火墙产品是基于实际应用网络的需求研制的,不允许多用户同时修改配置,也不能为不同用户保存各自的配置,尤其不适合开展防火墙技术地教学实验。
经检索,Netscreen公司2000年推出的业界著名的千兆级防火墙产品Netscreen-1000,虽然能为用户提供多达100个虚拟的防火墙,给每个用户分配一个虚拟系统并由用户自己管理,但由于其技术保密性,不便于灵活进行内部模块的功能验证以及开展有关防火墙技术的教学实验。在进一步的检索中,尚未发现与本发明主题相同或者类似的文献报道。
【发明内容】
本发明的目的在于克服现有商业防火墙产品价格昂贵、技术保密等局限性,提出一种实现虚拟防火墙多用户教学实验的方法,使其达到多用户共用一台防火墙同时独立地开展防火墙教学实验的目的,灵活性好,便于进行集中管理和控制。
本发明是通过以下技术方案实现的,本发明采用防火墙过滤规则和应用代理规则的转换方法,将一台防火墙虚拟成多台防火墙并分配给各实验小组。各实验小组预先分配不同的网段和配置文件,防火墙记录该小组在实验中的规则配置。通过截取各小组配置文件中的规则,进行必要的分析处理后再写入防火墙核心规则表并生效。各小组从浏览器操作的防火墙规则只是本组对应的配置文件中的规则,在他们看来,其所有规则都是有效的,而防火墙核心规则表对他们不可见。各组可单独配置策略、管理账户信息和进行日志审计,开展实验,而且实验结果相互独立。基于该方法设计的虚拟防火墙教学实验系统可以很好地解决网络安全问题日益严重、防火墙等网络安全技术进一步发展,而教学实践环节却缺乏相应教学实验的矛盾。
以下对本发明方法作进一步的限定:
防火墙在各实验小组登录时记录该组的IP地址和网络掩码,自动生成各组缺省的过滤规则表和应用代理规则表配置文件。在实验小组修改规则时,结果存入其对应的配置文件,配置文件的规则经过转换写入防火墙核心规则表才能生效。
假设本组地址为IP1/MASK1;某条规则中的源地址或目的地址为IP2/MASK2(其中IP1和IP2均为2进制表示,MASK1和MASK2为掩码长度)。根据此组的子网地址对各条规则的源地址和目的地址进行转换。
①如果MASK1为0,说明只有一个小组,该组的所有规则就是防火墙的规则,并跳过后续步骤;
②如果MASK2为0,则直接将IP1/MASK1作为此条规则的源地址或目的地址,并跳过后续步骤;
③定义MAX=max(MASK1,MASK2),MIN=min(MASK1,MASK2);
④将IP1和IP2的高MIN位进行异或运算,如果结果的任何一位为1,则说明IP1/MASK1和IP2/MASK2的交集为0;
⑤如果步骤④中异或的结果为0,则取MASK=MAX的那组IP/MASK作为此条规则的源地址或目的地址。
然后将这些规则综合起来写入防火墙核心规则表。每个小组从浏览器操作的防火墙规则只是本组对应的配置文件中的规则,在他们看来,其所有规则都是有效的,他们操作的是一台独立的防火墙主机,而防火墙核心规则表对他们不可见。这正是虚拟防火墙系统的特点。
本发明的效果是显著的,使用该方法设计的虚拟防火墙多用户教学实验系统完全拥有现今通用防火墙的三大技术:包过滤、状态检测和应用代理,它独有的对教学实验的强力支持是商业防火墙所欠缺的,而且这种支持具备良好的可扩展性。使用本发明进行防火墙的教学实验,多用户可以同时操作,更无需购买昂贵的商业防火墙产品,具有很好的推广前景。
【附图说明】
图1是基于本发明的教学实验系统的结构图。
图2是基于本发明的教学实验系统的系统准备流程图。
图3是基于本发明的教学实验系统的工作流程图。
【具体实施方式】
结合附图和本发明方法的内容提供以下实施例。基于本发明方法开发的虚拟防火墙多用户教学实验系统采用浏览器/服务端(B/S)结构,利用JSP编程技术。支持当前防火墙三大主要技术;支持至少100个虚拟防火墙的集中管理和执行,各组学生可同时在一台防火墙上完成相同的教学实验。具体实施内容如下:
1.防火墙主机采用x86架构机器,安装三块网卡,配置多个不同子网的IP地址,安装Linux操作系统,并安装相应的防火墙包过滤软件IPTABLES、应用代理软件TIS FWTK及JSP服务端软件Jakarta Tomcat,还有核心部分即自主开发的虚拟防火墙多用户实验系统服务端软件。服务端系统软件可以读取防火墙的网络配置信息,包括主机名、网卡数量、系统默认网关、DNS配置、路由信息,以及每块网卡的MAC地址、IP地址、子网掩码等;支持通过浏览器远程修改网络配置;并且支持为实现项目组之间的连通而必须做的NAT(网络地址转换)配置。
2.教师登录进行系统设置和实验模块的开放,如本次实验的实验目的、实验要求、实验注意事项、实验步骤等。
3.学生分成多组开展实验,登录系统看到教师对本次实验的各项要求。系统使用发明内容中的步骤完成各小组规则的转换,使各小组可独立使用防火墙完成实验。
假设某客户端IP为192.168.1.4,防火墙教学实验系统服务端提取出网络地址部分192.168.1。
增加一条包过滤规则时,系统根据客户端提交的信息,将规则写入其配置文件。例如,在内-外网方向增加一条防火墙规则,则系统将这条规则写入配置文件192.168.1.outin.fw中,增加到的位置由客户端所提交的信息决定。另外三个方向(外网-DMZ方向、内网-DMZ方向、内网之间)的配置文件分别为192.168.1.outdmz.fw、192.168.1.indmz.fw、192.168.1.inin.fw。然后防火墙系统分析此fw配置文件,读取出所有的规则,对于每条规则按照发明内容中所述步骤处理;再写入192.168.1.outin.fw.chg文件中;将所有chg结尾的配置文件中的规则应用到操作系统防火墙核心规则表中。
显示包过滤规则时,根据客户端网络地址(192.168.1),读取所有192.168.1.*.fw文件中的规则,并在相应方向的表中按文件中读到的顺序显示用户所配置的防火墙规则,这样就保证了客户端看到的规则和其写入的规则一样,也体现了虚拟防火墙系统的特点。
删除包过滤规则时,根据所选择的要删除的规则序号,系统删除192.168.1.*.fw中相应序号的规则,然后删除对应的chg文件中的规则,系统重新将所有chg中规则写入allrules中,重新应用到操作系统防火墙核心规则表中。成功完成后将重新显示包过滤规则。
删除所有规则时,系统清除所有配置文件的规则,同时清空系统防火墙核心规则表中的规则。
4.实验完成后,系统自动将学生的实验结果保存下来,并可以自动生成实验报告,教师可登录系统查看任何学生的实验结果及报告。
系统准备流程如图2。在防火墙服务端配置网络,依次启动网络地址转换、Apache、Tomcat;在DMZ区服务端配置网络,开启WEB服务和FTP服务;在客户端配置网络,测试与防火墙、外网以及与DMZ区服务器的连接。
系统工作流程如图3。在客户端打开浏览器,输入防火墙IP地址,然后登录系统。清除防火墙其他规则并进行规则配置前的测试,记录测试结果。用户在理解实验要求后配置规则,使规则生效并再次进行测试和结果记录;比较配置前后两次结果的不同之处,理解所涉及的防火墙技术。如果实验未完成则继续,否则保存结果,退出系统。
本发明可克服使用现有商业防火墙产品进行实验灵活性差和技术保密等局限,在不同情况下根据要求做相应的调整,以满足不同模式的教学实验,取得了很好的效果。