使用 IIS 将您的 PC 变成本地 FTP 服务器

IIS 将 FTP/FTPS 与身份验证、隔离和细粒度连接控制结合在一起。

全面的安全性:FTPS、被动防火墙、过滤、登录限制和权限 NTFS.

操作和审计:虚拟目录、W3C 日志记录和自定义消息。

使用 IIS 将您的 PC 变成本地 FTP 服务器 这是在您的网络内共享文件的一种快速而强大的方式(如果您有兴趣,还可以通过互联网安全地共享文件)。 IIS 包含成熟的 FTP 服务,支持基本身份验证、用户隔离、FTPS(SSL/TLS)、高级日志记录以及一系列针对连接、过滤和消息传递的微调设置。

本指南将提供完整的演练,整合微软和专家发布的多种最佳方案:角色安装、站点创建、安全和防火墙配置、默认服务参数、隔离、请求过滤、日志记录、用户提示、控制台/浏览器测试,甚至还讲解了如何通过编辑 ApplicationHost.config 文件来创建站点。此外,您还将看到*替代方案*以及有关 NTFS 权限的实用说明,以确保一切顺利运行。

要求、兼容性和应该明确的概念

IIS 8 中的 Windows Server 2012 和 Windows 8 现在包含 FTP 服务器 并且非常容易激活。在较旧的环境中(Windows Server 7.0/7.5 R2008 上的 IIS 2008/2 和 Windows 7)FTP 服务作为一项功能分发(7.5 集成到 7.5 中;对于 7.0,它需要单独下载),但配置操作非常相似。

兼容设备 (根据微软文档和操作指南):Windows Server 2012 和 Windows 8 需要 IIS 8,Windows Server 2008/2008 R2/Windows 7 需要 IIS 7.x,并安装相应的 FTP 模块。请将以下文件放在手边。 管理员权限 如果你要发布到互联网上, 访问防火墙/路由器.

步骤 1.在 IIS 上安装 FTP 服务

Windows Server 2012(IIS 8)

打开服务器管理器 从主页点击“添加角色和功能”。

基于功能或基于角色的安装 和“从服务器组中选择一个服务器”;选择 目标服务器.

Web 服务器角色 (IIS) 并展开“FTP服务器”选择“FTP服务器”和“FTP服务”;接受所需的功能。

继续下一步 在“选择功能”中,并在“确认安装选择”中确认,然后按 “安装”.

Windows 8(IIS 8)

控制面板 → 程序 → «打开或关闭 Windows 功能»。

互联网信息服务 → 展开“FTP服务器”,选择“FTP服务器”和“FTP服务”;接受并应用。

实用小贴士:在 Server 2012 上,选中“包括管理员工具(如果适用)”以使系统一次性添加必要的控制台。

相关文章:在 Windows 上设置您自己的家庭 FTP 服务器的教程

步骤 2. 在 IIS 中创建 FTP 站点

打开 IIS 管理器 并在“连接”面板中选择“站点”节点。

操作 → 添加 FTP 站点. 给一个 “FTP 站点名称” 描述性并选择 物理访问路线 (例如,如果要分离内容,则为 %SystemDrive%\inetpub\ftproot 或 C:\FTP)。

链接和 SSL:选择“IP 地址”(您可以保留“全部未分配”或指定 IP)、“端口”(默认为 21)以及可选的“虚拟主机”(如果您计划在同一个 IP 上建立多个 FTP)。

SSL如果您已有证书,请选择该证书,然后选择“允许 SSL”(混合)或“需要 SSL”(需要 FTPS)。如果没有,请暂时取消选中,并在创建证书后返回此屏幕。

认证:将系统/AD 用户凭据设置为“基本”,仅当您想要公共区域时才设置为“匿名”(注意:如果您不使用 FTPS,则以明文形式发送密码)。

授权书:“允许访问”→“所有用户”、“匿名用户”、“指定的用户角色或组”或“指定的用户”。标记权限 “读” 并且,如果适用的话, “写作”.

敲定 并且,如果您愿意,请取消选中“自动启动 FTP 站点”,以便在微调安全性后自行启动。

修复 Windows 11 中的 Wi-Fi 自动断开连接Microsoft IIS 7.x 注意在他们的示例中,他们创建了“我的新 FTP 站点”,将其设置为 127.0.0.1:21,允许 SSL 并允许匿名读取。然后,他们启用了基本身份验证,并为“管理员”用户启用了具有读写权限的授权规则。该模式在 IIS 8 中也同样有效。

步骤 3.FTP 服务的全局设置和默认值

FTP 站点默认设置 应用于新站点。在 IIS 中,“FTP 站点默认值”可让您更改想要了解的选项:

