我们有一个安装了 IPS 模块的 Cisco ASA 5510 防火墙。
我们有一位客户,我们必须通过 VPN 连接到其网络才能通过 FTP 交换文件。我们在本地工作站上使用 Cisco VPN 客户端(版本 5.0.01.0600),这些工作站位于防火墙后面并受 IPS 约束。
VPN 客户端成功连接到远程站点。但是,当我们开始 FTP 文件传输时,我们只能上传 150K 到 200K 的数据,然后一切都停止了。一分钟后,VPN 会话断开。
我认为我已经通过使用以下命令暂时禁用 ASA 上的 IPS 服务策略,将此问题隔离为 IPS 问题:
访问列表 IPS 行 1 扩展允许 ip 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 不活动
发出此命令后,我建立了到远程站点的 VPN,并成功传输了整个文件。
当仍然连接到 VPN 和 FTP 会话时,我发出了启用 IPS 的命令:
访问列表 IPS 行 1 扩展允许 ip 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0
再次尝试文件传输,再次成功,因此我关闭了 FTP 会话并重新打开它,同时保持相同的 VPN 会话打开。此文件传输也成功了。这告诉我 FTP 程序没有被过滤或导致问题。此外,我们每天使用 FTP 与许多网站交换文件,没有任何问题。
然后我断开了原来的 VPN 会话(该会话是在访问列表处于非活动状态时建立的),并重新连接 VPN 会话,此时访问列表处于活动状态。启动 FTP 传输后,文件在 150K 后停止。
对我来说,这似乎是 IPS 正在阻止,或者以某种方式干扰了远程站点的初始 VPN 设置。
这种情况是在上周应用最新的 IPS 签名更新(签名版本 407.0)后才开始发生的。我们之前的签名版本是 95 天前的,因为系统没有自动更新。
对于导致此问题的原因您有什么想法吗?
答案1
尝试在发送端降低 MTU(实际上两端可能都需要它)。可能是某个设备没有生成或没有正确传递路径 MTU 发现数据包。如果将两端的 MTU 降低到 1350 可以解决问题,则调查是否有 ACL 阻止 ICMP。
答案2
407 签名中没有任何与 FTP 相关的内容。通常,当您遇到类似这样的 FTP 问题时,即开始然后停止,这通常与主动 FTP 与被动 FTP 有关。您使用的是什么 FTP 客户端?尝试在您的 FTP 客户端上将其从主动更改为被动,看看是否有帮助。
在主动 FTP 中,您通过 FTP 访问的地方会在与传入请求不同的端口上启动数据传输……这就是它通常被防火墙阻止的原因。
在被动 FTP 中,您启动到不同端口的数据传输,并且它可以起作用,因为大多数防火墙允许所有出站操作发生。
编辑后添加: 签名是累积的。虽然 407 更新没有显示任何与 FTP 相关的内容,但从 95 天前到现在的所有其他更新都可能有内容。不过我不会研究每个更新来帮你找出答案 ;)
由于您还有其他问题,所以我也想问一下...除了将流量转移到 IPS 模块之外,您是否还对这台 5510 使用默认检查?如果是,您真的不需要。
答案3
它开始传输的事实表明它在建立 FTP 会话的数据部分时没有问题,这排除了 ACL 阻止连接进出的可能性。在大型文件传输期间 VPN 会话本身的中断似乎确实表明 IPS 正在对连接采取行动(尽管您可能认为它只会终止 FTP 会话,但这些操作是可配置的,所以谁知道呢?)如果您认为是您的 IPS 中断了 VPN 会话,您应该查看日志,如果是您的 IPS 中断它,IPS 会发出警报。您的 IPS 是在混杂模式(基本上是 IDS 模式)还是内联模式下运行?据我所知,如果它处于混杂模式,它就无法丢弃流量,因为它只接收流量的副本。由于到目前为止它一直在您的终端上没有任何变化(除了签名更新),我想问客户他们是否在他们的终端上做了任何更改,以禁止超过一定大小的大型文件传输;特别是因为您说您可以毫无问题地通过 FTP 传输到其他站点。如果只有这一位客户有此问题,那么问题肯定出在他们那边。
答案4
如果 ftp 传输是 PASV,则需要在防火墙上启用数据包检查和适当的 ACL。
首先备份您的运行配置!
这是我在 Cisco ASA 5505 上进行数据包检查的程序
- ssh/telnet 到防火墙
- 使能够
- 康福特
- 类映射检查默认
- 匹配默认检查流量
- 按 ctrl+z
- 康福特
- 策略图 global_policy
- 检查类_默认
- 检查 ftp
- 写内存