IIS 7 中 Microsoft 和 FTP 的新增功能是什么?

作者:Tim Elhajj 和 R McMurray

兼容性

版本 说明
IIS 7.5 FTP 7.5 服务作为 Windows 7 和 Windows Server 2008 R2 中 IIS 7.5 的功能提供。
IIS 7.0 FTP 7.0 和 FTP 7.5 服务是 IIS 7.0 带外提供的,需要从以下 URL 下载和安装该服务:https://www.iis.net/download/FTP

介绍

Microsoft 发布了一项更新的 FTP 服务,该服务作为 Windows Server® 2008 及更高版本的单独下载提供,后者为 Windows 环境中的 FTP 提供可靠的安全解决方案。 此 FTP 服务专为 Windows Server 2008 及更高版本编写,使 Web 作者能够比以往更轻松且安全地发布内容,并为 Web 管理员和托管商提供更好的集成、管理、身份验证和日志记录功能。 需要注意的是,IIS 有两种 FTP 服务:

  • 用于 IIS 的新 Microsoft FTP 服务作为 Windows Server 2008 的 Web 下载包提供。
  • 其他 FTP 服务随 Windows Vista™ 和 Windows Server 2008 DVD 提供。 (此 FTP 服务本质上与 IIS 6.0 中的 FTP 服务相同。)

新的 FTP 服务器有两个单独的可下载包;需要下载适用于 Windows Server 2008 版本的相应安装包:

  • 32 位安装包

    • 用于 IIS 7.0 的 FTP 7.5 (x86)
  • 64 位安装包

    • 用于 IIS 7.0 的 FTP 7.5 (x64)

有关安装新 FTP 服务的详细信息,请参阅以下演练:

FTP 服务功能

此用于 IIS 的新 FTP 服务支持各种功能和改进,以下列表包含此版本中的多项改进:

  • 与 IIS 的集成
    IIS 具有更新的管理接口和配置存储,新的 FTP 服务与这一新设计紧密集成。 旧的 IIS 6 元数据库已不存在,基于 .NET XML *.config 格式的新配置存储已取代它。 此外,IIS 还有一个更新的管理工具,新的 FTP 服务器可无缝插入到该范例中。
  • 安全性和对新 Internet 标准的支持
    新 FTP 服务中最重要的功能之一是支持 FTP over SSL。 我们还支持使用非 Windows 帐户进行身份验证,使 IT 专业人员和开发人员能够创建没有 Windows 用户帐户的 FTP 用户。 新的 FTP 服务还支持其他 Internet 改进,例如 UTF8 和 IPv6。
  • 共享托管改进
    通过完全集成到 IIS 中,新的 FTP 服务只需将 FTP 绑定添加到现有网站即可托管同一站点中的 FTP 和 Web 内容。 此外,FTP 服务现在支持虚拟主机名,使用户能够在同一 IP 地址上托管多个 FTP 站点。 新的 FTP 服务还改进了用户隔离,现在可以通过每用户虚拟目录隔离用户。
  • 改进的日志记录和可支持性功能
    FTP 日志记录已得到增强,包括所有与 FTP 相关的流量、FTP 会话的唯一跟踪、FTP 子状态、FTP 日志中的其他详细信息字段等等。 IIS 可以选择为本地用户显示详细的错误消息,并且 FTP 服务遵循此范例,方法是在本地登录到 FTP 服务器时提供详细的错误响应。 FTP 服务还使用 Windows 事件跟踪 (ETW) 记录详细信息,后者提供用于故障排除的其他详细信息。
  • 可扩展功能集
    FTP 支持扩展性,使你能够扩展 FTP 服务附带的内置功能。 更具体地说,支持创建自己的身份验证和授权提供程序。 你还可以创建用于自定义 FTP 日志记录和确定 FTP 用户的主目录信息的提供程序。

下面更仔细地介绍了其中每个新功能区域。

与 IIS 的集成

新的 FTP 服务与 IIS 紧密集成,并采用 IIS 正在使用的新配置存储。 作为说明,早期 IIS 版本中的元数据库已被弃用,取而代之的是基于 .NET *.config XML 文件的新配置系统。 此新格式比元数据库更易于读取和配置,FTP 服务充分利用了这一新设计。 IIS 的中央配置存储是 applicationHost.config,FTP 的所有信息都保存在此文件中。 IIS 还包含新的共享用户界面,即 IIS Manager(如下图所示),它用于管理网站和 FTP 站点。

Screenshot of the Default Web Site Home pane in the I I S Manager.

更重要的是,由于 IIS 中的完全 FTP 集成,FTP 服务可以从任何其他 IIS 管理工具或 API 进行管理;例如:AppCmd、Microsoft.Web.Administration、PowerShell 等。

此版本的 FTP 服务通过允许管理员将 FTP 协议绑定到现有网站来简化内容发布,就像绑定 HTTPS 以提供 SSL 一样。 最基本的配置步骤是将 FTP 绑定添加到现有网站,然后定义用于身份验证和授权的 FTP 设置,但提供了一个向导来帮助配置所有 FTP 设置以启用发布。