常规:“允许 UTF-8”(默认为 true)和“自动启动”(引导 从站点创建或启动服务时)。

连接: “查看 El Temppo 通道超时、数据通道超时、禁用套接字队列、最大连接数、最大连接数重置、服务器监听日志和未经身份验证的超时。

凭证缓存:“启用”和“刷新间隔”(缓存中保存的秒数)。

文件控制:“允许上传时读取文件”、“允许重命名时替换”和“保留部分上传”。

Truco:如果您预计有大量客户端或长时间传输,请增加超时并调整 “最大连接数”. 对于具有不同 IP 的站点, 禁用套接字队列 避免共享队列。

步骤4.防火墙支持和被动模式

FTP 使用控制通道(21)和数据通道在被动模式下,服务器会开放额外的端口。需要完成两项任务:在 IIS 中配置被动端口范围;在 Windows 防火墙中以及(如果适用)在边界/ISP 处开放这些端口。

IIS → FTP 防火墙支持:定义“数据通道端口范围”(例如,5000-6000 或 0-0(表示临时))和“防火墙外部 IP 地址”。

具有高级安全性的 Windows 防火墙:创建预定义的入站“FTP 服务器”规则,允许连接,并验证端口 21 和被动范围是否开放。如有提示,则重启服务。

如果你发布到互联网除了本地规则之外,还将端口 21 和外围路由器/防火墙上的被动范围转发到 IIS 服务器 IP。

步骤5.隔离FTP用户

用户隔离 阻止用户浏览其根目录以外的内容。“FTP 用户隔离”的主要选项包括:

不要隔离用户:所有会话均从 FTP 站点的根目录启动。“用户名目录”(可选)如果存在同名文件夹,则转到该文件夹;否则,转到根目录。

隔离用户:

用户名目录(禁用全局虚拟目录):将用户锁定在其姓名的(物理/虚拟)文件夹中。

物理用户名目录(启用全局虚拟目录):类似,但全局虚拟目录也适用。

Active Directory 中的 FTP 主目录:使用AD中为每个账户配置的主目录。

个性化:适用于自定义提供程序(高级场景)。

组态:打开“FTP 用户隔离”,选择模式。如果您使用的是 AD,请使用“设置”按钮设置 AD 登录凭据。应用更改。

相关文章:如何在 Windows 的“此电脑”中添加网络位置或服务器的快捷方式

步骤6.目录浏览选项

浏览 FTP 目录 控制客户浏览时看到的列表的格式:

列表样式:MS-DOS 或 UNIX.

选项:显示虚拟目录、可用字节和四位数年份。

Windows 10 文件资源管理器不工作。原因、解决方案和替代方案调整兼容性 与您使用的客户端(例如,某些脚本需要 UNIX 格式)一起应用于站点或服务器级别。

步骤 7. 限制登录尝试

缓解暴力攻击中,“FTP 登录尝试限制”允许您设置:

最大尝试次数 (默认值 4)和 大体时间 (默认 30 秒)。

行动: : 自动拒绝 IP 或仅记录。

建议:对所有生产站点启用限制并监视 FTP 日志查看器中的事件。

步骤 8. 过滤 FTP 请求

过滤 FTP 请求 它是一个限制协议和访问的安全层:

文件扩展名:允许/拒绝。

隐藏片段:拒绝路径(例如敏感文件夹名称)。

拒绝的 URL 序列:路线上的块模式。

科曼多斯:允许/拒绝特定的 FTP 命令(高级;请谨慎使用,否则可能会导致服务器无法访问)。

按站点定制 取决于风险(例如,如果您不想删除,则拒绝 DELE)。

步骤 9.FTP 日志记录

FTP 日志 是审计和诊断的关键。选项:

每个日志文件:站点或服务器。

W3C 字段:选择要保存的信息。

目录 日志:基本路线和 编码 (UTF8/ANSI)。

文件转换:按时间(小时/天/周/月)旋转、按最大尺寸旋转或不旋转。

当地时间 用于文件名和旋转。

评议会:每日或按大小轮换并集中日志进行分析。

相关文章:如何将旧 Android 变成强大的家庭媒体服务器

步骤 10. FTP 消息和横幅

FTP 消息 允许您在连接、欢迎、退出或达到最大连接数时显示文本。行为:

删除默认横幅.

用户变量 在消息中:%BytesReceived%、%BytesSent%、%SessionID%、%SiteName%、%UserName%。

本地请求的详细消息.

定制 横幅、欢迎、退出和最大连接数文本提供上下文和使用规则。

FTP 主页的 NTFS 用户、组和权限

分离内容并应用最小特权原则典型流程:

