09-ASPF配置
本章节下载: 09-ASPF配置 (206.60 KB)
目 录
· 对于传输层协议,配置管理员无法精确预知反向回应报文信息,因此增加了包过滤配置的难度。同时,若配置管理员配置了比较宽松的放行策略,则会增加内网被攻击的风险。
· 对于多通道的应用层协议(如FTP等),部分安全策略配置无法预知。
· 无法跟踪传输层和应用层的协议状态,无法检测某些来自传输层和应用层的攻击行为。
· 无法识别来自网络中伪造的ICMP差错报文,从而无法避免ICMP的恶意攻击。
因此,提出了状态防火墙——ASPF(Advanced Stateful Packet Filter,高级状态包过滤)的概念。ASPF能够实现的主要功能有:
· 应用层协议检测:检查应用层协议信息,如报文的协议类型和端口号等信息,并且监控每一个连接的应用层协议状态。对于所有连接,每一个连接状态信息都将被ASPF维护,并用于动态地决定数据包是否被允许通过防火墙进入内部网络,以阻止恶意的入侵。
· 传输层协议检测:检测传输层协议信息(即通用TCP/UDP检测),能够根据源、目的地址及端口号决定TCP或UDP报文是否可以通过防火墙进入内部网络。
· ICMP差错报文检测:正常ICMP差错报文中均携带有本报文对应连接的相关信息,根据这些信息可以匹配到相应的连接。如果匹配失败,则根据当前配置决定是否丢弃该ICMP报文。
· TCP连接首包检测:对TCP连接的首报文进行检测,查看是否为SYN报文,如果不是SYN报文则根据当前配置决定是否丢弃该报文。缺省情况下,不丢弃非SYN首包,适用于不需要严格TCP协议状态检查的组网场景。例如当防火墙设备首次加入网络时,网络中原有TCP连接的非首包在经过新加入的设备时如果被丢弃,会中断已有的连接,造成不好的用户体验,因此建议暂且不丢弃非SYN首包,等待网络拓扑稳定后,再开启非SYN首包丢弃功能。
在网络边界,ASPF和包过滤防火墙协同工作,包过滤防火墙负责按照ACL规则进行报文过滤(阻断或放行),ASPF负责对已放行报文进行信息记录,使已放行的报文的回应报文可以正常通过配置了包过滤防火墙的接口。因此,ASPF能够为企业内部网络提供更全面的、更符合实际需求的安全策略。
ASPF将应用层协议划分为:
· 单通道协议:完成一次应用的全过程中,只有一个连接参与数据交互,如SMTP、HTTP。
· 多通道协议:完成一次应用的全过程中,需要多个连接配合,即控制信息的交互和数据的传送需要通过不同的连接完成的,如FTP。
如果设备连接了内部网络和外部网络,并且要通过部署ASPF来保护内部网络中的主机和服务器,则设备上与内部网络连接的接口就称为内部接口,与外部网络相连的接口就称为外部接口。
若需要保护内部网络,则可以将ASPF应用于设备外部接口的出方向或者应用于设备内部接口的入方向。
安全域间实例用于指定ASPF需要检测的业务流的源安全域和目的安全域,它们分别描述了经过网络设备的业务流的首个数据包要进入的安全域和要离开的安全域。关于安全域的详细介绍,请参见“基础配置指导”中的“安全域”。
如图1-1所示,为了保护内部网络,可以在边界设备上配置访问控制列表,以允许内部网络的主机访问外部网络,同时拒绝外部网络的主机访问内部网络。但是访问控制列表会将用户发起连接后返回的报文过滤掉,导致连接无法正常建立。利用ASPF的应用层协议检测可以解决此问题。
当在设备上配置了应用层协议检测后,ASPF可以检测每一个应用层的连接,具体检测原理如下:
· 对于单通道协议,ASPF在检测到第一个向外发送的报文时创建一个会话表项。该会话表项中记录了对应的正向报文信息和反向报文信息,用于维护会话状态并检测会话状态的转换是否正确。匹配某条会话表项的所有报文都将免于接受静态包过滤策略的检查。
· 对于多通道协议,ASPF除了创建会话表项之外,还会根据协议的协商情况,创建一个或多个关联表项,用于关联属于同一个应用业务的不同会话。关联表项在多通道协议协商的过程中创建,在多通道协议协商完成后删除。关联表项主要用于匹配会话首报文,使已通过协商的会话报文可免于接受静态包过滤策略的检查。
单通道应用层协议(如HTTP)的检测过程比较简单,当发起连接时建立会话表项,连接删除时随之删除会话表项即可。下面以FTP检测为例说明多通道应用层协议检测的过程。
图1-2 FTP检测过程示意图
如图1-2所示,FTP连接的建立过程如下:假设FTP client以1333端口向FTP server的21端口发起FTP控制通道的连接,通过协商决定在FTP server的20端口与FTP Client的1600端口之间建立数据通道,并由FTP server发起数据连接,数据传输超时或结束后数据通道删除。
FTP检测在FTP连接建立到拆除过程中的处理如下:
(1) 检查FTP client向FTP server发送的IP报文,确认为基于TCP的FTP报文。检查端口号,确认该连接为FTP client与FTP server之间的控制连接,建立会话表项。
(2) 检查FTP控制连接报文,根据会话表项进行TCP状态检测。解析FTP指令,如果包含数据通道建立指令,则创建关联表项描述对应数据连接的特征。
(3) 对于返回的FTP控制连接报文,根据会话表项进行TCP状态检测,检测结果决定是否允许报文通过。
(4) FTP数据连接报文通过设备时,将会触发建立数据连接的会话表项,并删除所匹配的关联表项。
(5) 对于返回的FTP数据连接报文,则通过匹配数据连接的会话表项进行TCP状态检测,检查结果决定是否允许报文通过。
(6) 数据连接结束时,数据连接的会话表项将被删除。FTP连接删除时,控制连接的会话表项也会被删除。
传输层协议检测是指通用TCP/UDP检测。通用TCP/UDP检测也是通过建立会话表项记录报文的传输层信息,如源地址、目的地址及端口号等,达到动态放行报文的目的。
通用TCP/UDP检测要求返回到ASPF外部接口的报文要与之前从ASPF外部接口发出去的报文完全匹配,即源地址、目的地址及端口号完全对应,否则返回的报文将被丢弃。因此对于FTP这样的多通道应用层协议,在不配置应用层检测而直接配置TCP检测的情况下会导致数据连接无法建立。
表1-1 ASPF配置任务简介
配置ASPF策略 |
||
对于支持安全域的设备,需要根据实际组网情况选择在接口上应用ASPF策略,或者在安全域间实例上应用ASPF策略 |
配置ASPF策略时,请遵循以下配置指导:
· 在未配置应用层协议检测,直接配置TCP或UDP检测的情况下,可能会产生接收不到应答报文的情况,故建议应用层检测和TCP/UDP检测配合使用。
· 对于单通道协议,如Telnet应用,直接配置通用TCP检测即可实现ASPF功能。
创建ASPF策略,并进入ASPF策略视图 |
||
(可选)开启ICMP差错报文丢弃功能 |
缺省情况下,不丢弃ICMP差错报文 |
|
(可选)开启非SYN的TCP首报文丢弃功能 |
缺省情况下,不丢弃非SYN的TCP首报文 |
只有将定义好ASPF策略应用到接口的出或入方向上,才能对通过接口的特定方向的流量进行检测。在处理入接口报文时需要查找对应接口入方向的策略;在处理出接口报文时需要查找对应接口出方向的策略。如果接口应用了ASPF策略,所有进入或离开该接口的报文都需要与会话表项进行匹配,查找不到与之匹配的会话表项时会触发创建会话表。
如果ASPF与包过滤防火墙协同工作,可以在外部接口或内部接口的入方向或出方向上配置特定的ASPF和包过滤策略,根据特定配置,可以拒绝外部网络上的用户对内部网络的主动访问,但内部网络的用户访问外部网络时,返回的报文可以按照外部接口出方向或内部接口入方向上的ASPF配置进行ASPF检测。
由于ASPF对于应用层协议状态的保存和维护都是基于接口的,因此在实际应用中,必须保证报文入口的一致性,即必须保证连接发起方发送的报文和响应端返回的报文经过同一接口。
只有将定义好ASPF策略应用到安全域间实例上,才能对通过安全域间实例的流量进行检测。如果安全域间实例上应用了ASPF策略,所有通过该域间实例的报文都需要与会话表项进行匹配,查找不到与之匹配的会话表项并且符合包过滤放行条件时时会触发创建会话表。
在域间实例上ASPF必须与包过滤防火墙协同工作:通过在域间实例上应用包过滤策略,可以允许源安全域的用户主动访问目的安全域所连接网络;通过在域间实例上应用ASPF策略,由ASPF策略对源安全域用户访问目的安全域的报文以及对应的反向报文进行检测和放行。
zone-pair security source source-zone-name destination destination-zone-name |
||
缺省情况下,安全域间实例上应用了一个缺省的ASPF策略,该策略支持对所有协议报文进行ASPF检测 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后ASPF的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除ASPF的统计信息。
表1-5 ASPF显示和维护
查看ASPF策略配置信息及接口应用ASPF策略的信息 |
|
查看接口上的ASPF策略信息 |
|
查看ASPF策略的配置信息 |
|
查看ASPF的会话表信息 |
|
删除ASPF的会话表 |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!