Linux防火墙技术的研究 下载本文

内容发布更新时间 : 2024/5/19 17:56:58星期一 下面是文章的全部内容请认真阅读。

龙源期刊网 http://www.qikan.com.cn

Linux防火墙技术的研究

作者:朱 亮

来源:《电脑知识与技术·学术交流》2008年第08期

摘要:网络的安全性日益重要,防火墙技术也越来越受到人们的关注。本文详细介绍了防火墙的原理,讨论了基于iptables/netfilter框架的Linux操作系统防火墙的实现,并结合具体情况说明了iptables命令的使用方法。

关键词:防火墙;linux;iptables;netfilter

中图法分类号:TP309文献标识码:A文章编号:1009-3044(2008)08-10ppp-0c

随着网络的开放性、共享性和互连程度扩大,特别是Internet的发展,网络的重要性和对社会的影响也越来越大。随着网络上各种新兴业务的兴起,比如电子商务、电子现金、数字货币网络银行等,以及各种专用网的建设,比如金融网等,使得安全问题显得越来越重要。因此网络安全成了数据通信领域研究和发展的一个重要方向,对网络安全技术的研究成了现在计算机和通信领域的一个热点。而防火墙技术是针对网络安全特点而建立的防范措施。而LINUX操作系统不仅具有开放源代码的巨大优势,而且能适用于多种CPU和硬件平台,性能稳定,非常适合作为一些嵌入式防火墙设备的操作系统,因此,研究基于LINUX的防火墙技术具有重要的意义。

1 防火墙原理

1.1 防火墙的概念和工作原理

防火墙技术是目前各种网络安全解决方案中常用的技术,它通过控制和检测网络之间的信息交换和访问行为来实现对网络的安全管理。防火墙技术作为目前用来实现网络安全措施的一种主要手段,它主要是用来拒绝未经授权的用户访问,阻止未经授权的用户存取敏感数据,同时允许合法用户不受阻碍地访问网络资源,从总体上看,防火墙应具有以下五大基本功能: 过滤进出网络的数据包。 管理进出网络的访问行为。

龙源期刊网 http://www.qikan.com.cn

封堵某些禁止的访问行为。 记录通过防火墙的信息内容和活动。 对网络攻击进行检测和告警。

为实现以上功能,在防火墙产品的开发中,人们要应用网络拓扑技术、计算机操作系统技术、路由技术、加密技术、访问控制技术、安全审计技术等成熟或先进的技术手段。其工作原理是:按照事先规定好的配置与规则,监测并过滤通过防火墙的数据流,只允许授权的或者符合规则的数据通过。防火墙应该能够记录有关连接的信息、服务器或主机间的数据流量以及任何试图通过防火墙的非法访问记录。同时、防火墙自身也应具备较高的抗攻击性能。 1.2 防火墙的分类

按照防火墙对内外来往数据的处理方法,大致可以将防火墙分为两大体系:包过滤防火墙和代理防火墙(应用层网关防火墙)。前者以以色列的Checkpoint防火墙和Cisco公司的PIX防火墙为代表,后者以美国NAI公司的Gauntlet防火墙为代表。

表1 两种防火墙的比较

包过滤防火墙分为静态和动态。静态包过滤防火墙根据定义好的过滤规则审查每个数据包。以便确定其是否与某一条包过滤规则匹配。过滤规则基于数据包的报头信息进行制b},报头信息中包括IP源地址、IP目标地址、传输协议(TCP, UDP, ICMP等等)、TCP/UDP目标

龙源期刊网 http://www.qikan.com.cn

端口, ICMP消息类型等,包过滤类型的防火墙要遵循的一条基本原则是“最小特权原则”,即明确允许那些管理员希望通过的数据包,禁止其他的数据包。动态包过滤防火墙采用动态设置包过滤规则的方法,避免了静态包过滤所具有的问题。这种技术后来发展成为所谓包状态监测技术。采用这种技术的防火墙对通过其建立的每一个连接都进行跟踪,并且根据需要可动态地在过滤规则中增加或更新条目。

代理防火墙也叫应用层网关(Application Gateway)防火墙。这种防火墙通过一种代理(Proxy)技术参与到一个TCP连接的全过程。从内部发出的数据包经过这样的防火墙处理后,就好像是源于防火墙外部网卡一样,从而可以达到隐藏内部网结构的作用。这种类型的防火墙被网络安全专家和媒体公认为是最安全的防火墙。代理类型防火墙的最突出的优点就是安全。由于每一个内外网络之间的连接都要通过Proxy的介入和转换,通过专门为特定的服务如Http编写的安全化的应用程序进行处理,然后由防火墙本身提交请求和应答,没有给内外网络的计算机以任何直接会话的机会,从而避免了入侵者使用数据驱动类型的攻击方式入侵内部网。 自适应代理技术(Adaptive proxy)是最近在商业应用防火墙中实现的一种革命性的技术。它可以结合代理类型防火墙的安全性和包过滤防火墙的高速度等优点,在毫不损失安全性的基础之上将代理型防火墙的性能提高10倍以上。组成这种类型防火墙的基本要素有两个:自适应代理服务器 (Adaptive Proxy Server)与动态包过滤器 (Dynamic Packet filter)。

在自适应代理与动态包过滤器之间存在一个控制通道。在对防火墙进行配置时,用户仅仅将所需要的服务类型、安全级别等信息通过相应Proxy的管理界面进行设置就可以了。然后,自适应代理就可以根据用户的配置信息,决定是使用代理服务从应用层代理请求还是从网络层转发包。如果是后者,它将动态地通知包过滤器增减过滤规则,满足用户对速度和安全性的双重要求。

2 linux防火墙的实现

2.1 linux 防火墙简介

Linux最初从2.0内核的ipfwadm开始具备了基本的包过滤功能。ipfwadm能透过IP据包头的分析,分辨出数据包的来源IP与目的地IP、数据包类型、来源端口号与目的端口号、数据包流向、数据包进入防火墙的网卡界面等,并依此分析结果来对比规则进行数据包过滤,同时也支持IP伪装的功能,利用这个功能可以解决IP不足的问题,但是这些程序缺乏弹性设计,用户无法自行建立规则组合(rule set)作更精简的设定,同时也缺乏网址转换功能,无法应付越来越复杂的网络环境,已经逐渐被淘汰。随后取而代之的是ipchains。Ipchains不但指令语法更容易理解,功能也较ipfwadm优越:ipchain允许自订规则组合(rule set),称之为user-define chains,可以将彼此相关的规则组合在一起,在需要的时候跳到该组规则进行过滤,有