Max*_*Max 1 windows iis windows-server-2008 ssl ftp
按照这些说明,我在启用Require SSL connections. 但是我无法通过 SSL 连接到 FTP 服务器。
故障排除已完成 -
服务器上的禁用防火墙
-did nmap 到报告以下端口的服务器:
PORT STATE SERVICE
21/tcp open ftp
53/tcp open domain
88/tcp open kerberos-sec
135/tcp open msrpc
139/tcp open netbios-ssn
389/tcp open ldap
443/tcp open https
445/tcp open microsoft-ds
464/tcp open kpasswd5
593/tcp open http-rpc-epmap
636/tcp open ldapssl
1433/tcp open ms-sql-s
1723/tcp open pptp
3268/tcp open globalcatLDAP
3269/tcp open globalcatLDAPssl
3389/tcp open ms-term-serv
49152/tcp open unknown
49153/tcp open unknown
49154/tcp open unknown
49155/tcp open unknown
49157/tcp open unknown
49158/tcp open unknown
49159/tcp open unknown
Run Code Online (Sandbox Code Playgroud)
-基于这个 TCP 端口列表,我希望看到FTPS (990)或SFTP (22)打开。如果我转到 FTPBindings...设置,则只有一个列表fto (21),我无法添加任何其他与 FTP 相关的选项。如果我尝试添加 HTTPS
- 尝试filezilla作为客户端并通过端口 21 进行以下测试:
FTP 模式 -> Response: 534 Policy requires SSL.
SFTP 模式失败-> 接收Response: 220 Microsoft FTP service
FTPS 模式后客户端满意-> 客户端发送看起来像客户端问候的内容,失败Response: 451 The parameter is incorrect.
问:如何进一步解决此问题(最终目标是能够强制客户端使用安全的 FTP)?
我真的被困在这一点上。我已经尝试了Filezilla为我提供的所有协议( FTPS, SFTP, FTPES):要么Filezilla开始谈论明文 FTP 并IIS返回Response: 534 Policy requires SSL,要么尝试启动安全连接并且我得到诸如Response: 451 The parameter is incorrect或 之类的响应Response: 431 Failed to setup secure session。
我正在使用wireshark 嗅探流量,我可以看到它filezilla正在正确使用我正在设置的端口。我已经添加了几个端口的FTP上的IIS结合(例如21,22,990...,TCP握手是否正确建立在任何情况下),我得到什么我尝试相同的行为。
我还查看了 FTP 登录信息,c:\inetpub\logs\LogFiles我得到的都是无用的消息,例如
ControlChannelOpened, ControlChannelClosed, AUTH TLS,AUTH SSL这无助于理解为什么事情实际上会失败。
问:我如何进一步解决这个问题(ISS FTP 是否有调试模式)?
小智 5
你的测试成功了。您正在设置的实际上是 FTPS 或 FTP-Secure,Filezilla 在您的测试中通过成功的 220 响应注意到了这一点。尽管名称相似,但 SFTP 是一种完全不同的动物,它通过 SSH(Linux 标准)连接传输文件。
端口是不可知的,也就是说,它们并不特别关心您发送的流量是否加密,它们只要求发送方(服务器)和接收方(客户端)使用相同的端口的交通。因此,如果您知道您只会通过端口 21 发送流量,请记住服务器需要 SSL 连接。
如果您不控制客户端及其允许连接的端口,则应将 IIS FTP 端口从默认的 21 更改为行业标准 990。在 IIS 中更改端口非常简单,在步骤 4 中您使用的教程,只需将默认端口 21(如下图所示)更改为 FTPS 端口 990。IIS 控制面板的屏幕截图 http://learn.iis.net/file.axd?i=1612
请记住也将您的防火墙重置为端口 990,并重新启动 IIS 服务器以使更改生效。
我认为我们在找出问题时可能会有点混乱,因此我没有更改更多设置并可能产生更多问题,而是在我的 Windows 7 笔记本电脑上使用 localhost 创建了一个测试服务器,并使用 Filezilla 连接到它。因为您向我展示了有关创建 FTP 站点的教程,并且您能够毫无问题地创建非安全连接,所以我将忽略这一点并专注于 Filezilla 会话,在那里问题发生的可能性更大.
首先,我设置了我的默认 FTP 站点,称为“Test”。请记住,我运行的是 Windows 7,因此即使步骤相同,它们看起来也可能与您的服务器不同。
正如我之前所说,端口并不重要,唯一的要求是服务器和客户端使用相同的端口。但是,按照惯例,我将继续使用端口 990。
我告诉 IIS 需要 SSL 连接(默认允许是可以的,但我们想强制客户端使用 SSL,所以我们很清楚这就是我们想要的)。而且,因为我们正在测试,我们将使用默认的 IIS Express 开发证书,如下面的屏幕截图所示。在现实生活中,您应该从信誉良好的来源获得 SSL 证书,但如果您不这样做,您可能能够连接,但客户端会发出警告。(披露:我对使用 SSL 保护网站并不十分熟悉,因此我会在向公众发布您的网站之前确认您的设置)
站点启动后,确认您正在使用前缀ftps://连接到服务器。这就是 FTP 客户端知道您需要创建安全连接的方式,也是我不断重复端口号无关紧要的原因。继续使用您设置的用户名和密码(我使用匿名且没有密码),并在最后插入您的端口号,但如果您使用 FTPS 默认值 990,Filezilla 往往会在你连接。我的日志显示在下面的屏幕截图中。
想到的最后一个问题是:确保服务器和客户端之间的时钟设置正确。它可能会关闭几个小时,但 SSL 使用时间戳来验证安全性,并且通常将计算机设置为默认的加利福尼亚时区,并且用户天真地将时间重置为本地时间而不更正时区。这会在时间上产生巨大的变化,并且可能会导致奇怪的 SSL 错误。
让我知道您的日志的外观,我会看看是否可以从那里帮助您!
| 归档时间: |
|
| 查看次数: |
8885 次 |
| 最近记录: |