我在 Windows 2008 服务器上的 IIS 下运行 FTP。该计算机不属于域。我还使用了用户隔离。
我设置了一个测试用户来验证我是否能从互联网连接到服务器。我使用在线 FTP 客户端来测试连接。我成功登录了服务器。完成测试后,我在“计算机管理器”中禁用了用户帐户。禁用帐户后,我尝试从在线 FTP 客户端再次连接。令我惊讶的是,它允许我用禁用的帐户登录服务器。我的第一个想法是在线工具一定缓存了结果。为了测试这个理论,我重命名了用户主文件夹中的一个文件并再次连接。果然,在线客户端再次成功连接并检索了包含最新文件名的更新文件列表。
这似乎是 Windows 2008 中一个相当严重的安全漏洞。这是怎么回事?FTP 服务是否缓存了用户数据库,因此针对过时的数据进行身份验证?
最终它会拒绝该用户,但系统需要大约半小时才能识别出该用户已被禁用。
编辑:
我使用以下测试站点来验证我是否可以以禁用用户身份登录我的 ftp 站点 https://ftptest.net/ https://www.infobyip.com/ftptest.php
以下是此站点的一些 IIS 设置:
- 匿名身份验证已禁用
- 基本身份验证已启用
- FTP 目录浏览 = MS-DOS
- 允许 SSL 连接已选中
- Ftp 日志记录设置为每日滚动日志文件
- FTP 用户隔离设置为用户名目录(禁用全局虚拟目录)
答案1
IIS 使用需要从缓存中删除的令牌来阻止以前能够访问该站点的人。清除此缓存的最小间隔可以设置为 15 分钟。如果重新启动 IIS,缓存也会被清除。
https://support.microsoft.com/en-us/help/152526/changing-the-default-interval-for-user-tokens-in-iis