我想在 Windows Server 2012 上的 IIS 上运行一个 FTP 站点。我知道我必须打开端口 21,但我在其中一个 AWS 页面上看到,这表明我还需要在较高范围内打开一堆端口。
“如果您使用的是 AWS Web 控制台,只需选择“自定义...”选项,然后指定 21 作为“从端口”和“到端口”。但请注意,FTP 是一种过时的协议。为了使其正常工作,您需要告诉您的 FTP 客户端使用被动模式,然后您需要在您的实例上打开一系列其他端口(通常是公共空间中非常高的值,如 65000-65535),然后告诉您的 FTP 服务器软件使用该范围。基本上,当 FTP 客户端连接到端口 21 时,他们会立即被告知重新连接到其中一个可用端口,其余会话将通过该端口号进行。”
打开这么多端口不是很危险吗?我是否认为我也需要在 Windows 防火墙上打开所有这些端口?
答案1
不要使用 FTP
FTP 本身并不安全。密码和数据以纯文本形式传输。此外,由于其协商端口的方式(解释这里),设置防火墙或 NAT 路由器以便与所有客户端可靠地协作可能会很困难。
改用 SCP、SFTP 或 FTPS。
这些更现代的协议允许更容易的防火墙配置,提供运动加密,并且无论如何都受到许多典型的 FTP 客户端的支持。