基于Linux系统的包过滤防火墙
来源:asp之家 发布时间:2009-09-19 20:21:00
包过滤防火墙是用一个软件查看所流经的数据包的包头(header),由此决定整个包的命运。它可能会决定丢弃(DROP)这个包,可能会接受(ACCEPT)这个包(让这个包通过),也可能执行其它更复杂的动作。
第1 章、基于路由器的包过滤防火墙
1.1 包过滤防火墙的一般概念
1.1.1 什么是包过滤防火墙
包过滤防火墙是用一个软件查看所流经的数据包的包头(header),由此决定整个包的命运。它可能会决定丢弃(DROP)这个包,可能会接受(ACCEPT)这个包(让这个包通过),也可能执行其它更复杂的动作。
在Linux系统下,包过滤功能是内建于核心的(作为一个核心模块,或者直接内建),同时还有一些可以运用于数据包之上的技巧,不过最常用的依然是查看包头以决定包的命运。
1.1.2 包过滤防火墙的工作层次
包过滤是一种内置于Linux内核路由功能之上的防火墙类型,其防火墙工作在网络层。
1.1.3 包过滤防火墙的工作原理
(1)使用过滤器。数据包过滤用在内部主机和外部主机之间,过滤系统是一台路由器或是一台主机。过滤系统根据过滤规则来决定是否让数据包通过。用于过滤数据包的路由器被称为过滤路由器。
数据包过滤是通过对数据包的IP头和TCP头或UDP头的检查来实现的,主要信息有:
* IP源地址
* IP目标地址
* 协议(TCP包、UDP包和ICMP包)
* TCP或UDP包的源端口
* TCP或UDP包的目标端口
* ICMP消息类型
* TCP包头中的ACK位
* 数据包到达的端口
* 数据包出去的端口
在TCP/IP中,存在着一些标准的服务端口号,例如,HTTP的端口号为80。通过屏蔽特定的端口可以禁止特定的服务。包过滤系统可以阻塞内部主机和外部主机或另外一个网络之间的连接,例如,可以阻塞一些被视为是有敌意的或不可信的主机或网络连接到内部网络中。
(2)过滤器的实现。数据包过滤一般使用过滤路由器来实现,这种路由器与普通的路由器有所不同。
普通的路由器只检查数据包的目标地址,并选择一个达到目的地址的最佳路径。它处理数据包是以目标地址为基础的,存在着两种可能性:若路由器可以找到一个路径到达目标地址则发送出去;若路由器不知道如何发送数据包则通知数据包的发送者“数据包不可达”。
过滤路由器会更加仔细地检查数据包,除了决定是否有到达目标地址的路径外,还要决定是否应该发送数据包。“应该与否”是由路由器的过滤策略决定并强行执行的。
路由器的过滤策略主要有:
* 拒绝来自某主机或某网段的所有连接。
* 允许来自某主机或某网段的所有连接。
* 拒绝来自某主机或某网段的指定端口的连接。
* 允许来自某主机或某网段的指定端口的连接。
* 拒绝本地主机或本地网络与其它主机或其它网络的所有连接。
* 允许本地主机或本地网络与其它主机或其它网络的所有连接。
* 拒绝本地主机或本地网络与其它主机或其它网络的指定端口的连接。
* 允许本地主机或本地网络与其它主机或其它网络的指定端口的连接。
1.1.4 包过滤器操作的基本过程
下面做个简单的叙述:
(1)包过滤规则必须被包过滤设备端口存储起来。
(2)当包到达端口时,对包报头进行语法分析。大多数包过滤设备只检查IP、TCP、或UDP报头中的字段。
(3)包过滤规则以特殊的方式存储。应用于包的规则的顺序与包过滤器规则存储顺序必须相同。
(4)若一条规则阻止包传输或接收,则此包便不被允许。
(5)若一条规则允许包传输或接收,则此包便可以被继续处理。
(6)若包不满足任何一条规则,则此包便被阻塞。
1.1.5 包过滤技术的优缺点
(1)优点:
→对于一个小型的、不太复杂的站点,包过滤比较容易实现。
→因为过滤路由器工作在IP层和TCP层,所以处理包的速度比代理服务器快。
→过滤路由器为用户提供了一种透明的服务,用户不需要改变客户端的任何应用程序,也不需要用户学习任何新的东西。因为过滤路由器工作在IP层和TCP层,而IP层和TCP层与应用层的问题毫不相关。所以,过滤路由器有时也被称为“包过滤网关”或“透明网关”,之所被称为网关,是因为包过滤路由器和传统路由器不同,它涉及到了传输层。
→过滤路由器在价格上一般比代理服务器便宜。
(2)缺点:
→一些包过滤网关不支持有效的用户认证。
→规则表很快会变得很大而且复杂,规则很难测试。随着表的增大和复杂性的增加,规则结构出现漏洞的可能 性也会增加。
→这种防火墙最大的缺陷是它依赖一个单一的部件来保护系统。如果这个部件出现了问题,会使得网络大门敞开,而用户其至可能还不知道。
→在一般情况下,如果外部用户被允许访问内部主机,则它就可以访问内部网上的任何主机。
→包过滤防火墙只能阻止一种类型的IP欺骗,即外部主机伪装内部主机的IP,对于外部主机伪装外部主机的IP欺骗却不可能阻止,而且它不能防止DNS欺骗。
虽然,包过滤防火墙有如上所述的缺点,但是在管理良好的小规模网络上,它能够正常的发挥其作用。一般情况下,人们不单独使用包过滤网关,而是将它和其他设备(如堡垒主机等)联合使用。
1.2 Netfilter/iptables架构
1.2.1 Linux下的包过滤防火墙管理工具
从1.1内核开始,Linux系统就已经具有包过滤功能了,随着Linux内核版本的不断升级,Linux下的包过滤系统经历了如下3个阶段:
→ 在2.0的内核中,采用ipfwadm来操作内核包过滤规则。
→ 在2.2的内核中,采用ipchains来控制内核包过滤规则。
→ 在2.4内核中,采用一个全新的内核包过滤管理工具—iptables.
Linux因其健壮性、可靠性、灵活性以及几乎无限范围的可定制性而在IT界变得非常受欢迎。Linux具有许多内置的能力,使开发人员可以根据自己的需要定制其工具、行为和外观,而无需昂贵的第三方工具。如果Linux系统连接到因特网或LAN、服务器或连接LAN和因特网的代理服务器,所要用到的一种内置能力就是针对网络上Linux系统的防火墙配置。可以在Netfilter/iptablesIP信息包过滤系统(它集成在2.4.x版本的Linux内核中)的帮助下运用这种能力。Netfilter/iptables是与最新的2.4.x版本Linux内核集成的IP信息包过滤系统。


