`

防火墙为什么要对多连接协议进行特殊处理

阅读更多
本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严禁用于任何商业用途。
msn: yfydz_no1@hotmail.com
来源:http://yfydz.cublog.cn

1. 多连接协议
 
所谓多连接协议是指在协议完成过程中,除了一个主的通信通道(主连接)外,还会动态打开一些通道(子连接)进行通信,防火墙对这些协议需要特别处理才能保证安全。
多连接协议也可分为强制子连接和非强制子连接,强制子连接是指子连接的建立是必须的,不建立子连接通信将无法正常进行,如FTP;非强制子连接是指子连接的建立不是必须的,主连接先尝试用动态端口打开子连接,如果子连接打不开,则数据依旧在主连接中传输,这样不影响总体协议通信的完成,如 MMS、MSN传递文件等。对防火墙来说,处理的重点前者,因为后者在防火墙上可以不用作特殊处理。本文若不特殊说明,都是指前者。
 
2. 多连接协议的特殊处理
 
多连接协议的特殊之处就在于其之连接的端口通常是动态的,具体值是在协议内容中协商确定,而一般防火墙的策略中只允许有限的端口通过,端口全部开放是很危险的,所以早期的包过滤防火墙,对于FTP协议的支持只能支持主动模式,也就是服务器端数据端口固定为20时的情况,被动模式不支持或只能通过打开全部端口来支持。
 
在状态检测防火墙中,防火墙不仅对IP/TCP头信息进行处理,对多连接协议这种特殊协议进一步进行了内容级跟踪处理,能够自动查找协议通信数据中关于端口协商的部分,提取出具体的端口值,然后动态打开防火墙上的端口,使子连接数据能顺利通过防火墙,当子连接结束时,防火墙相应端口又自动关闭,保证了网络的安全性。
 
3. NAT模式下的处理
 
在NAT模式下,防火墙需要作的工作要更多一些,不仅要找到关于子连接端口的描述字段,还需要根据情况修改数据内容,但有些情况又不需要,如 FTP协议,内部网络通过源地址转换访问外部FTP服务器,但使用主动模式传数据时,子连接是从服务器连向客户端,这时需要对数据内容进行修改;而使用被动模式时,子连接是从客户端连向服务器,此时防火墙只需要跟踪而不需要修改数据。
 
进行数据修改时,防火墙先要找到自身一个空闲的端口代替数据描述中的端口值,然后如果数据中包括IP地址地址信息的话,将IP地址信息换自己的地址,修改后的数据长度可能和原来的数据长度不同。
 
对于UDP协议,数据内容修改后,如果数据长度变化,需要修改UDP头部中的数据长度,UDP端口,IP包总长,然后重新计算UDP校验和,IP头校验和,基本和后续包无关。
 
对于TCP协议,情况就麻烦得多,如果数据长度变化,需要修改TCP端口,IP包总长,然后重新计算TCP校验和,IP头校验和,最麻烦的是对该TCP连接的所有后续包都要修改TCP包头中的序号号或确认号,所有校验和也需要重新计算,如果后续包继续有数据长度变化,这种变化也要累加。只有数据长度不改变的情况下才和后续包无关,只要修改当前包的数据就行。
 
4. Linux内核中的实现
 
在linux内核的netfilter架构中,实现了对特殊协议的跟踪和NAT功能,并可以任意扩展,代码在net/ipv4 /netfilter目录下,ip_conntrack_core.c, ip_conntrack_helper.c, ip_conntrack_standalone.c为基本的连接跟踪程序,ip_nat_core.c, ip_nat_helper.c, ip_nat_standalone.c中为NAT的基本处理程序,对于特定协议,由ip_conntrack_*.c和ip_nat_*.c构成,“*”可以为ftp, tftp, irc等,程序构架都是类似的,可以扩展新的协议。
 
5. 安全性
 
这种打开动态端口的处理在安全性方面已经提高了很多,但如果不注意还是会有些问题,如在连接信息中如果有IP地址信息,一定要验证此IP地址就是数据包发送方的地址,否则可能会打开的是到其他机器的端口,相当的危险,netfilter早期的FTP代码中就有这个问题。在phrack63的 0x13号文件中,描述了如果防火墙同时跟踪FTP和IRC服务时穿透防火墙的一种方法,因此跟踪程序一定要区分关于数据端口的描述是否是在主连接中还是在子连接中,只在主连接中进行解析,如果是子连接,这种数据模式是不解析的。
 
6. 总结
 
多连接协议的支持对状态检测防火墙来说需要特别处理,对于公开的协议,可以根据其协议规范来定制专门的支持模块,而如果协议是保密,对防火墙来说就无法处理了。现在很多新的协议也考虑到了这个问题,在子连接不能打开的情况下还用主连接来传输数据,从而避免了该协议不能被防火墙支持。
分享到:
评论

相关推荐

    构筑Linux防火墙之IPtables的概念与用法

    <br>通过向防火墙提供有关对来自某个源、到某个目的地或具有特定协议类型的信息包要做些什么的指令的规则,控制信息包的过滤。通过使用iptables系统提供的特殊命令 iptables,建立这些规则,并将其添加到内核...

    网络安全-防火墙.pptx

    不必对用户进行特殊的培训 不必在每台主机上安装特定的软件 用户不用改变客户端程序或改变自己的行为 网络安全-防火墙全文共45页,当前为第12页。 13 包过滤型防火墙 缺点: 包过滤防火墙的维护比较困难 定义数据包...

    防火墙实验报告.doc

    防火墙对流经它的网络通信进行扫描,这样能够过滤掉一些攻击,以免其在目标计算 机上被执行。防火墙还可以关闭不使用的端口。而且它还能禁止特定端口的流出通信, 封锁特洛伊木马。最后,它可以禁止来自特殊站点的...

    服务器安全狗(DDOS/ARP防火墙) v2.2.3

    服务器安全狗是为IDC运营商、虚拟主机服务商、企业主机、服务器管理者等用户提供服务器安全防范的实用系统,是一款集DDOS防护、ARP防护、查看网络连接、网络流量、IP过滤为一体的服务器工具。作为服务器安全专家,这...

    计算机网络安全防范措施.doc

    通过网络的IP端口地质转化和地址注册进行网络的防护是这一技术的主要特点, 如果同时访问内部网络与外部网络的话,对网络源地址以及端口进行自动的处理,主要 是通过改变网络源端口和地址与外界网络的连接实现对网络...

    协同拨号器GXU Dialer v2.07.rar

    关于电信最近使用了新的共享检测方式软件会使网络配置统一化但是有几点任然请注意1、不要每个人都同时对一个网站进行访问,不要频繁的刷新某个网站。。2、尽量不要使用代理服务器上网。3、每台机所使用的浏览器要...

    逆向数据分析.docx

    对网络行为判断是否为攻击行为,是否会对网络、数据造成危害的恶意行为,从而到达对网络行为进行检测和防御的目的,使用者能及时应对网络异常状况,并以最大限度的降低网络处理资源的开销,是一种侧重于风险控制的安全...

    服务器系统安全分析报告.doc

    4)每周对服务器进行大检修,包括防火墙的日志、服务器的日志查看, 数据库是否有异常连接。 3.对于DDOS攻击的防范 1)服务器装有专门针对DDOS攻击研发的KFW软件防火墙,有效的限制 了非法IP对服务器的攻击,和对数据库的...

    HCIP-RS V2.5 LVC公开课培训视频教程【共128集】.rar

    目录:网盘文件,永久连接 1. IERS 1.1 OSPF协议基础 1.2 OSPF域内路由 1.3 OSPF域间路由 1.4 OSPF外部路由 1.5 OSPF特殊区域及其他特性 1.6 IS-IS协议原理与配置 1.7 BGP协议原理与配置 1.8 IP组播基础 1.9 IGMP...

    计算机网络安全漏洞及防范措施初探.doc

    包过滤技术具有运行速度快和基本不依赖于应用的优点,但包过滤只能依据现有数据 包过滤的安全规则进行操作,而无法对用户在某些协议上进行各种不同要求服务的内容 分别处理,即只是机械地允许或拒绝某种类型的服务...

    citrix 中文管理操作手册

    阻止对本地特殊文件夹进行重定向 87 为用户会话配置音频 87 为已发布应用程序启用音频 88 启用或禁用已发布应用程序的音频 88 限制音频吞吐量的带宽 88 配置音频的带宽限制 88 设置音频压缩和输出质量 89 配置音频...

    java开源包3

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    rfc中文文档目录,包含部分翻译

    RFC1134_+PPP协议:关于在点到点链路上进行多协议包传送的建议 RFC1142 OSI IS-IS 域内路由协议 RFC1144_低速串行链路上的TCPIP头部压缩 RFC1145 SNMPv2的管理模型 RFC1155_基于TCPIP网络的管理结构和标记 RFC1166...

    清华大学的计算机网络课件

    为什么要进行这样的改变? 问题3-17:接收端对收到的帧进行CRC检验后,若发现有差错就丢弃这个帧。是用户(人)下命令丢弃,还是高层软件下命令丢弃? 问题3-18:在[MINGCI94]中,flow control的标准译名是“流控制...

    计算机网络常见问题解答

    问题3-2:当数据链路层使用PPP协议或CSMA/CD协议时,既然不保证可靠传输,那么为什么对所传输的帧进行差错检验呢? 问题3-3:为什么旧的版本教材在数据链路层一章中讲授可靠传输,但现在新的版本教材则取消了可靠...

    java开源包4

    Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分...

    视易eVideo6000系列酒店多媒体数码机顶盒介绍.pdf

    8. 电视专用浏览器:机顶盒的浏览器具有字体特殊处理显示、防闪烁处理、高亮显示超连接、自动折行等功能。 9. 实时转播:机顶盒可以接收播放实时转播的夜总会表演和闭路电视节目。 10. 多种视频音频格式支持:机顶...

    不错的代理服务器软件

    对于软件不需要有什么特殊配置;整个过程是完全透明的。 2、通过代理服务器网关访问受限制的网络。 3、绕过防火墙的限制。 4、“隧道”整个系统 (强制所有网络连接,包括系统工作都通过代理服务器连接)。 5、通过...

    中文版RFC,共456

    RFC1134 +PPP协议:关于在点到点链路上进行多协议包传送的建议 RFC1142 OSI IS-IS 域内路由协议 RFC1144 低速串行链路上的TCPIP头部压缩 RFC1155 基于TCPIP网络的管理结构和标记 RFC1166 Internet数字 RFC1180 TCPIP...

    RFC中文文档-txt

    RFC1134 +PPP协议:关于在点到点链路上进行多协议包传送的建议 RFC1142 OSI IS-IS 域内路由协议 RFC1144 低速串行链路上的TCPIP头部压缩 RFC1155 基于TCPIP网络的管理结构和标记 RFC1166 Internet数字 RFC1180 TCPIP...

Global site tag (gtag.js) - Google Analytics