ftp是单向的还是双向的?如果我需要允许它通过防火墙出站,那么允许它从内到外是足够的吗?还是需要是双向的?
那SFTP呢?
Thx
发布于 2014-08-16 06:44:26
由于您的评论显示客户端位于外部,而服务器位于内部,因此外部客户端将启动到您内部服务器的连接。因此,您的防火墙必须有一个ACL在您的外部接口上允许这样做,但这只是故事的开始.
默认情况下,FTP在端口21上有控制通道,在端口20上有数据通道,但是数据通道通常是通过控制信道协商的一些随机端口。使用像Cisco ASA或PIX这样的防火墙,您通常需要启用FTP检查。您的外部ACL只允许tcp/21。检查发生在FTP应用程序层,因此防火墙可以检测数据通道的端口,并为该流量创建一个针孔。
数据传输以客户端确定的主动或被动模式在数据信道上进行。活动模式曾经是主要的默认模式,但现在许多客户端正转向被动模式。活动模式(FTP PORT命令)指示客户端正在侦听服务器发起的传入数据连接的端口(和IP地址)。这常常会中断,因为客户端防火墙通常无法进行检查-等效于让它通过。因此,我们经常看到客户机执行被动模式(FTP PASV命令),该模式要求服务器提供客户端将连接到的端口(侦听PASV端口的服务器)。
如果客户端是被动的,并且将服务器限制在一个小范围的数据通道端口上,那么如果防火墙上没有检查或它的等价物,就需要打开端口块。保持较低的端口数可以防止您在外部ACL上打开太多端口。使用活动客户端而不进行检查,默认的permit inside any any类型语句将允许服务器在数据通道上启动到客户端的连接,尽管您可能仍然会遇到前面描述过的客户端防火墙。
这只是安全的FTP (或SSH),它实际上只是SSH文件传输,而不是FTP协议本身。它默认为tcp/22 --与SSH相同--并且不需要单独的通道。通过防火墙处理这个问题要容易得多,但显然客户机和服务器都需要使用相同的协议。
https://networkengineering.stackexchange.com/questions/10467
复制相似问题