创建特定用户 (或多个),以及(如果适用)一个用于管理通用权限的组。在 Windows 中,打开用户管理并创建用户并设置密码(如果是服务用户,则可以将密码设置为永不过期)。

创建 FTP 文件夹 (例如,C:\\FTP)并打开其“属性→安全→高级选项”。

禁用继承 以及“将继承的权限转换为此对象的明确权限。”

删除 不必要的条目(例如,如果机器的“用户”不应该访问的话)。

添加 FTP 用户/组 并授予该文件夹的“完全控制”权限,以便读取/写入/删除而不会出现错误。

关联路线 在 IIS 中创建站点时,限制 授权书 在向导中向具有必要权限的用户/组提供。

FTP 虚拟目录

虚拟目录 将物理路径映射到 FTP 中的别名。例如,别名“dir2”指向 C:\\ftp\\directory2。用户可以执行 cd dir2 并访问其内容而不暴露真实路径。

在 Windows 上设置您自己的家庭 FTP 服务器的教程典型用途:在使用全局虚拟目录隔离时,将分散的文件夹合并到单个 FTP 根目录下,或与多个用户共享特定的子文件夹。

IIS 中的证书和 FTPS (SSL/TLS)

保护凭证和数据,激活 FTPS。基本步骤:

创建证书:在 IIS(服务器级别)中,点击“服务器证书”→“创建自签名证书”。输入名称并保存(个人存储)。或者,使用 CA 或使用以下命令生成一个证书 PowerShell的 (例如。: New-SelfSignedCertificate -FriendlyName "FTP Server" -CertStoreLocation cert:\\LocalMachine\\My -DnsName ftp.midominio.com).

将其链接到 FTP 站点:转到“FTP SSL 设置”,选择证书并选择“需要 SSL”(如果您想在 LAN 上保留未加密支持,则选择“允许 SSL”)。

顾客:在 WinSCP 或 FileZilla 等客户端中使用“带有显式 TLS/SSL 加密的 FTP”(端口 21)。

重要说明:SFTP(通过 SSH的) 与 FTPS 不同;FTPS 由 IIS 实现。如果客户端只使用 SFTP,则无法与 IIS 兼容。

从控制台和浏览器进行测试

首次本地检查 (CMD):

连接 同 ftp localhost对于公开测试,使用“匿名”和您的电子邮件;对于私人测试,使用“管理员”或您创建的用户。

上载档案 同 put archivo.extensión; 积极的 hash 查看您的客户是否支持它的进展。

快速替代方案:打开文件资源管理器并输入 ftp://IP_del_Servidor 在地址栏中,出现提示时输入凭据,并确认您可以根据权限查看和操作内容。

替代方案:第三方 FTP 服务器(FileZilla Server)

如果您更喜欢非 IIS 方法FileZilla Server 允许您通过辅助安装设置本地 FTP 服务器:安装、登录控制台、创建用户、分配密码以及分配共享文件夹权限。这在用户计算机上非常有用,但对于 Windows Server 环境,IIS 可以提供与 FTPS 以及上述功能更精细的集成和安全性。

通过编辑 ApplicationHost.config 创建 FTP 站点

除了 IIS 向导,您可以通过编辑来创建网站 %SystemRoot%\\System32\\inetsrv\\config\\ApplicationHost.config 具有管理员权限:

双打 “默认网站”条目 ,将其重命名为“默认 FTP 站点”,更改 protocol 到“ftp”, physicalPath 到 %SystemDrive%\\inetpub\\ftproot 和到 *:21:.

骨料 网站下方有一个部分 :启用 anonymousAuthentication 如果你想要匿名阅读, basicAuthentication 如果您需要凭证,请将 SSL 策略设置为“允许”(如果您还不需要它)。

在一节中 针对特定地点,添加 带有规则:例如允许读取“*”并读取/写入“管理员”。

保存并重新加载 IIS;现在您将能够使用 FTP 客户端连接到“localhost”,并根据您的规则验证匿名(读取)和经过身份验证(读/写)访问。

有了以上所有内容,您就拥有了一个在 IIS 上强大的 FTP 服务器,其中包括 FTPS、用户隔离、防火墙规则、过滤、日志记录和自定义消息传递;此外还有经过微调的 NTFS 权限、灵活的虚拟目录以及用于自动化部署的备用配置文件创建方法。

艾萨克对字节世界和一般技术充满热情的作家。我喜欢通过写作分享我的知识,这就是我在这个博客中要做的,向您展示有关小工具、软件、硬件、技术趋势等的所有最有趣的事情。我的目标是帮助您以简单而有趣的方式畅游数字世界。