LINUX环境下防火墙系统功能模块研究
2018-01-15董春华
董春华
LINUX防火墙系统的设计过程中,采用模块化设计,该设计思想相对来说易于操作、也易于后面的扩展。系统由各个模块组成,系统运行的优劣取决于各模块的性能。因此做好每一个模块的功能设计是整个防火墙良好应用的基础。下面主要阐述各模块的主要功能:
1、包过滤模块的功能:包过滤模块检测数据包,每个包有两个部分:数据部分和包头。过滤规则以用于工P顺行处理的包头信息为基础,不理会包内的正文信息内容。包头信息包括:IP源地址、IP目的地址、封装协议,TCP/UDP源端口、ICMP包类型、包输入接口和包输出接口。如果找到一个匹配,且规则允许这包,这一包则根据路由表中的信息前行。如果找到一个匹配,且规则拒绝此包,这一包则被舍弃。如果无匹配规则,一个用户配置的缺省参数将决定此包是前行还是被舍弃。
2、状态检测模块的功能:防火墙近几年才应用的新技术模块。传统的包过滤防火墙只是通过检测工P包头的相关信息来决定数据流的通过还是拒绝,而状态检测技术采用的是一种基于连接的状态检测机制,将属于同一连接的所有包作为一个整体的数据流看待,构成连接状态表,通过规则表与状态表的共同配合,对表中的各个连接状态因素加以识别。这里动态连接状态表中的记录可以是以前的通信信息,也可以是其他相关应用程序的信息,因此,与传统包过滤防火墙的静态过滤规则表相比,它具有更好的灵活性和安全性。先进的状态检测防火墙读取、分析和利用了全面的网络通信信息和通信状态。
3、地址转换模块的功能:主要实现静态网络地址转换、动态网络地址轉换、反向网络地址转换、端口重定向的功能。基本网络地址转换(Basic NAT)是一种将一组IP地址映射到另一组工P地址的技术,这对终端用户来说是透明的。网络地址端口转换是一种将群体网络地址及其对应TCP/UDP端口翻译成单个网络地址及其对应TCP/UDP端口的方法。这两种操作,即传统NAT提供了一种机制,将只有私有地址的内部领域连接到有全球唯一注册地址的外部领域。
4、身份验证模块的功能:是防火墙策略的一个不可或缺的部分。虽然规则可以应用于IP地址,但是通常仅允许访问已使用专门配置的身份验证机制对自身进行了身份验证的特定用户。身份验证对于传入请求(即来自目标的请求)和传出请求都很有意义。如果防火墙客户端所请求的内容不是HTTP,ISA服务器将确定是否配置了适用于特定用户或组的相应规则。对于传出的Web请求,应针对用户所在的特定网络配置身份验证。对于防火墙客户端,ISA服务器在建立会话时要求提供凭据。然后,当防火墙客户端请求对象时,ISA服务器并不要求客户端重新进行身份验证,因为会话已具有身份。当配置适用于用户(而不是IP地址)的访问规则时,必须至少指定一种身份验证机制,以便发出请求的用户可以真正地证明自己的身份。否则,将拒绝所有请求。可以同时在Web侦听器上使用下列身份验证机制:基本、摘要、集成以及客户端证书身份验证。选定后,RADIUS,SecurID或基于窗体的身份验证方法必须是所配置的唯一的身份验证机制。当使用HTTPS时,客户端证书身份验证是首选的身份验证机制,它优先于选定的其他任何身份验证机制。只有在客户端使用客户端证书进行身份验证失败时,才使用其他的身份验证机制。
LINUX作为一个开放源代码的操作系统,其最大的优点是可以根据自己的需要来定制,从而获得最好系统性能。因此在我们的设计中需要对LINUX内核进行改造,充分发挥系统的潜能,最大限度地提高防火墙的可用性和有效性。
以上就是我们对于各个模块设计的设想,其功能在上述分析中已有所体现。具体的功能将在后续的设计和测试中体现出来。
一、系统模块设计的基本思想
模块化设计是目前各种设计的主流思想。模块化设计,便于把一项大的复杂的工作简单化。本设计也采用这种思想来对LINUX防火墙进行设计。采用这种思想可以在大型设计任务中多人共同合作,保证各人工作的衔接有效性,提高设计效率,同时使整个系统易于管理和维护,当系统中某一部分出现问题时只需要将该部分进行拆卸和修理。
二、防火墙系统的软件设计
本文主要是根据某单位的实际情况,把防火墙系统分为Web管理模块、转换模块、内部处理模块和内核模块四个模块。如图1所示。
从上图中可以看出,本防火墙系统的程序有两个触发入口,分别是防火墙启动或重启时触发和正在运行或进行用户信息管理时触发。
三、防火墙系统的硬件设计
从前面的分析中可以看到,我们在设计LINUX防火墙时,要考虑到系统的成本,各种环境因素以及硬件的稳定性和安全性,同时在设计的过程中,还要注意尽量减少设备的体积,降低功耗。因此在设计时要做到对防火墙的配置文件的设计,磁盘的使用情况问题和注意到CPU的负载问题,对系统的应用程序、系统文件及日志进行备份和做常规性的检查,虽然并不能立刻检查到硬件防火墙可能遇到的所有问题和隐患,但持之以恒地检查对硬件防火墙稳定可靠地运行是非常重要的。同时可以用数据包扫描程序来确认硬件防火墙配置的正确与否,甚至可以更进一步地采用漏洞扫描程序来进行模拟攻击,以考核硬件防火墙的能力。设计时,把软件系统以及裁减后的LINUX核心、文件系统写入flash中,这样可以有效的避免将要执行的程序从硬盘上调入内存中再执行,从而提高了防火墙的执行效率。
参考文献:
[1]韩东海.入侵检测系统实例剖析[M].清华大学出版社,2012.
[2]刘正海.基于嵌入式LINUX防火墙的研究与实现[D].重庆工业大学硕士学位论文,2007.
[3]朱革媚.网络安全与新型防火墙技术[J].计算机工程与设计,2011(01).