在众多的网络防火墙产品中,Linux操作系统上的防火墙软件特点显著,小编整理了linux防火墙技术论文,有兴趣的亲可以来阅读一下!
linux防火墙技术论文篇一
Linux系统的防火墙技术设计和实现
[摘 要]在计算机网络技术飞速发展的今天,网络安全问题日益突出,防火墙技术也越来越受到人们的关注。在众多的网络防火墙产品中,Linux操作系统上的防火墙软件特点显著,这些优势是其他防火墙产品不可比拟的。选用这类软件确实是最低硬件需求的可靠、高效的解决方案。但用户最关心的还是安全系统的性能,有关部门根据网络安全调查和分析曾得出结论:网络上的安全漏洞和隐患绝大部分是因网络设置不当引起的。Linux防火墙由以前的ipchains到如今的iptables,功能日渐强大和完善。iptables以filter的三个链处理input、output和forward数据包。通过对INPUT链、OUTPUT链以及FORWARD链上规则的添加和应用来实现ALG防火墙,达到对网络的保护和限制的目的。
[关键词]Linux 防火墙 iptables
中图分类号:TD956.2 文献标识码:A 文章编号:1009-914X(2014)10-0027-01
Based on Linux system design and realization of the firewall
[Abstract]Network security issues have become increasingly prominent in the rapid development of computer network technology, firewall technology, more and more people pay attention.Firewall software on the Linux operating system features significantly in many network firewall products, these advantages unmatched by other firewall products. The selection of this type of software is indeed reliable and efficient solutions for the minimum hardware requirements. But users are most concerned about is the performance of the security system, the relevant departments according to the survey and analysis of network security has concluded: network security vulnerabilities and hidden mostly caused due to improper network settings. Linux firewall by the previous ipchains iptables, now function increasingly powerful and perfect. iptables to filter three chain processing input, output and forward packets. ALG firewall the adding and application of the rules on the INPUT chain, OUTPUT chain FORWARD chain, to achieve the purpose of network protection and restrictions.
[Key words]Linux firewall iptables
一、Linux操作系统
1.1 Linux系统简介
Linux是一种自由和开放源码的类Unix操作系统,Linux有许多不同的版本,但它们都使用了Linux内核。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。
1.2 Linux防火墙配置命令简介
1.2.1 概述
Linux防火墙通过使用iptables系统提供的特殊命令建立这些规则,并将其添加到内核空间特定信息包过滤表内的链中。
1.2.2 表(table)
[-t table]选项允许使用标准表之外的任何一个表。表只包含一个特定类型的包处理规则和链的包过滤表。
1.2.3 命令(command)
命令的部分最重要的部分是iptables命令。它告诉iptables命令去做什么。
1.3 netfilter/iptables组件
1.3.1 简介
netfilter/iptables IP 信息包过滤系统是一种功能强大的工具,可用于添加、编辑和除去规则,这些规则是在做信息包过滤决定时,防火墙所遵循和组成的规则。
1.3.2 功能
Linux的防火墙是由netfilter和iptables两个组件构成。netfilter组件也称为内核空间(kernelspace),iptables 组件称为用户空间(userspace),通过iptables执行命令或者修改配置文件来设置规则,netfilter接收指令和读取配置文件来使这些规则生效。
1.3.3 工作方式
Netfilter组件由数据包过滤表组成,用来控制数据包过滤处理的规则集。
Iptables组件它可以更容易插入、修改和删除数据信息包过滤表中的规则。(见图1)
二、防火墙技术
2.1 防火墙的定义
防火墙指的是一个由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的界面上构造的保护屏障。
2.2 防火墙的种类
不同的防火墙其运用的技术不同,总的来说分以下几类:1 .包过滤防火墙;2.应用网关防火墙;3. 状态检测防火墙;4. 复合型防火墙。
三、防火墙的设计
3.1 设计思路
对于连接到网络上的 Linux 系统来说,防火墙是必不可少的防御机制,它只允许合法的网络流量进出系统,而禁止其它任何网络流量。
3.2 配置规则
一个LINUX防火墙系统需要一个合理的、高效的并且简单的安全机制,而安全机制通常是通过Input、Output、Forward这三条“防火链”来实现。
四、结束语
netfilter/iptables 的最大优点是它可以配置有状态的防火墙,这是 ipfwadm 和 ipchains 等以前的工具都无法提供的一种重要功能。netfilter/iptables 的另一个重要优点是,它使用户可以完全控制防火墙配置和信息包过滤。另外,netfilter/iptables 是免费的,这对于那些想要节省费用的人来说十分理想,它可以代替昂贵的防火墙解决方案。
参考文献
[1] Robert L.Ziegler,《Linux防火墙》人民邮电出版社,2000.10.
[2] W.Richard Stevens,《TCP/IP详解 卷一:协议》机械工业出版社,2000.4.1.
[3] 中国计算机报 出版日期:2001-09-27 总期号:1058 本年期号:73 看安全策略定防火墙.
[4] 《卡饭月刊》第32期(2011.11) 关于防火墙规则.
[5] 防火墙 .
[6] 防火墙的工作原理及比较 360论坛网络专 .
linux防火墙技术论文篇二
基于透明模式的Linux防火墙设计
摘要:随着计算机技术、通信技术和网络技术的发展,网络已经逐渐应用到比如办公网络化、网上资源共享等人们工作生活的各个方面。随着网络的大规模的应用,网络资源共享性提高,其安全性成为目前人们研究的重点课题。本文详细的介绍了linux系统中防火墙设计技术——透明模式技术。基于透明模式的防火墙可以进行转换内外网地址,以便屏蔽内部网段的访问细节,同时还可以使防火墙的服务器端口进行隐藏,使其无法被探测到,这样就极大的提高了防火墙的坑攻击性,加强了网络的安全性。
关键词:linux系统;网络安全;透明模式;防火墙设计
中图分类号:TP311.52文献标识码:A文章编号:1007-9599 (2012) 07-0000-02
一、引言
随着计算机技术、网络技术和现代通信技术的发展,信息安全成为众多科学工作者的研究重点。Linux系统作为一个开放的网络网络操作系统,被广泛的应用于教育、金融和政府企业网中,在应用过程中,防火墙技术越来越多的被应用于专用网络,和公用网络的互联环境中,因此,linux系统的防火墙设计大大的影响人们办公的利于弊。防火墙集成了计算机的硬件和软件,位于两个或者多个网段之间,能够实施对网络资源的访问控制,在任何两个或者多个网络之间,按照一定的安全策略实施数据包的安全检测,判断各个网络之间的通信能否被许可,时刻监视网络的运行现状。
本文基于作者多年的研究和实践经验,详细的描述了linux2.4系统内核中,防火墙设计的相关技术,比如数据包过滤、Netfilter/Iptables架构、透明模式等,并基于这些技术针对linux防火墙进行了设计[1],详细的探讨了防火墙控制系统的设计,以便为人们在使用linux系统时,设计防火墙提供参考。
二、背景技术
(一)Linux系统简介
Linux是一种自由的和开放源码的类Unix操作系统,其得名于计算机业余爱好者Linus Torvalds。当前存在着许多不同的linux系统版本,比如大家众所周知的linux2.2和linux2.4系列。虽然他们的产生时间和版本不同,但是它们都使用了linux内核,严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux可以安装在各种计算机硬件设备中,比如从平板电脑、手机、路由器和视频游戏控制台,到台式计算机、大型机和超级计算机。Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。
(二)Linux系统的数据包过滤
对于Linux系统的防火墙设计与实现[2]来讲,为了能够判定网中的流通的数据包等是否合法,需要有网络安全人员或者是系统管理员制定一组详细的网络通信规则,这组规则具有一个中心控制点,使用该组规则能够检测网络中的数据包并且能够流出合法的数据包信息,使系统不受损害。包过滤是防火墙设计过程中使用的一种必备技术,因为网络流量是是由网络中的IP数据包有机形成,网络流量凭靠流的形式展现在网络中,并且从系统的发送端经过网络留到接收端。形成网络流量的IP数据包包括两个部分,其分别是包头和数据,其中包头里含有接收数据的目的地址、数据来源的源地址以及数据包传输过程中采用的某种传输协议类型等信息,因此Linux防火墙系统就可以根据防火墙设置的相应的安全检查规则严格的检查这些数据包中的包头和数据,这样就能够确定网络中流通的数据包是否合法,接收端是否接授被检测到的IP数据包,还是拒绝流过的IP数据包,这个过程我们就称之为IP数据包过滤[3]。
(三)Netfilter/Iptables架构分析
在Linux2.4系统的内核中,其提供了一个非常强大的防火墙工具——Netfilter/Iptables组件,该工具使用起来非常灵活,并且功能十分强大,其使用控制规则对网络中流入和流出的数据包信息进行非常细化的控制。Netfilter/Iptables组件基于信息包过滤表(tables)有机组成,该过滤表包含了控制网段中数据包处理的一些规则集(rules)。IP数据包根据规则集中包含的包过滤类型,将这些规则放入链(chains)中,同时规定Linux系统2.4内核对来网络中流入流出的数据包进行处置。Netfilter/Iptables组件的工作原理以及其结构组成如下所述[4]。
1. Netfilter/Iptables的工作原理简述。在Linux2.4系统内核中,Netfilter/Iptables是Linux系统发展过程中的第4代包过滤防火墙系统[5],该系统仅仅可以用来扩展网络服务,并没有具体实现包过滤的程序,是一个包过滤系统的结构化底层开发框架。Netfilter/Iptables框架共包含三个组成部分:一是为各种网络协议定义的一些相关的钩子函数,比如为IPV4定义了五个钩子函数,这些函数可以在网络中数据包经过某些协议栈的关键点时被用来调用;二是linux2.4内核的每一个模块都可以针对各种协议一个或者是很多个钩子进行注册,以便实现挂接;三是用来传递给用户的数据包,其在排队的数据包中使用异步处理的方法。
2. IPv4中Netfilter/Iptables的结构简述。Netfilter/Iptables提供了三个基本的功能表[6]:网络地址转换表(NAT) 、数据包过滤表(filter)和数据包处理表(mangle)。其中每个表又通常由若干链构成,一个链既是许多规则中的一个过滤清单,根据过滤规则能够处理的数据包的类型,将其分组到各个链中。其工作过程是如果一个网络中流通的IP数据包与某一规则相匹配,防火墙就允许该包通过,既是接受该数据包;否则,就丢球或者拒绝接受该数据包,通过这些功能就可以防止非法数据流通,以便保护网络系统的安全。
3. Netfilter/Iptables的内置规则。Netfilter/Iptables可以通过读取在网络中流入和流出的IP数据包的头部,分析其具体信息,然后就和规则集相比较,这样就可以确定IP数据包是接受转发还是拒绝接受,对于被拒绝的IP数据包,Netfilter/Iptables内置规则集默认丢弃或者按照某种定义的动作来处理数据包。在linux2.4内核中,其建立了三个Iptables,其中Filter包含input、output以及forward链,该Iptable的主要作用是用来过滤一般的IP数据包,;Nat包含prerouting、output和postrouting链,其作用是用来转发IP数据包;Mangle包括prerouting和output链,其可以使用一些规则记录用于高级路由的IP数据包。
三、Linux透明模式防火墙实现
(一)透明模式的结构和优点
在人们上网等过程中,由于计算机系统中安装了防火墙,导致网速变慢,给人们带来了各种不方便,比如无法登录某些被限制的有用网站,网速变慢等问题,为了解决防火墙带来的这种弊端,在本文中linux系统防火墙的实现过程中,我们采用了新颖的Iptables+Squid透明模式,用于设计和实现防火墙[7]的功能。在基于透明模式防火墙网络系统中,数据访问流程如下:用户与代理服务器进行对话,然后接受客户的请求,与真实的服务器相连接,然后请求得到响应数据并将其反馈给用户。使用透明模式的防火墙可以解决很多问题,比如网络速度慢和IP地址紧缺等。在防火墙的实现规则设置中,基于透明模式的防火墙系统采用了比包过滤较深层次的数据包检查策略,网络的内部用户如果在访问外网数据时,基于透明模式的访问方式无需进行服务器代理设置,就能够使用户与外界资源直接进行高速的通信,大大的减少了用户上网的时间,加快了网络访问的速度。另外,采用透明模式的防火墙系统,可以很方便的进行内网和外网地址转换,屏蔽内部网络的访问细节信息,使得防火墙的服务器端口被系统隐藏,使其无法潜在的攻击者所探测到,就能够大大的提高网络的安全性,减少被黑客攻击的几率。
(二)基于Iptables+Squid实现透明模式
Squid是一个代理服务器软件[8],其通常在Unix/Linux系统下工作并且能够支持许多种协议,该软件能够缓存我们网络上使用的数据,也即是当服务器软件使用Squid之后,服务器内存中就会建立一个哈希表,也称为散列表,该哈希表用来保存在硬盘中的缓存目录的配置状态。如果网络上用户发出代理请求时,Squid接收用户的请求并且下载申请,然后自动的处理其所下载的请求数据信息。Squid可以构造非常复杂的代理访问控制结构,能够提供多种访问控制策略,并且能够节省很多网络带宽,其具有系统运行稳定,运行效率高,响应及时等十分强大的功能。
四、 Linux防火墙访问控制系统设计与实现
在linux系统防火墙设计与实现过程中,访问控制系统的设计是非常关键的,访问控制系统设计的好坏,直接影响防火墙的功能是否健全,性能是否优越,以及其他非功能性约束。
(一)访问控制系统的设计思想和功能
本文所设计的访问控制系统基于透明模式技术。该模式与普通模式相比较,具有配置简单灵活、适用范围广等许多优点。在linux系统内核下,基于iptables+squid实现透明模式技术[9],因此该防火墙具有一定的包过滤功能。由于Linux系统内核防火墙设计过程中,其包过滤机制存在一定的局限性,存在着缺陷,比如过滤能力非常有限。如果网络内部的用户向代理服务器发出访问请求时,使用某些具有隐蔽性的技术和手段,这样就可以使得数据包无需通过iptables+Squid就能够访问外部的网络,防火墙系统的检测机制的作用就会被降低,为了解决上面的问题,在本文中,笔者基于多年的实践经验,基于透明模式,设计并提出了一种新颖的内部用户访问控制系统,这种系统的设计和实现思想如下:系统根据网络内部的用户发出的数据信息,让防火墙系统的服务器抓取该数据信息中的IP数据包的头部,详细的按照访问控制规则对其进行分析,根据iptables定义的防火墙规则链检测数据包是否合法;另外在服务器的另一个端口时刻侦听已经流出去的数据信息,通过反馈信息对其进行检测过滤,与此同时,服务器还要对已经流出去的相应请求数据包进行日志登记,在防火墙系统的控制管理过程中,我们可以查看过长的数据信息或者是过快的一连串的异常数据请求行为,以便从中发现可疑现象。
因此,综上所述,本文中所设计和实现的防火墙访问控制系统的主要功能主要由以下几个方面共同组成:
1.适用范围广泛,可用于各种网络应用协议;2.禁止内部用户越过防火墙非法访问;3.根据对数据包头部的分析,实现动态包过滤功能,加强了系统的性能和安全性;4.系统提供日志审计,以便记录系统访问、系统管理及针对安全策略的网络访问情况。
(二)访问控制系统的实现
1.防火墙规则初始化:启动forward功能;配置缺省原则;设置nat规则;设置内外网连接规则;设置icmp规则;设置透明模式。
2.侦听数据包:访问控制系统能够在任何时刻监听是否有发往Squid的数据包信息的访问请求,使用的侦听数据包技术主要可以采用基于客户机与服务器分布式通信技术来实现。在客户机与服务器分布式的通信过程中,访问控制系统就可以通过Socket截获或者抓却客户机发送给服务器的数据包,另外基于该种技术,访问控制系统可以同时将多个Socket连入同一个端口,这样就可以使得所有的客户机均可以用统一的通信前端与服务器进行通信。
3.数据包截获和分析:该模块从接收到的数据包中提取出来IP数据包的头部信息,对其进行分析,并从数据包提取所需要的信息。
4.访问控制管理:访问控制管理是该控制系统设计过程中最为关键的一个部分,当经过数据包分析之后,可以认证用户身份,然后通过对内核防火墙过滤规则的操作来实现对用户的访问控制。访问控制管理模块生成一个shell脚本的start文件,该文件可以用来创建一个基础的iptables规则,并且初始化input、output及forward链,同时为每一个服务创建一个对应的防火链,并在forward链中添加规则,将相应服务端口的请求转发给服务链。访问控制管理模块同时定义了所有服务对应的TCP/UDP端口及服务种类。
五、结束语
总而言之,随着网络资源使用的方便程度越来越多,使用网络的人必将迅速增加,如何保证网络信息安全成为许多研究者的工作重点。本文利用Linux内核防火墙中的包过滤机制iptables和代理服务器软件squid实现了透明模式的防火墙,其具有置简单灵活、适用范围广等许多优点,并且提出了解决系统内部用户访问的安全性问题,为linux系统防火墙设计引入了新的理念。随着信息安全技术的发展,linux防火墙设计也必将产生更多的有效设计原理和方法,以保证网络应用环境的安全。
参考文献:
[1]周晓梅.Linux内核防火墙及其应用[J].网络安全技术与应用,2007(06)
[2]郑超,高学全,张建勋.基于Linux防火墙的局域网安全环境设计与实现[J].科学技术与工程,2008(11)
[3]秦涛.在LINUX下使用Iptables作为防火墙研究[J].内蒙古电大学刊,2009(01)
[4]郑超,张建勋.Linux防火墙Netfilter-iptables扩展机制及应用研究[J].计算机与数字工程,2009(06)
[5]朱萍.基于透明代理的Linux防火墙的设计与实现[J].合肥工业大学学报(自然科学版),2007(05)
[6]刘军,郑传波,张凯.基于数据包过滤和透明代理相结合的防网络攻击[J].计算机工程与设计,2005(05)
[7]宛钺.基于iptables的Linux防火墙的配置和实现[J].沈阳航空工业学院学报,2008(02)
[8]潘贤.Linux内核中Netfilter/Iptables防火墙的技术分析[J].计算机安全,2008(08)
[9]刘建峰,潘军,李祥和.Linux防火墙内核中Netfilter和Iptables的分析[J].微计算机信息,2006(03)