在发布向导的第一个屏幕上(如下图所示),可配置 SSL 设置和绑定选项,其中包括 IP 地址、端口和虚拟主机名。

Screenshot of the Add F T P Site dialog with the default Binding and S S L Settings.

在发布向导的第二个屏幕上(如下图所示),可配置身份验证和授权设置。 (以后可以添加其他身份验证和授权设置。)

Screenshot of the Add F T P Site Publishing dialog with the default Authentication and Authorization Information settings.

当然,无需将 FTP 协议绑定到网站。 如果只需要 FTP 站点,则仍可以设置仅具有 FTP 绑定的站点。

有关添加 FTP 发布和 FTP 站点的详细信息,请参阅以下演练:

安全性和对新 Internet 标准的支持

用于 IIS 的 FTP 服务支持 IPv6、UTF8 和 FTP over SSL 等新兴 Internet 标准。 我们提供基于 RFC 的 FTPS (FTP over SSL) 实现以及配置选项,使你能够加密控制通道、数据通道或两个通道上的数据。 由于我们采用基于标准的 FTPS 实现,因此支持多个第三方 FTP 客户端。

Screenshot of the Advanced S S L Policy dialog with Control Channel and Data Channel set as Required.

业界已通过几种不同的方式解决了如何保护 FTP 流量的问题。 尽管还没有出现统一的标准,但有两种名称相似的协议:FTPS 和 SFTP。 为了进行澄清,Microsoft 提供了 FTP over SSL (FTPS) 解决方案。 Microsoft 目前没有提供使用 FTP over SSH (SFTP) 保护 FTP 流量的解决方案。

有关 FTP 和 SSL 的详细信息,请参阅以下演练:

非 Windows 帐户的身份验证

我们添加了对其他身份验证方法的支持,这些方法使 Web 托管商能够使用非 Windows 帐户对 FTP 用户进行身份验证。 FTP 服务附带两种此类身份验证方法:

  • Web 管理器身份验证:系统通常会创建这些帐户来管理 IIS 网站
  • .NET 成员身份身份验证:这些帐户通常用于 ASP.NET 的基于表单的身份验证

有关将非 Windows 身份验证与 FTP 配合使用的详细信息,请参阅以下演练:

共享托管改进

FTP 虚拟主机名

在此 FTP 服务中,我们已向 FTP 添加了虚拟主机名支持。 通过使用主机名支持,可以在同一 IP 地址上托管多个 FTP 站点,每个站点具有不同的域名。

Screenshot of the Edit Site Binding dialog with the default I P address and Port number.

有关使用 FTP 虚拟主机名的详细信息,请参阅以下演练:

FTP 用户隔离

我们改进了对 FTP 用户隔离配置的支持。 以前的所有 FTP 用户隔离功能仍都可以向后兼容,但我们对 FTP 用户隔离的工作方式进行了一些更改:

  • 如果使用用户名目录(禁用全局虚拟目录)启用 FTP 用户隔离,则当用户首次登录服务器时,将在与其用户帐户名称匹配的目录中启动。 在早期版本的 FTP 中,必须为每个帐户创建物理目录。 现在不再需要这样做;有了新的 FTP,可以使用虚拟目录。 但是,如果使用此新的隔离选项,则不能再使用全局虚拟目录。 这意味着,若要在多个 FTP 用户之间共享文件夹,必须为每个用户创建一个虚拟目录。

  • 在早期版本的 FTP 中,如果使用物理目录让用户在首次登录到服务器时启动,则可以使用全局虚拟目录。 如果想要在多个 FTP 用户之间共享内容,全局虚拟目录非常有用。 我们保留了此选项,但现在它仅适用于用户名物理目录(启用全局虚拟目录),并且必须创建物理目录才能使用此选项。

Screenshot of the F T P User Isolation dialog configured for users to start in the F T P Root directory.

有关配置 FTP 用户隔离的详细信息,请参阅以下演练:

FTP 目录浏览

现在,可以通过在改进的“FTP 目录浏览”页上选择一个选项,使虚拟目录对 FTP 客户端可见。

Screenshot of Directory Listing Style set as M S dash D O S and Directory Listing Options set to display Virtual directories.

你还可以配置目录浏览选项,以将可用字节返回到 FTP 客户端,如果使用 Windows Server 的文件系统资源管理器 (FSRM) 中的磁盘配额,则这尤其有用。 有关将此功能与 FTP 配合使用的详细信息,请参阅以下演练:

改进的日志记录和可支持性功能

我们现在提供了更好的日志记录支持,包括 FTP 日志中所有谓词的日志记录和其他详细信息字段。 这些新字段包括真实会话戳记,使你能够分析日志,以准确发现用户在整个会话中执行的操作。 我们还为管理员提供了用于记录文件或文件夹请求的完整路径的选项。 这很有用,因为服务器通常只记录文件或文件夹的名称,这使得大型日志文件难以读取。

Screenshot of the Information to Log dialog over the F T P Logging pane in the I I S Manager.

最后,新的 FTP 服务器提供了详细的本地错误消息和 Windows 事件跟踪 (ETW)。 这些功能简化了故障排除,使托管商能够更好地支持其客户。