FTP能连上却列不出文件:USG开ASPF把动态通道放行
防火墙策略配完,FTP却用不起来,是出口设备上最常见的怪现象之一:客户端能连上服务器,登录提示也正常,一到列目录、传文件就卡死超时。不少人第一反应是"策略没配对",把端口一通乱放还是不好使,反而把安全面越放越宽。真正的原因藏在FTP协议的构造里——它跑两条通道,你放行的只有一条。华为官方文档的解法是开ASPF的应用层检测,让防火墙看懂FTP的对话,替动态弹出的数据通道自动开门。
FTP天生两条通道
FTP的控制通道固定走21端口,登录、敲命令都在这条通道上;而真正的文件传输走数据通道,端口是服务器在对话里临时协商出来的,客户端根本无法提前写进策略。只放行21端口,控制通道顺畅、数据通道被拦,症状正是"连得上、列不出"。这类带动态通道的协议(FTP、SIP、PPTP等)靠传统包过滤没法处理,必须让防火墙读懂协议内容——它在五元组之外还盯着一层:报文里说的是什么、商量好了用哪个端口,包过滤看不见的东西,应用层检测看得见。
第一步:接口入域,底座照旧
官方案例的拓扑是内网经防火墙访问DMZ里的FTP服务器,两个接口分别入trust和dmz区域:
<HUAWEI> system-view
[HUAWEI] sysname DeviceA
[DeviceA] interface ge 0/0/1
[DeviceA-GE0/0/1] undo portswitch
[DeviceA-GE0/0/1] ip address 192.168.1.1 24
[DeviceA-GE0/0/1] quit
[DeviceA] interface ge 0/0/2
[DeviceA-GE0/0/2] undo portswitch
[DeviceA-GE0/0/2] ip address 10.1.1.1 24
[DeviceA-GE0/0/2] quit
[DeviceA] firewall zone trust
[DeviceA-zone-trust] add interface ge 0/0/1
[DeviceA-zone-trust] quit
[DeviceA] firewall zone dmz
[DeviceA-zone-dmz] add interface ge 0/0/2
[DeviceA-zone-dmz] quit
第二步:安全策略只放控制端口
策略只精确放行21端口,这就是ASPF的价值底色——控制通道走策略,数据通道交给检测:
[DeviceA] security-policy
[DeviceA-policy-security] rule name policy_sec_ftp
[DeviceA-policy-security-rule-policy_sec_ftp] source-zone trust
[DeviceA-policy-security-rule-policy_sec_ftp] source-address 192.168.1.0 24
[DeviceA-policy-security-rule-policy_sec_ftp] destination-zone dmz
[DeviceA-policy-security-rule-policy_sec_ftp] destination-address 10.1.1.2 32
[DeviceA-policy-security-rule-policy_sec_ftp] service protocol tcp destination-port 21
[DeviceA-policy-security-rule-policy_sec_ftp] action permit
[DeviceA-policy-security-rule-policy_sec_ftp] quit
第三步:域间开启FTP检测
在trust与dmz的域间视图挂上detect ftp,防火墙开始解析FTP控制报文,协商出的数据通道自动放行:
[DeviceA] firewall interzone trust dmz
[DeviceA-interzone-trust-dmz] detect ftp
[DeviceA-interzone-trust-dmz] quit
验证用会话表:能同时看到ftp与ftp-data两条会话,说明数据通道已被检测机制放行:
<DeviceA> display firewall session table
Current Total Sessions : 2
ftp VPN:public --> public 192.168.1.2:2051+->10.1.1.2:21
ftp-data VPN:public --> public 10.1.1.2:20-->192.168.1.2:2052
策略收紧与检测配合才成立
这套机制的妙处在安全账算得清:策略面上只有21端口一条窄缝,数据通道的放行是检测机制读懂对话后按需开的,开多久、开给谁,都挂在会话表上随会话结束而关闭,比手工放一大段端口范围干净得多。会话表里那条ftp-data记录就是机制工作的直接证据,会话一结束条目随之消失,不留常开的洞。配套要注意:换了服务端口的自定义FTP场景要按官方指引调整检测方式;排查时先看会话表里有没有ftp-data条目,没有就说明检测没生效,从detect配置往回查。这条经验还能举一反三——凡是"命令能通、业务不通"的协议,先想想它是不是也有动态通道,SIP语音、视频类协议同理,思路通了排障就快了。
放行要精准,数据也要管得精准。贵州诚鑫致达科技为企业做防火墙策略梳理与NAS数据管理的成套服务,欢迎搜索关注交流。
企业存储选型参考|贵州诚鑫致达
做机房存储、虚拟化或监控归档,群晖机型参考:FS6400(全闪存阵列) · SA3610 · SA3410。需要选型建议或上门评估,搜「诚鑫致达」即可找到我们。
服务区域|贵州诚鑫致达
贵州群晖NAS、贵阳存储、数据备份、信创云盘或 IT 集成服务,可联系贵州诚鑫致达科技,服务范围覆盖贵州全省各市州。广西南宁企业存储与网络建设维护,本地化技术支持。