① 阐述数据包过滤防火墙的工作原理_______.
推荐看一看 朱雁冰 写的《Windows防火墙与网络封包截获技术》,上面介绍了三种分别基于用户态和核心态下的防火墙编译,虽然他提到的三种技术现在看来都有不足,但是是一本讲解详细的好书~~~!!
防火墙就是一种过滤塞(目前你这么理解不算错),你可以让你喜欢的东西通过这个塞子,别的玩意都统统过滤掉。在网络的世界里,要由防火墙过滤的就是承载通信数据的通信包。
天下的防火墙至少都会说两个词:Yes或者No。直接说就是接受或者拒绝。最简单的防火墙是以太网桥。但几乎没有人会认为这种原始防火墙能管多大用。大多数防火墙采用的技术和标准可谓五花八门。这些防火墙的形式多种多样:有的取代系统上已经装备的TCP/IP协议栈;有的在已有的协议栈上建立自己的软件模块;有的干脆就是独立的一套操作系统。还有一些应用型的防火墙只对特定类型的网络连接提供保护(比如SMTP或者HTTP协议等)。还有一些基于硬件的防火墙产品其实应该归入安全路由器一类。以上的产品都可以叫做防火墙,因为他们的工作方式都是一样的:分析出入防火墙的数据包,决定放行还是把他们扔到一边。
所有的防火墙都具有IP地址过滤功能。这项任务要检查IP包头,根据其IP源地址和目标地址作出放行/丢弃决定。看看下面这张图,两个网段之间隔了一个防火墙,防火墙的一端有台UNIX计算机,另一边的网段则摆了台PC客户机。
当PC客户机向UNIX计算机发起telnet请求时,PC的telnet客户程序就产生一个TCP包并把它传给本地的协议栈准备发送。接下来,协议栈将这个TCP包“塞”到一个IP包里,然后通过PC机的TCP/IP栈所定义的路径将它发送给UNIX计算机。在这个例子里,这个IP包必须经过横在PC和UNIX计算机中的防火墙才能到达UNIX计算机。
现在我们“命令”(用专业术语来说就是配制)防火墙把所有发给UNIX计算机的数据包都给拒了,完成这项工作以后,“心肠”比较好的防火墙还会通知客户程序一声呢!既然发向目标的IP数据没法转发,那么只有和UNIX计算机同在一个网段的用户才能访问UNIX计算机了。
还有一种情况,你可以命令防火墙专给那台可怜的PC机找茬,别人的数据包都让过就它不行。这正是防火墙最基本的功能:根据IP地址做转发判断。但要上了大场面这种小伎俩就玩不转了,由于黑客们可以采用IP地址欺骗技术,伪装成合法地址的计算机就可以穿越信任这个地址的防火墙了。不过根据地址的转发决策机制还是最基本和必需的。另外要注意的一点是,不要用DNS主机名建立过滤表,对DNS的伪造比IP地址欺骗要容易多了。
服务器TCP/UDP 端口过滤
仅仅依靠地址进行数据过滤在实际运用中是不可行的,还有个原因就是目标主机上往往运行着多种通信服务,比方说,我们不想让用户采用 telnet的方式连到系统,但这绝不等于我们非得同时禁止他们使用SMTP/POP邮件服务器吧?所以说,在地址之外我们还要对服务器的TCP/ UDP端口进行过滤。
比如,默认的telnet服务连接端口号是23。假如我们不许PC客户机建立对UNIX计算机(在这时我们当它是服务器)的telnet连接,那么我们只需命令防火墙检查发送目标是UNIX服务器的数据包,把其中具有23目标端口号的包过滤就行了。这样,我们把IP地址和目标服务器TCP/UDP端口结合起来不就可以作为过滤标准来实现相当可靠的防火墙了吗?不,没这么简单。
客户机也有TCP/UDP端口
TCP/IP是一种端对端协议,每个网络节点都具有唯一的地址。网络节点的应用层也是这样,处于应用层的每个应用程序和服务都具有自己的对应“地址”,也就是端口号。地址和端口都具备了才能建立客户机和服务器的各种应用之间的有效通信联系。比如,telnet服务器在端口23侦听入站连接。同时telnet客户机也有一个端口号,否则客户机的IP栈怎么知道某个数据包是属于哪个应用程序的呢?
由于历史的原因,几乎所有的TCP/IP客户程序都使用大于1023的随机分配端口号。只有UNIX计算机上的root用户才可以访问1024以下的端口,而这些端口还保留为服务器上的服务所用。所以,除非我们让所有具有大于1023端口号的数据包进入网络,否则各种网络连接都没法正常工作。
这对防火墙而言可就麻烦了,如果阻塞入站的全部端口,那么所有的客户机都没法使用网络资源。因为服务器发出响应外部连接请求的入站(就是进入防火墙的意思)数据包都没法经过防火墙的入站过滤。反过来,打开所有高于1023的端口就可行了吗?也不尽然。由于很多服务使用的端口都大于1023,比如X client、基于RPC的NFS服务以及为数众多的非UNIX IP产品等(NetWare/IP)就是这样的。那么让达到1023端口标准的数据包都进入网络的话网络还能说是安全的吗?连这些客户程序都不敢说自己是足够安全的。
双向过滤
OK,咱们换个思路。我们给防火墙这样下命令:已知服务的数据包可以进来,其他的全部挡在防火墙之外。比如,如果你知道用户要访问Web服务器,那就只让具有源端口号80的数据包进入网络:
不过新问题又出现了。首先,你怎么知道你要访问的服务器具有哪些正在运行的端口号呢? 象HTTP这样的服务器本来就是可以任意配置的,所采用的端口也可以随意配置。如果你这样设置防火墙,你就没法访问哪些没采用标准端口号的的网络站点了!反过来,你也没法保证进入网络的数据包中具有端口号80的就一定来自Web服务器。有些黑客就是利用这一点制作自己的入侵工具,并让其运行在本机的80端口!
检查ACK位
源地址我们不相信,源端口也信不得了,这个不得不与黑客共舞的疯狂世界上还有什么值得我们信任呢?还好,事情还没到走投无路的地步。对策还是有的,不过这个办法只能用于TCP协议。
TCP是一种可靠的通信协议,“可靠”这个词意味着协议具有包括纠错机制在内的一些特殊性质。为了实现其可靠性,每个TCP连接都要先经过一个“握手”过程来交换连接参数。还有,每个发送出去的包在后续的其他包被发送出去之前必须获得一个确认响应。但并不是对每个TCP包都非要采用专门的ACK包来响应,实际上仅仅在TCP包头上设置一个专门的位就可以完成这个功能了。所以,只要产生了响应包就要设置ACK位。连接会话的第一个包不用于确认,所以它就没有设置ACK位,后续会话交换的TCP包就要设置ACK位了。
举个例子,PC向远端的Web服务器发起一个连接,它生成一个没有设置ACK位的连接请求包。当服务器响应该请求时,服务器就发回一个设置了ACK位的数据包,同时在包里标记从客户机所收到的字节数。然后客户机就用自己的响应包再响应该数据包,这个数据包也设置了ACK位并标记了从服务器收到的字节数。通过监视ACK位,我们就可以将进入网络的数据限制在响应包的范围之内。于是,远程系统根本无法发起TCP连接但却能响应收到的数据包了。
这套机制还不能算是无懈可击,简单地举个例子,假设我们有台内部Web服务器,那么端口80就不得不被打开以便外部请求可以进入网络。还有,对UDP包而言就没法监视ACK位了,因为UDP包压根就没有ACK位。还有一些TCP应用程序,比如FTP,连接就必须由这些服务器程序自己发起。
FTP带来的困难
一般的Internet服务对所有的通信都只使用一对端口号,FTP程序在连接期间则使用两对端口号。第一对端口号用于FTP的“命令通道”提供登录和执行命令的通信链路,而另一对端口号则用于FTP的“数据通道”提供客户机和服务器之间的文件传送。
在通常的FTP会话过程中,客户机首先向服务器的端口21(命令通道)发送一个TCP连接请求,然后执行LOGIN、DIR等各种命令。一旦用户请求服务器发送数据,FTP服务器就用其20端口 (数据通道)向客户的数据端口发起连接。问题来了,如果服务器向客户机发起传送数据的连接,那么它就会发送没有设置ACK位的数据包,防火墙则按照刚才的规则拒绝该数据包同时也就意味着数据传送没戏了。通常只有高级的、也就是够聪明的防火墙才能看出客户机刚才告诉服务器的端口,然后才许可对该端口的入站连接。
UDP端口过滤
好了,现在我们回过头来看看怎么解决UDP问题。刚才说了,UDP包没有ACK位所以不能进行ACK位过滤。UDP 是发出去不管的“不可靠”通信,这种类型的服务通常用于广播、路由、多媒体等广播形式的通信任务。NFS、DNS、WINS、NetBIOS-over-TCP/IP和 NetWare/IP都使用UDP。
看来最简单的可行办法就是不允许建立入站UDP连接。防火墙设置为只许转发来自内部接口的UDP包,来自外部接口的UDP包则不转发。现在的问题是,比方说,DNS名称解析请求就使用UDP,如果你提供DNS服务,至少得允许一些内部请求穿越防火墙。还有IRC这样的客户程序也使用UDP,如果要让你的用户使用它,就同样要让他们的UDP包进入网络。我们能做的就是对那些从本地到可信任站点之间的连接进行限制。但是,什么叫可信任!如果黑客采取地址欺骗的方法不又回到老路上去了吗?
有些新型路由器可以通过“记忆”出站UDP包来解决这个问题:如果入站UDP包匹配最近出站UDP包的目标地址和端口号就让它进来。如果在内存中找不到匹配的UDP包就只好拒绝它了!但是,我们如何确信产生数据包的外部主机就是内部客户机希望通信的服务器呢?如果黑客诈称DNS服务器的地址,那么他在理论上当然可以从附着DNS的UDP端口发起攻击。只要你允许DNS查询和反馈包进入网络这个问题就必然存在。办法是采用代理服务器。
所谓代理服务器,顾名思义就是代表你的网络和外界打交道的服务器。代理服务器不允许存在任何网络内外的直接连接。它本身就提供公共和专用的DNS、邮件服务器等多种功能。代理服务器重写数据包而不是简单地将其转发了事。给人的感觉就是网络内部的主机都站在了网络的边缘,但实际上他们都躲在代理的后面,露面的不过是代理这个假面具。
小结
IP地址可能是假的,这是由于IP协议的源路有机制所带来的,这种机制告诉路由器不要为数据包采用正常的路径,而是按照包头内的路径传送数据包。于是黑客就可以使用系统的IP地址获得返回的数据包。有些高级防火墙可以让用户禁止源路由。通常我们的网络都通过一条路径连接ISP,然后再进入Internet。这时禁用源路由就会迫使数据包必须沿着正常的路径返回。
还有,我们需要了解防火墙在拒绝数据包的时候还做了哪些其他工作。比如,防火墙是否向连接发起系统发回了“主机不可到达”的ICMP消息?或者防火墙真没再做其他事?这些问题都可能存在安全隐患。ICMP“主机不可达”消息会告诉黑客“防火墙专门阻塞了某些端口”,黑客立即就可以从这个消息中闻到一点什么气味。如果ICMP“主机不可达”是通信中发生的错误,那么老实的系统可能就真的什么也不发送了。反过来,什么响应都没有却会使发起通信的系统不断地尝试建立连接直到应用程序或者协议栈超时,结果最终用户只能得到一个错误信息。当然这种方式会让黑客无法判断某端口到底是关闭了还是没有使用。
② 包过滤技术的技术原理
包过滤技术(IP Filtering or packet filtering) 的原理在于利用路由器监视并过滤网络上流入流出的IP包,拒绝发送可疑的包。由于Internet 与Intranet 的连接多数都要使用路由器,所以Router成为内外通信的必经端口,Router的厂商在Router上加入IP 过滤 功能,过滤路由器也可以称作包过滤路由器或筛选路由器(Packet FilterRouter)。防火墙常常就是这样一个具备包过滤功能的简单路由器,这种Firewall应该是足够安全的,但前提是配置合理。然而一个包过滤规则是否完全严密及必要是很难判定的,因而在安全要求较高的场合,通常还配合使用其它的技术来加强安全性。
包过滤技术是指网络设备(路由器或防火墙)根据包过滤规则检查所接收的每个数据包,做出允许数据包通过或丢弃数据包的决定。包过滤规则主要基于IP包头信息设置,包括如下内容:
1、TCP/UDP的源或目的端口号
2、协议类型:TCP、UDP、ICMP等
3、源或目的IP地址
4、数据包的入接口和出接口
数据包中的信息如果与某一条过滤规则相匹配并且该规则允许数据包通过,则该数据包会被转发,如果与某一条过滤规则匹配但规则拒绝数据包通过,则该数据包会被丢弃。如果没有可匹配的规则,缺省规则会决定数据包是被转发还是被丢弃。
举例说明:如图所示,如果我们需要允许IP地址为192.168.0.1的电脑浏览网页(建立HTTP连接),允许IP地址为192.168.0.2的电脑与Internet建立FTP连接,不允许其他电脑与Internet通信,可以在路由器设置如下过滤规则:
1、允许源IP地址为192.168.0.1、目的端口号为80的数据包通过(HTTP的端口号为80)。
2、允许源IP地址为192.168.0.1、目的端口号为53的数据包通过(DNS的端口号为53,在浏览网页时通常需要进行域名解析)。
3、允许源IP地址为192.168.0.2、目的端口号为21的数据包通过(FTP的端口号为21)。
4、缺省禁止所有的其他连接。
包过滤规则允许Router取舍以一个特殊服务为基础的信息流,因为大多数服务检测器驻留于众所周知的TCP/UDP端口。例如,Telnet Service 为TCP port 23端口等待远程连接,而SMTP Service为TCP Port 25端口等待输入连接。如要封锁输入Telnet、SMTP的连接,则Router舍弃端口值为23、25的所有的数据包。
表9.1 一些常用网络服务和使用的端口 服务名称 端口号 协议 说明 ftp-data 20 tcp FTP数据 ftp 21 tcp FTP控制 telnet 23 tcp 如BBS smtp 25 tcp 发email用 time 37 tcp timserver time 37 udp timserver domain 53 tcp DNS domain 53 udp DNS tftp 69 udp gopher 70 tcp gopher查询 http 80 tcp www pop3 110 tcp 收email用 nntp 119 tcp 新闻组,usernet netbios-ns 137 tcp NETBIOS 名称服务 netbios-ns 137 udp NETBIOS 名称服务 netbios-dgm 138 udp NETBIOS 数据报服务 netbios-ssn 139 tcp NETBIOS Session服务 snmp 161 udp SNMP snmptrap 162 udp SNMP trap irc 194 tcp IRC网络聊天服务 ldap 389 tcp 轻型目录服务协议 https 443 tcp SSL加密 https 443 udp 典型的过滤规则有以下几种:允许特定名单内的内部主机进行Telnet输入对话、只允许特定名单内的内部主机进行FTP输入对话、只允许所有Telnet 输出对话、只允许所有FTP 输出对话、拒绝来自一些特定外部网络的所有输入信息。
有些类型的攻击很难用基本包头信息加以鉴别,因为这些独立于服务。一些Router可以用来防止这类攻击,但过滤规则需要增加一些信息,而这些信息只有通过以下方式才能获悉:研究Router选择表、检查特定的IP选项、校验特殊的片段偏移等。这类攻击有以下几种:
源IP地址欺骗攻击:入侵者从伪装成源自一台内部主机的一个外部地点传送一些信息包;这些信息包似乎像包含了一个内部系统的源IP地址。如果这些信息包到达Router的外部接口,则舍弃每个含有这个源IP地址的信息包,就可以挫败这种源欺骗攻击。
源路由攻击:源站指定了一个信息包穿越Internet时应采取的路径,这类攻击企图绕过安全措施,并使信息包沿一条意外(疏漏)的路径到达目的地。可以通过舍弃所有包含这类源路由选项的信息包方式,来挫败这类攻击。
残片攻击:入侵者利用IP残片特性生成一个极小的片断并将TCP报头信息肢解成一个分离的信息包片断。舍弃所有协议类型为TCP、IP片断偏移值等于1的信息包,即可挫败残片的攻击。
从以上可看出定义一个完善的安全过滤规则是非常重要的。通常,过滤规则以表格的形式表示,其中包括以某种次序排列的条件和动作序列。每当收到一个包时,则按照从前至后的顺序与表格中每行的条件比较,直到满足某一行的条件,然后执行相应的动作(转发或舍弃)。有些数据包过滤在实现时,“动作”这一项还询问,若包被丢弃是否要通知发送者(通过发ICMP信息),并能以管理员指定的顺序进行条件比较,直至找到满足的条件。
对流进和流出网络的数据进行过滤可以提供一种高层的保护。建议过滤规则如下:
(1)任何进入内部网络的数据包不能把网络内部的地址作为源地址。
(2)任何进入内部网络的数据包必须把网络内部的地址作为目的地址。
(3)任何离开内部网络的数据包必须把网络内部的地址作为源地址。
(4)任何离开内部网络的数据包不能把网络内部的地址作为目的地址。
(5)任何进入或离开内部网络的数据包不能把一个私有地址(private address)或在RFC1918中 127.0.0.0/8.)的地址作为源或目的地址。
(6)阻塞任意源路由包或任何设置了IP选项的包。
(7)保留、DHCP自动配置和多播地址也需要被阻塞。0.0.0.0/8 、169.254.0.0/16 、192.0.2.0/24 、224.0.0.0/4 、240.0.0.0/4。
③ 防火墙在普通包过滤和状态检测时针对ftp协议处理的不同,规则设置有什么不同
防火墙通常使用的安全控制手段主要有包过滤、状态检测、代理服务。 包过滤技专术是一种简单属、有效的安全控制技术,它通过在网络间相互连接的设备上加载允许、禁止来自某些特定的源地址、目的地址、TCP端口号等规则,对通过设备的数据包进行检查,...
④ 什么是过虑包技术
楼主说的是不是包过滤技术
包过滤技术
包过滤技术(IP Filtering or packet filtering) 的原理在于监视并过滤网络上流入流出的IP包,拒绝发送可疑的包。基于协议特定的标准,路由器在其端口能够区分包和限制包的能力叫包过滤(Packet Filtering)。由于Internet 与Intranet 的连接多数都要使用路由器,所以Router成为内外通信的必经端口,Router的厂商在Router上加入IP 过滤 功能,过滤路由器也可以称作包过滤路由器或筛选路由器(Packet Filter Router)。防火墙常常就是这样一个具备包过滤功能的简单路由器,这种Firewall应该是足够安全的,但前提是配置合理。然而一个包过滤规则是否完全严密及必要是很难判定的,因而在安全要求较高的场合,通常还配合使用其它的技术来加强安全性。
常用的优秀的个人防火墙有Norman Personal Firewall、天网防火墙等。
路由器逐一审查数据包以判定它是否与其它包过滤规则相匹配。每个包有两个部分:数据部分和包头。过滤规则以用于IP顺行处理的包头信息为基础,不理会包内的正文信息内容。包头信息包括:IP 源地址、IP目的地址、封装协议(TCP、UDP、或IP Tunnel)、TCP/UDP源端口、ICMP包类型、包输入接口和包输出接口。如果找到一个匹配,且规则允许这包,这一包则根据路由表中的信息前行。如果找到一个匹配,且规则拒绝此包,这一包则被舍弃。如果无匹配规则,一个用户配置的缺省参数将决定此包是前行还是被舍弃。
包过滤规则允许Router取舍以一个特殊服务为基础的信息流,因为大多数服务检测器驻留于众所周知的TCP/UDP端口。例如,Telnet Service 为TCP port 23端口等待远程连接,而SMTP Service为TCP Port 25端口等待输入连接。如要封锁输入Telnet、SMTP的连接,则Router舍弃端口值为23、25的所有的数据包。
表9.1 一些常用网络服务和使用的端口
服务名称
端口号
协议
说明
ftp-data
20
tcp
FTP数据
ftp
21
tcp
FTP控制
telnet
23
tcp
如BBS
smtp
25
tcp
发email用
time
37
tcp
timserver
time
37
udp
timserver
domain
53
tcp
DNS
domain
53
udp
DNS
tftp
69
udp
gopher
70
tcp
gopher查询
http
80
tcp
www
pop3
110
tcp
收email用
nntp
119
tcp
新闻组,usernet
netbios-ns
137
tcp
NETBIOS 名称服务
netbios-ns
137
udp
NETBIOS 名称服务
netbios-dgm
138
udp
NETBIOS 数据报服务
netbios-ssn
139
tcp
NETBIOS Session服务
snmp
161
udp
SNMP
snmptrap
162
udp
SNMP trap
irc
194
tcp
IRC网络聊天服务
ldap
389
tcp
轻型目录服务协议
https
443
tcp
SSL加密
https
443
udp
典型的过滤规则有以下几种:允许特定名单内的内部主机进行Telnet输入对话、只允许特定名单内的内部主机进行FTP输入对话、只允许所有Telnet 输出对话、只允许所有FTP 输出对话、拒绝来自一些特定外部网络的所有输入信息。
有些类型的攻击很难用基本包头信息加以鉴别,因为这些独立于服务。一些Router可以用来防止这类攻击,但过滤规则需要增加一些信息,而这些信息只有通过以下方式才能获悉:研究Router选择表、检查特定的IP选项、校验特殊的片段偏移等。这类攻击有以下几种:
源IP地址欺骗攻击:入侵者从伪装成源自一台内部主机的一个外部地点传送一些信息包;这些信息包似乎像包含了一个内部系统的源IP地址。如果这些信息包到达Router的外部接口,则舍弃每个含有这个源IP地址的信息包,就可以挫败这种源欺骗攻击。
源路由攻击:源站指定了一个信息包穿越Internet时应采取的路径,这类攻击企图绕过安全措施,并使信息包沿一条意外(疏漏)的路径到达目的地。可以通过舍弃所有包含这类源路由选项的信息包方式,来挫败这类攻击。
残片攻击:入侵者利用IP残片特性生成一个极小的片断并将TCP报头信息肢解成一个分离的信息包片断。舍弃所有协议类型为TCP、IP片断偏移值等于1的信息包,即可挫败残片的攻击。
从以上可看出定义一个完善的安全过滤规则是非常重要的。通常,过滤规则以表格的形式表示,其中包括以某种次序排列的条件和动作序列。每当收到一个包时,则按照从前至后的顺序与表格中每行的条件比较,直到满足某一行的条件,然后执行相应的动作(转发或舍弃)。有些数据包过滤在实现时,“动作”这一项还询问,若包被丢弃是否要通知发送者(通过发ICMP信息),并能以管理员指定的顺序进行条件比较,直至找到满足的条件。
对流进和流出网络的数据进行过滤可以提供一种高层的保护。建议过滤规则如下:
(1)任何进入内部网络的数据包不能把网络内部的地址作为源地址。
(2)任何进入内部网络的数据包必须把网络内部的地址作为目的地址。
(3)任何离开内部网络的数据包必须把网络内部的地址作为源地址。
(4)任何离开内部网络的数据包不能把网络内部的地址作为目的地址。
(5)任何进入或离开内部网络的数据包不能把一个私有地址(private address)或在RFC1918中 127.0.0.0/8.)的地址作为源或目的地址。
(6)阻塞任意源路由包或任何设置了IP选项的包。
(7)保留、DHCP自动配置和多播地址也需要被阻塞。0.0.0.0/8 、169.254.0.0/16 、192.0.2.0/24 、224.0.0.0/4 、240.0.0.0/4。
包过滤路由器的优点:
(1)一个过滤路由器能协助保护整个网络。绝大多数Internet防火墙系统只用一个包过滤路由器;
(2)过滤路由器速度快、效率高。执行包过滤所用的时间很少或几乎不需要什么时间,由于过滤路由器只检查报头相应的字段,一般不查看数据报的内容,而且某些核心部分是由专用硬件实现的,如果通信负载适中且定义的过滤很少的话,则对路由器性能没有多大影响;
(3)包过滤路由器对终端用户和应用程序是透明的。当数据包过滤路由器决定让数据包通过时,它与普通路由器没什么区别,甚至用户没有认识到它的存在,因此不需要专门的用户培训或在每主机上设置特别的软件。
包过滤路由器的局限性:
(1)定义包过滤器可能是一项复杂的工作。因为网管员需要详细地了解Internet各种服务、包头格式和他们在希望每个域查找的特定的值。如果必须支持复杂的过滤要求的,则过滤规则集可能会变得很长很复杂,并且没有什么工具可以用来验证过滤规则的正确性。
(2)路由器信息包的吞吐量随过滤器数量的增加而减少。路由器被优化用来从每个包中提取目的IP地址、查找一个相对简单的路由表,而后将信息包顺向运行到适当转发接口。如果过滤可执行,路由器还必须对每个包执行所有过滤规则。这可能消耗CPU的资源,并影响一个完全饱和的系统性能。
(3)不能彻底防止地址欺骗。大多数包过滤路由器都是基于源IP地址、目的IP地址而进行过滤的,而IP地址的伪造是很容易、很普遍的。
(4)一些应用协议不适合于数据包过滤。即使是完美的数据包过滤,也会发现一些协议不很适合于经由数据包过滤安全保护。如RPC、X- Window和FTP。而且服务代理和HTTP的链接,大大削弱了基于源地址和源端口的过滤功能。
(5)正常的数据包过滤路由器无法执行某些安全策略。例如,数据包说它们来自什么主机,而不是什么用户,因此,我们不能强行限制特殊的用户。同样地,数据包说它到什么端口,而不是到什么应用程序,当我们通过端口号对高级协议强行限制时,不希望在端口上有别的指定协议之外的协议,而不怀好意的知情者能够很容易地破坏这种控制。
(6)一些包过滤路由器不提供任何日志能力,直到闯入发生后,危险的封包才可能检测出来。它可以阻止非法用户进入内部网络,但也不会告诉我们究竟都有谁来过,或者谁从内部进入了外部网络,
与图1封装过程相反,在网络连接的
获取数据就由下而上依次把包头剥离。
另一边(接收方)的工作是解包。即在另一边,为了
在数据包过滤系统看来
种将被包过滤路由器检查的
,包的最重要信息是各层依次加
包的包头内容。
上的包头。在下文中将主要介绍各
二、 数据包过滤是怎样工作的
包过滤技术可以允许或不允许某些包在网络上传递,它依据以下的根据:
(1)将包的目的地址作为判断依据;
(2)将包的源地址作为判断依据;
(3)将包的传送协议作为判断依据。
大多数包过滤系统判断是否传送包时
让我们进行类似以下情况的操作:
都不关心包的具体内容。作为防火墙包过滤系统只能
(1)不允许任何用户从外部网用Telnet登录;
(2)允许任何用户使用SMTP往内部网发电子邮件;
(3)只允许某台机器通过NNTP往内部网发新闻。
但包过滤不能允许我们进行如下操作:
(1)允许某个用户从外部网用Telnet登录而不允许其它用户进行这种操作;
(2)允许用户传送一些文件而不允许用户传送其它文件。
数据包过滤系统不能识
的文件信息。包过滤系统的
为例,假定不让客户使用Te
现有的条件下可以作到,但
其它用户就永远不在重新安
行设置,也就无所谓机器中
别数据包中的用户信息。同样数
主要特点是让用户在一台机器上
lnet而将网络中现有机器上的Te
是不能保证在网络中新增机器时
装Telnet服务。如果有了包过滤
的Telnet服务是否存在的问题了
据包过滤系统也不能识别数据包中
提供对整个网络的保护。以Telnet
lnet服务关闭,作为系统管理员在
,新机器的Telnet服务也被关闭或
系统,由于只要在包过滤中对此进
。
路由器为所有用户进出
络中的特定位置的过滤路由
内部邮件的包——就是那种
常被作为地址伪装入侵的一
滤路由器来实现我们设计的
在这种位置上的包过滤路由
网还是来自于外部网。
网络的数据流提供了一个有用的
器来提供。比如,我们考虑这样
看起来好象来自于内部主机而其
部分。入侵者总是用这种包把他
安全规则,唯一的方法是通过参
器才能通过查看包的源地址,从
阻塞点。而对有关的保护只能由网
的安全规则,让网络拒绝任何含有
实是来自于外部网的包,这种包经
们伪装成来自于内部网。要用包过
数网络上的包过滤路由器。只有处
而辨认出这个包到底是来自于内部
三、 包过滤的优缺点
1.包过滤的优点
包过滤方式有许多优点
就可保护整个网络。如果站
这台路由器上设定合适的包
,而其主要优点之一是仅用一个
点与因特网间只有一台路由器,
过滤,我们的站点就可以获得很
放置在战略要津上的包过滤路由器
那么不管站点规模有多大,只要在
好的网络安全保护。
包过滤不需要用户软件的支撑,也不
何培训。当包过滤路由器允许包通过时,
甚至感觉不到包过滤功能的存在,只有在
器的不同。包过滤工作对用户来讲是透明
下完成包过滤。
要求对客户机做特别的设置,也没有必要对用户做任
它看起来与普通的路由器没有任何区别。此时,用户
有些包在禁入和禁出时,用户才认识到它与普通路由
的。这种透明就是可在不要求用户作任何操作的前提
包过滤产品比较容易获得。在市场上
从网上免费下载的都提供了包过滤功能。
。Drawbrige、KralBrige以及Screened也
。
有许多硬件和软件的路由器产品不管是商业产品还是
比如,Cisco公司的路由器产品就包含有包过滤功能
都具有包过滤功能,而且还能从Internet上免费下载
2. 包过滤的缺点
尽管包过滤系统有许多优点,但是它仍有缺点和局限性:
1) 在机器中配置包过滤规则比较困难;
2) 对包过滤规则设置的测试也很麻烦;
3) 许多产品的包过滤
。
功能有这样或那样的局限性,要
找一个比较完整的包过滤产品很难
包过滤系统本身就存有
系统的安全性的影响。因为
些平常应该拒绝的包也能进
某些缺陷,这些缺陷对系统的安
代理服务的缺陷仅仅会使数据无
出网络,这对系统的安全性是一
全性的影响要大大超过代理服务对
法传送,而包过滤的缺陷会使得一
个巨大的威胁。
即使在系统中安装了比较完整的包过
太合适。比如,对Berkeley的“r"命令(
,用包过滤系统就不太合适。有些安全规
来自于哪台主机的信息而无来自于哪个用
滤系统,我们也会发现对有些协议使用包过滤方式不
rcp、rsh、rlogin)和类似于NFS和NIS/YS协议的RPC
则是难以用包过滤规则来实现的。比如,在包中只有
户的信息。因此,若要过滤用户就不能使用包过滤。
⑤ 关于FTP被动模式与主动模式中防火墙过滤情况!
主动模式和被动模式是针对服务器而言。ftp需要建立两个连接(命令连接和数据连接),主动方式的命令连接由客户机发起,数据连接由服务器发起,这样客户端的防火墙可能会阻拦;被动连接的两个连接都由客户机发起,客户机的防火墙不会阻拦(就像设置一个门不是为了关自己)。这是主体思想,具体的怎么连接你上网搜一下,很多的。
回答问题:
不会,一般服务器都是先前设置好的。
这里考虑的防火墙主要是在建立连接时的作用。
见上。
⑥ 某公司使用包过滤防火墙控制进出公司局域网的数据
包过滤防火墙通常直接转发报文,它对用户完全透明,速度较快。包过滤防火回墙一
般有一个包检答查模块 (通常称为包过滤器) , 数据包过滤可以根据数据包中的各项信息来
控制站点与站点、站点与网络、网络与网络之间的相互访问,但无法控制传输数据的内
容,因为内容是应用层数据,而包过滤器处在传输层和网络层。无论是源 IP 地址还是目
的 IP 地址,都是网络层的 IP 地址,都在包过滤防火墙的控制范围内,因此,通过配置
目的 IP 和源 IP,可以实现 A 和 D。默认情况下,FTP 协议开放的端口号是 21,它是传
输层的 TCP 协议的端口号。因此,虽然 FTP 是应用层协议,但是通过包过滤防火墙限
制 TCP 端口号,可以实现 C。HTTP 协议是超文本传输协议,它是应用层协议,包过滤
防火墙无法实现对应用层协议的限制,所以无法实现 B。
⑦ 什么是包过滤技术其特点是什么
一、定义:
包过滤(Packet Filtering)技术:是基于协议特定的标准,路由器在其端口能够区分包和限制包的技术。
基于协议特定的标准,路由器在其端口能够区分包和限制包的能力叫包过滤(Packet Filtering)。其技术原理在于加入IP过滤功能的路由器逐一审查包头信息,并根据匹配和规则决定包的前行或被舍弃,以达到拒绝发送可疑的包的目的。过滤路由器具备保护整个网络、高效快速并且透明等优点,同时也有定义复杂、消耗CPU资源、不能彻底防止地址欺骗、涵盖应用协议不全、无法执行特殊的安全策略并且不提供日志等局限性。包过滤技术的二、特点
1、优点 :对小型的、不太复杂的站点包过滤较容易实现。
(1)一个过滤路由器能协助保护整个网络。绝大多数Internet防火墙系统只用一个包过滤路由器;
(2)过滤路由器速度快、效率高。执行包过滤所用的时间很少或几乎不需要什么时间,由于过滤路由器只检查报头相应的字段,一般不查看数据报的内容,而且某些核心部分是由专用硬件实现的,如果通信负载适中且定义的过滤很少的话,则对路由器性能没有多大影响;
(3)包过滤路由器对终端用户和应用程序是透明的。当数据包过滤路由器决定让数据包通过时,它与普通路由器没什么区别,甚至用户没有认识到它的存在,因此不需要专门的用户培训或在每主机上设置特别的软件。
2、缺点及局限性:
他们很少有或没有日志记录能力,所以网络管理员很难确认系统是否正在被入侵或已经被入侵了。这种防火墙的最大缺陷是依赖一个单一的部件来保护系统。
(1)定义包过滤器可能是一项复杂的工作。因为网管员需要详细地了解Internet各种服务、包头格式和他们在希望每个域查找的特定的值。如果必须支持复杂的过滤要求的,则过滤规则集可能会变得很长很复杂,并且没有什么工具可以用来验证过滤规则的正确性。
(2)路由器信息包的吞吐量随过滤器数量的增加而减少。路由器被优化用来从每个包中提取目的IP地址、查找一个相对简单的路由表,而后将信息包顺向运行到适当转发接口。如果过滤可执行,路由器还必须对每个包执行所有过滤规则。这可能消耗CPU的资源,并影响一个完全饱和的系统性能。
(3)不能彻底防止地址欺骗。大多数包过滤路由器都是基于源IP地址、目的IP地址而进行过滤的,而IP地址的伪造是很容易、很普遍的。
(4)一些应用协议不适合于数据包过滤。即使是完美的数据包过滤,也会发现一些协议不很适合于经由数据包过滤安全保护。如RPC、X- Window和FTP。而且服务代理和HTTP的链接,大大削弱了基于源地址和源端口的过滤功能。
(5)正常的数据包过滤路由器无法执行某些安全策略。例如,数据包说它们来自什么主机,而不是什么用户,因此,我们不能强行限制特殊的用户。同样地,数据包说它到什么端口,而不是到什么应用程序,当我们通过端口号对高级协议强行限制时,不希望在端口上有别的指定协议之外的协议,而不怀好意的知情者能够很容易地破坏这种控制。
(6)一些包过滤路由器不提供任何日志能力,直到闯入发生后,危险的封包才可能检测出来。它可以阻止非法用户进入内部网络,但也不会告诉我们究竟都有谁来过,或者谁从内部进入了外部网络。