ASPF(Application Specific Packet Filter)多通道协议

作用:针对应用层的包过滤

注:防火墙使用浏览器界面版参考: http://www.fishyoung.com/post-245.html
我学习的视频(B站):https://www.bilibili.com/video/BV1D5411s7ZJ?p=15

技术背景:

为了解决多通道协议的转发而引入。

(1)对多通道协议的应用层数据进行解析识别这些协议协商出来的端口号,从而自动为其开放相应的访问规则,解决这些协议不能正常转发的问题。
(2)动态生成Server-map表项(ASPF的实现基础),即简化了安全策略的配置有确保了安全性
(3)可以把ASPF看做是一个穿越FW的技术,ASPF生成的Server-map表项,相当于在FW上打开一个通道,使多通道协议的后续报文不受安全策略的控制,利用该通道就可以穿越FW

使用FTP协议做例子演示,以下是对FTP的介绍

FTP协议(File Transfer Protocol,文件传输协议)是一个用于在计算机网络上客户端和服务器之间进行文件传输的应用层协议,包括FTP服务器和FTP客户端两个组成部分。

FTP连接类型

控制连接:端口号21
	用于控制命令及命令执行信息
	再会话期间一直保持打开
数据连接:
		**被动模式和主动模式的端口号不一样,下面有介绍**
	用于数据传输,包括数据上传、下载、文件列表发送
	再数据传输结束后将终止

Android 网络多通道复用 多通道协议_其他

FTP运行模式

主动模式(Active Mode)
	称为port模式
	使用三次握手创建控制连接后,创建传输数据的通道是这样创建的
	客户端C,服务器端S
	C:喂,我要用主动模式连接你了,我用的端口是(13*256+238=3566)(随机)。
	S:好的,我知道了。(S拿着自己的20,去找到3566,创建连接)

Android 网络多通道复用 多通道协议_运维_02

被动模式(Passive Mode)
	称为PASV方式
	创建控制连接后,创建数据连接方式
	C:大哥,我要用被动模式连接你了.
	S:来啦,老弟。我用的端口号是5635(随机)。
	C:得到S的端口号之后(拿着3789,去和S创建连接)
	当传输数据时,双方使用这两个端口号建立连接
总结:数据传输时,
		主动模式,客户端使用随机端口号,服务器端使用20端口号
	  被动模式,双方都是用随机端口号。

注释:两种模式,都是站在服务器角度。

Android 网络多通道复用 多通道协议_其他_03

实例演示

一、网络拓扑

Android 网络多通道复用 多通道协议_Android 网络多通道复用_04


防火墙的配置

//配置IP地址

int g1/0/0

ip add 1.0.0.254 24

int g1/0/1

ip add 2.0.0.254 24

//将接口添加到区域中

firewall zone trust

add int g1/0/0

firewall zone untrust

add int g1/0/1

//创建策略可以使FTP互通

security-policy

rule name ftp

so trust

des untrust

action permitCLient1配置

Android 网络多通道复用 多通道协议_Android 网络多通道复用_05


Android 网络多通道复用 多通道协议_其他_06


FTP服务器配置

Android 网络多通道复用 多通道协议_其他_07


Android 网络多通道复用 多通道协议_其他_08


1.进入服务器端-服务信息,开启服务器

2.对g1/0/0接口进行抓包

3.进入客户端-客户端信息,进行登录

4.得出服务器使用20端口进行数据传递

Android 网络多通道复用 多通道协议_运维_09


将文件传输模式修改为PASV(被动传输模式)重复上述过程,得到服务器传输端口为随机端口

Android 网络多通道复用 多通道协议_其他_10

对防火墙进行分析,此时查看到ASPF中FTP是划对号的,也就是说,当有ftp协议通过是会创建server-map表项,来通过防火墙,此时我们将ASPF中的ftp关闭(将对号取消-应用)。

Android 网络多通道复用 多通道协议_安全_11


取消后发现,被动模式可以传输,主动模式无法传输。

原因:主动模式时,服务器使用的是20端口号,防火墙检测到有ftp服务产生(即检测到20端口,和21端口有使用ftp协议).所以被防火墙阻止。

被动模式时,由于传输数据服务器使用的是随机端口,(并且,之前配置的策略允许任意包通过)所以被动模式数据可以通过。

当我们修改策略,只将防火墙的ftp通道打开,

Android 网络多通道复用 多通道协议_安全_12


发现,两个模式都无法传输数据。因为在控制连接时,使用的tcp协议包无法通过。

但是开启ASPF中的ftp后,两种模式又都可以连通ftp。

这就是所谓ASPF的作用:当策略允许某个协议通过,但是这个协议是一个多端口的协议,由于端口不确定,这时防火墙无法判断是否,允许该端口的数据通过,而ASPF解决了这个问题。

当策略允许某个多端口协议通过,并且ASPF该协议开启时,该协议才能完美的通过防火墙。