验证 SFTP,而不是 FTP

验证 SFTP,而不是 FTP

我管理的一个网站的托管服务似乎使用相同的连接信息接受使用 FTP 和 SFTP 的连接。由于该网站遭到黑客攻击(可能是通过嗅探 FTP 进行的),因此我要特别小心,确保将客户端应用程序设置为使用 SFTP 确实会产生安全连接,尤其是因为托管服务(一家非常知名的公司)在为客户记录 SFTP 的可用性和使用方面做得很差。

有没有一种简单的、独立于客户端应用程序的方法来验证 Windows(XP 或更新版本)上是否存在与特定服务器的活动 SFTP 连接?在 MacOS 10.5+ 上,是 GUI 还是 unix shell?

“简单”:便宜(最好是标准的操作系统工具)、易于使用、效果明显,最好适合低技术用户。

短暂性脑缺血发作

结语

对于某些用户来说,完全阻止 FTP 访问可能不可行,但如果 FTP 和 SFTP 是唯一的选择,那么它肯定有望成为一种简单、相当确定的方法来暂时证明特定连​​接不是 FTP。建立并验证连接是否有效,然后阻止 FTP。如今,在 OS 防火墙上执行此操作通常非常简单。如果连接停止工作,则该连接显然是 SFTP。(反之亦然。)这是对我的基本疑问的一个很好的回答。

我知道 SFTP 是一种完全不同的协议。令人尴尬的是,一个重要的客户端应用程序——来自主要供应商的 Web 创作软件——通过将 SFTP 列为 FTP 下的次要选项,强烈暗示了相似性。这可能只是 UI 设计错误,但这就是我担心 SFTP 连接失败可能导致应用程序回退到 FTP 的原因。此外,托管服务对 SFTP 使用完全相同的设置,特别是“ftp.example.com”,这加剧了我的担忧。(这很常见吗?我期望 SFTP 有一个不同的主机,例如“sftp.example.com”)正如我所说,被黑客入侵后,我变得多疑。

谢谢大家!

答案1

我认为您可能会误以为 SFTP 以某种方式源自 FTP,并且如果服务器计算机不提供 SFTP,SFTP 客户端可能会“回退”到普通的 FTP。

SFTP 是 SSH 文件传输协议,它通过 SSH 传输(默认情况下,服务器上的 TCP 端口为 22)。如果远程服务器未侦听 TCP 端口 22(您可以使用 TELNET 进行验证),则很可能您不会执行 SFTP(除非他们在某个非标准端口上运行其 SSH 守护程序)。

sftp在 *nix OS 和大概是 MacOS X(因为它们都是 Unix-ey)上,您可以使用来自 OpenSSH 项目的命令行客户端。

在 Windows 上,温SCP客户端是一个非常好的图形化 SFTP 客户端。

维基百科上的 SFTP 页面提供一些各种 SFTP 客户端的链接。

保护 SFTP 服务器主要是保护 SSH 服务器。不使用密码验证、不允许远程 root 登录、限制可以建立连接的 IP 等。

相关内容