设为首页收藏本站language 语言切换
查看: 1360|回复: 1
收起左侧

[分享] 状态检测防火墙

[复制链接]
 成长值: 64940
发表于 2022-7-8 10:06:23 | 显示全部楼层 |阅读模式
包过滤防火墙属于静态防火墙,目前存在的问题如下:
  • 对于多通道的应用层协议(如FTP、SIP等),部分安全策略配置无法预知。
  • 无法检测某些来自传输层和应用层的攻击行为(如TCP SYN、Java Applets等)。
  • 无法识别来自网络中伪造的ICMP差错报文,从而无法避免ICMP的恶意攻击。
  • 对于TCP连接均要求其首报文为SYN报文,非SYN报文的TCP首包将被丢弃。在这种处理方式下,当设备首次加入网络时,网络中原有TCP连接的非首包在经过新加入的防火墙设备时均被丢弃,这会中断已有的连接。
因此,提出了状态检测防火墙——ASPF(Application Specific Packet Filter)的概念。ASPF能够实现的检测有:
  • 应用层协议检测,包括FTP、HTTP、SIP和RTSP检测;
  • 传输层协议检测,包括TCP和UDP检测。
AR502G-L-D-H和AR502GR-L-D-H不支持该功能。


ASPF的功能
ASPF的主要功能如下:
  • 能够检查应用层协议信息,如报文的协议类型和端口号等信息,并且监控基于连接的应用层协议状态。对于所有连接,每一个连接状态信息都将被ASPF维护,并用于动态地决定数据包是否被允许通过防火墙进入内部网络,以阻止恶意的入侵。
  • 能够检测传输层协议信息(即通用TCP/UDP检测),能够根据源、目的地址及端口号决定TCP或UDP报文是否可以通过防火墙进入内部网络。
ASPF的其它功能有:
  • ASPF不仅能够根据连接的状态对报文进行过滤,还能够对应用层报文的内容加以检测。
  • 支持TCP连接首包检测。
  • 支持ICMP差错报文检测。正常ICMP差错报文中均携带有本报文对应连接的相关信息,根据这些信息可以匹配到相应的连接。如果匹配失败,则根据当前配置决定是否丢弃该ICMP报文。
在网络边界,ASPF和包过滤防火墙协同工作,能够为企业内部网络提供更全面的、更符合实际需求的安全策略。

ASPF基本概念
  • 单通道协议
    单通道协议:从会话建立到删除的全过程中,只有一个通道参与数据交互,如HTTP。
  • 多通道协议
    多通道协议:包含一个控制通道和若干其它控制或数据通道,即控制信息的交互和数据的传送是在不同的通道上完成的,如FTP、RTSP。


应用层协议检测基本原理图5-3  应用层协议检测基本原理示意图

如图5-3所示,为了保护内部网络,一般情况下需要在设备上配置访问控制列表,以允许内部网的主机访问外部网络,同时拒绝外部网络的主机访问内部网络。但访问控制列表会将用户发起连接后返回的报文过滤掉,导致连接无法正常建立。
当在设备上配置了应用层协议检测后,ASPF可以检测每一个应用层的会话,并创建一个状态表项和一个临时访问控制列表(Temporary Access Control List,TACL):
  • 状态表项在ASPF检测到第一个向外发送的报文时创建,用于维护一次会话中某一时刻会话所处的状态,并检测会话状态的转换是否正确。
  • 临时访问控制列表的表项在创建状态表项的同时创建,会话结束后删除,它相当于一个扩展ACL的permit项。TACL主要用于匹配一个会话中的所有返回的报文,可以为某一应用返回的报文在防火墙的外部接口上建立一个临时的返回通道。

下面以FTP检测为例说明多通道应用层协议检测的过程。
图5-4  FTP检测过程示意图

如图5-4所示,FTP连接的建立过程如下:假设FTP client以1333端口向FTP server的21端口发起FTP控制通道的连接,通过协商决定由FTP server的20端口向FTP Client的1600端口发起数据通道的连接,数据传输超时或结束后连接删除。
FTP检测在FTP连接建立到拆除过程中的处理如下:
  • 检查从出接口上向外发送的IP报文,确认为基于TCP的FTP报文。
  • 检查端口号确认连接为控制连接,建立返回报文的TACL和状态表项。
  • 检查FTP控制连接报文,解析FTP指令,根据指令更新状态表项。如果包含数据通道建立指令,则创建数据连接的TACL;对于数据连接,不进行状态检测。
  • 对于返回报文,根据协议类型做相应匹配检查,检查将根据相应协议的状态表项和TACL决定报文是否允许通过。
  • FTP连接删除时,状态表及TACL随之删除。

单通道应用层协议(如HTTP)的检测过程比较简单,当发起连接时建立TACL,连接删除时随之删除TACL即可。

传输层协议检测基本原理
这里的传输层协议检测是指通用TCP/UDP检测。通用TCP/UDP检测与应用层协议检测不同,是对报文的传输层信息进行的检测,如源、目的地址及端口号等。通用TCP/UDP检测要求返回到ASPF外部接口的报文要与前面从ASPF外部接口发出去的报文完全匹配,即源、目的地址及端口号恰好对应,否则返回的报文将被阻塞。因此对于FTP这样的多通道应用层协议,在不配置应用层检测而直接配置TCP检测的情况下会导致数据连接无法建立。


发表于 2024-5-14 10:54:04 | 显示全部楼层
华为认证,值得拥有!
沙发 2024-5-14 10:54:04 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-5-16 07:27 , Processed in 0.069064 second(s), 24 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表