ASPF定义
ASPF(Application Specific Packet Filter,应用层的包过滤)是一种针对应用层的包过滤技术,也称为基于状态的报文过滤。
ASPF目的
ASPF功能可以自动检测某些报文的应用层信息并根据应用层信息放开相应的访问规则(生成Server-map表)。生成的Server-map表,用于放行后续数据通道中的报文,相当于自动创建了一条精细的“安全策略”。
以多通道协议(如FTP、SIP等)为例,这些多通道协议的应用需要先在控制通道中协商后续数据通道的地址和端口,然后根据协商结果建立数据通道连接。由于数据通道的地址和端口是动态协商的,管理员无法预知,因此无法制定完善精确的安全策略。为了保证数据通道的顺利建立,只能放开所有端口,这样显然会给服务器或客户端带来被攻击的风险。此时,开启ASPF功能就可以避免这种风险。
ALG定义
ALG(Application Level Gateway,应用层网关) 是一种NAT穿越技术。
ALG目的
ALG功能用于NAT场景下自动检测某些报文的应用层信息,根据应用层信息放开相应的访问规则(生成Server-map表),并自动转换报文载荷中的IP地址和端口信息。NAT只能转换报文头中的IP地址和端口,无法对应用层的数据进行转换。在许多应用层协议中,报文载荷中也带有地址或端口信息,如果这些数据不进行转换,可能导致后续通信异常。
ASPF和ALG对比
ASPF和ALG都是对应用层报文进行处理,它们使用的是同一个配置。设备会根据是否存在NAT环境以及各个协议的特征来判断何时需要ASPF处理,何时需要ALG处理,何时配置两者同时处理。而对用户来说,只需要配置一次命令,设备会根据不同场景下对报文进行不同处理。表16-1 ASPF和ALG功能对比
配置ASPF/ALG
背景信息
为了简化配置,ASPF和ALG功能使用的是同一个配置命令,无须重复配置。
操作步骤
- 进入系统视图。
system-view
- 配置ASPF/ALG功能。
firewall detect protocol
配置时请注意以下几点:
-
如果需要对多种协议的流量进行ASPF/ALG处理,重复执行该命令。
-
firewall detect sip命令配置的针对SIP协议的ASPF/ALG功能仅对基于UDP协议的SIP流量生效。
-
请根据实际使用需求开启对应协议类型的ASPF/ALG功能,对于不需要开启ASPF/ALG功能的协议类型请及时关闭此功能。
-
检查配置结果
执行命令display firewall detect global,查看ASPF/ALG的配置信息。
是否NAT场景 | 生效的功能 | 作用 |
---|---|---|
非NAT场景 | ASPF | 生成Server-map表项,保证其他主机访问FTP、SIP等主机的报文能穿越设备。 |
NAT场景 | ALG | 对报文载荷中的IP地址进行地址转换。 |
ASPF | 生成Server-map表项(带地址转换信息),保证其他主机访问FTP、SIP等主机的报文能穿越设备。 |