本站域名:http://goxia.maytide.net or http://sufan.maytide.net
移动设备请访问:http://goxia.maytide.net/m
转载文章,请务必保留出处与作者信息,未经许可严禁用于商业用途!
[IIS] 在 IIS7 上配置 FTP7 使用 IIS管理凭据 方式进行验证
在 IIS7 上配置 FTP7 使用 IIS管理凭据 方式进行验证
在 Windows Server 2008 R2 发布后,gOxiA 就开始着手于相关的测试和评估。IIS 是重点测试和评估之一!而今天与大家分享的是如何在 IIS7 上配置 FTP7 使用 IIS管理凭据 方式进行身份验证。提到 MSFTP 服务,恐怕知道的人多,但是真正使用的人少!特别是 IDC 环境下多数会选择 Serv-U FTP Server,gOxiA 从 Windows Server 2008 开始就不再使用 Serv-U,原因很简单!Serv-U 不是免费的,此次 Serv-U 默认存在安全隐患。况且开放 FTP 也是为了方便自己维护网站,下载上传资料用!所以用系统自身的软件不是更好!维护也相对容易很多!但是,使用过 MSFTP 的朋友知道从 FTP7 开始,微软才为 MSFTP 设计提供了对非 Windows 身份验证功能的支持,也就是说如果我们要访问 MSFTP 则不必再在系统里添加用户帐号,而可以使用 IIS 来统一管理单独的凭据!现在我们再也不用担心,使用 MSFTP 会存在用户帐号安全隐患的问题。
这是一篇 Step by Step,所以其中涉及到的相关原理及知识内容不作过多介绍!我们将通过 IIS7 提供的 IisManagerAuth 身份验证模块来实现 IIS管理凭据的 FTP 帐号。具体步骤如下:
在开始配置之前,我们需要修改相关目录的目录安全权限,这一步骤是必须的,否则在登录 FTP 的时候会出现错误。如下图所示,我们会看到由于权限不足导致无法读取配置文件的错误提示。而无权限读取的文件是位于 inetsrv\config 下的 redirection.config 文件。经过 gOxiA 的测试发现即使为该文件添加了相应的权限但仍提示登录失败,最终要配置 config 目录权限,赋予 Network Service(FTP7 进程的默认帐户)有读取权限后才能正常登录。
为了简单的演示目录权限的设置过程,gOxiA 参考了 IIS.net 中相关文章的命令行,其中涉及到的 cacls 可以直接运行就可以得到参数帮助。要执行的命令行如下:
配置了 config 目录权限后,请确保 “Network Service”对该目录下的 administration.config 和 redirection.config 文件有读取权限,否则请执行如下命令行:
之后创建一个 FTP 的默认目录,注意请添加“Network Service”有完全控制的权限。
下面,我们开始配置 IIS7,创建一个 FTP 站点,为其启用 IisManagerAuth,并创建一个 IIS管理凭据的帐户,使其具备 FTP 相应的访问权限。
[IIS7] 为 FTP7 RTM 配置 Windows Firewall
FTP 应用之所以回归 Microsoft FTP Publishing Service 主要的原因是使用了 IIS7,在此介绍一下!当前的网站是建立在 Windows Server 2008 Web 之上的。虽然网站主要使用 PHP 脚本,但是 Web 平台我依旧钟情于 IIS,特别是全新的 II7 。不知道长期关注本 Blog 的朋友是否发现访问速度有所提升呢?本站依靠 IIS7 的 PHP FastCGI 技术,有效的将 PHP 脚本解析速度足足提升了一倍还多。
早先本打算使用 Windows Server 2008 Web RTM 版 IIS7 内置的 FTP 服务,但是发现该 FTP 服务器版本是 6.0,而 FTP7.0 RTM 是之后发布的,到目前为止 FTP7.0 还没有发布中文版。即使如此,我还是决定安装 Microsoft FTP Publishing Service for IIS7(FTP7.0),毕竟 FTP 主要是自己更新网页上传图片使用,如果再单独安装第三方的 FTP Server,除了资源上的占用和兼容性的问题,恐怕还要多操心安全问题了!
FTP7 的安装很简单,从 Microsoft Download Center 下载了 Microsoft FTP Service for IIS 7.0,根据向导一路回车便完成了安装。建立了一个 FTP 站点,本地进行了连接测试。之后通过 ISA 将其发布出去,问题来了!外部的用户无法访问,检查发现 FTP7 并未在 Windows Firewall 中添加通过策略,于是手工增加 TCP 21 Port !外部访问异常,通过 FTP 客户端连接登录偶尔出现无法列表目录,配置 Windows Live Write 的图片上传时,无法通过 FTP 浏览目录。经测试发现是被动模式连接失败,无法打开被动端口。