首页 > 默认分类 > 如何为被动模式 FTP 服务器配置 Windows 防火墙
2013
11-02

如何为被动模式 FTP 服务器配置 Windows 防火墙

应用到: Windows 7, Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, Windows Vista

由于 FTP 工作方式所致,在防火墙后的服务器上使用文件传输协议 (FTP) 服务会产生一系列的挑战。通过打开到 TCP 端口号 21 的“命令通道”连接,标准模式 FTP 客户端会启动到服务器的会话。客户端通过将 PORT 命令发送到服务器请求文件传输。然后,服务器会尝试启动返回到 TCP 端口号 20 上客户端的“数据通道”连接。客户端上运行的典型防火墙将来自服务器的此数据通道连接请求视为未经请求,并会丢弃数据包,从而导致文件传输失败。Windows Vista 和 Windows Server 2008 中的 高级安全 Windows 防火墙 支持有状态 FTP,该 FTP 允许将端口 20 上的入站连接请求与来自客户端的先前出站 PORT 命令相匹配。但是,如果您通过 SSL 使用 FTP 来加密和保护 FTP 通信,则防火墙不再能够检查来自服务器的入站连接请求,并且这些请求会被阻止。
为了避免此问题,FTP 还支持“被动”操作模式,客户端在该模式下启动数据通道连接。客户端未使用 PORT 命令,而是在命令通道上发送 PASV 命令。服务器使用 TCP 端口号进行响应,客户端应连接到该端口号来建立数据通道。默认情况下,服务器使用极短范围(1025 到 5000)内的可用端口。为了更好保护服务器的安全,您可以限制 FTP 服务使用的端口范围,然后创建一个防火墙规则:仅在那些允许的端口号上进行 FTP 通信。

本主题将讨论执行以下操作的方法:

1、配置 FTP 服务以便仅将有限数量的端口用于被动模式 FTP
2、配置入站防火墙规则以便仅在允许的端口上进行入站 FTP 连接

以下过程显示在 Internet 信息服务 (IIS) 7.0 版上配置 FTP 服务的步骤。如果您使用其他 FTP 服务,请查阅产品文档以找到相应的步骤。配置对 SSL 的支持不在本主题的讨论范围之内。有关详细信息,请参阅 IIS 文档。
配置 FTP 服务以便仅将有限数量的端口用于被动模式 FTP
1、在 IIS 7.0 管理器中的“连接”窗格中,单击服务器的顶部节点。
2、在细节窗格中,双击“FTP 防火墙支持”。
3、输入您希望 FTP 服务使用的端口号的范围。例如,41000-41099 允许服务器同时支持 100 个被动模式数据连接。
4、输入防火墙的外部 IPv4 地址,数据连接通过该地址到达。
5、在“操作”窗格中,单击“应用”保存您的设置。

还必须在 FTP 服务器上创建防火墙规则,以在前一过程中配置的端口上允许入站连接。尽管您可以创建按编号指定端口的规则,但是,创建打开 FTP 服务所侦听的任何端口的规则更为容易。通过按前一过程中的步骤操作,您可限制 FTP 侦听的端口。

配置入站防火墙规则以便仅允许到 FTP 所侦听端口的入站 FTP 连接

1、打开管理员命令提示符。依次单击「开始」、“所有程序”和“附件”,右键单击“命令提示符”,然后单击“以管理员身份运行”。
2、运行下列命令:
netsh advfirewall firewall add rule name=”FTP Service” action=allow service=ftpsvc protocol=TCP dir=in
最后,禁用有状态 FTP 筛选,以使防火墙不会阻止任何 FTP 通信。
netsh advfirewall set global StatefulFTP disable

本文来自

http://technet.microsoft.com/zh-cn/library/dd421710

最后编辑:
作者:秋昱
爱企业®创始人,天通苑社区网®COO,高级网络工程师,致力于企业互联网技术服务领域