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 具有管理员权限:
双打 “默认网站”条目
骨料 网站下方有一个部分
在一节中 针对特定地点,添加
保存并重新加载 IIS;现在您将能够使用 FTP 客户端连接到“localhost”,并根据您的规则验证匿名(读取)和经过身份验证(读/写)访问。
有了以上所有内容,您就拥有了一个在 IIS 上强大的 FTP 服务器,其中包括 FTPS、用户隔离、防火墙规则、过滤、日志记录和自定义消息传递;此外还有经过微调的 NTFS 权限、灵活的虚拟目录以及用于自动化部署的备用配置文件创建方法。
艾萨克对字节世界和一般技术充满热情的作家。我喜欢通过写作分享我的知识,这就是我在这个博客中要做的,向您展示有关小工具、软件、硬件、技术趋势等的所有最有趣的事情。我的目标是帮助您以简单而有趣的方式畅游数字世界。