猜你喜欢
- 要做好一个网站是非常辛苦的,通常有没有捷径,但以下这个清单应该能为您提供几点建议。这是我为了在最短时间内改善网站、提高浏览量而编制出的一份清
- 进入到2010年,网络赚钱经历了这么些年的发展,现在已经出现了很多类型的网赚项目,网络赚钱这一行业正愈发繁荣起来,面多鱼龙混杂的网赚项目,网
- 李彦宏把自己现在得到的成绩归功于:得到高人指点。“这就好比郭靖,他总是在正确的地方遇到正确的人,所以才有一身武艺。”他打着哈哈说。 李彦宏偶
- 初级安全篇1、物理安全服务器应该安放在安装了监视器的隔离房间内,并且监视器要保留15天以上的摄像记录。另外,机箱,键盘,电脑桌抽屉要上锁,以
- 五年以前创办淘宝的时候,是一个梦想,我说我们希望通过五年、十年的努力,在中国诞生一个最伟大、最优秀的电子商务公司,超过我们那个时候的竞争对手
- 1、为什么不能配置邮件服务器为open relay的?如果系统管理员将自己的邮件服务器设置为open relay,将会导致一些垃圾邮件发送者
- 我先谈一下我的就爱车(www.9aiche.com),这个站是我的站兼职做宣传和优化,我不太懂程序优化也不是很懂所以就边学边用了,我自已的站
- 最近在优化韩国留学的网站,在讨论网站关键词时遇到一些技术以外的思维观念问题,拿出来与大家讨论。seoer都知道,优化网站在关键词的选择上是至
- 网页游戏从诞生之初带来最多不是对它的好评,而是对它以及整个行业的负面评价,但这些并没有阻拦网页游戏的发展。近日有文章称,2010年的网页游戏
- 一、概念Docker 端口映射即映射容器内应用的服务端口到本机宿主机器。二、实现当容器中运行一些网络应用,要让外部访问这些应用时,可以通过
- 刚装完的wamp,然后去php.ini里开启curl (extension=php_curl.dll)发现用不了&n
- 读者SEOMax问:请问你在做内联的时候是随便做呢 还是有目的的我见你的内联词 都没有多大意义啊[[安慰自己,深有体会,]]还有就是一般都在
- 图片说明:10月22日下午,土豆网总经理张晓运做客东方网嘉宾聊天室,就“中国视频网站的发展之路”等话
- Zend Optimizer安装图解本文讨论的是Windows2003+IIS6.0下安装Zend Optimizer,请注意 下
- 威客(Witkey)是指通过互联网把自己的智慧、知识、能力、经验转换成实际收益的人,他们在互联网上通过解决科学、技术、工作、生活、学习中的问
- Windows 2000用户安装设置服务端Windows XP和2000本身就拥有构件SMTP服务器的功能,只是一般还没有安装。选择“控制面
- 1,服务器端软件:安装nfs-utils和portmap(rpcbind) nfs-utils: 提供rpc.nfsd 及 rpc.moun
- 1:“曾经有一个很好的网站摆在我的面前,可是我没有好好维护,等到失去的时候才追悔莫及,人世间最痛苦的事情莫过于此。如果上天能够给我一个好站,
- 前面不重要的步骤人人都有,我也一样的,用哈别人的,后面的关键地方是原创,注意看,正向,反向都有,详细解答,觉得能行,整合其实是共用注册页,登
- 我认为关键词应该分为网站关键词和页面关键字,不知道别人有没有这种叫法。网站关键词是一个网站的内容的总结,告诉别人你这个网站是做什么的。页面关