我最近要求在我的 Windows 安装上打开 telnet 客户端。devops 的人告诉我它受到限制,因为它通过明文传递人们的用户名和密码。我假设他指的是使用它来连接到不安全的 telnet 服务器,但我不会为此使用它,而只是将它用于一些快速的 TCP 检查。
我还注意到 OWASP 在他们的文档中引用了正是这样做的。
https://www.owasp.org/index.php/Test_HTTP_Methods_(OTG-CONFIG-006)
那么我错过了什么,客户端是否存在安全问题?
仅安装客户端没有直接的安全问题。这里的问题是客户端和用户使用它来访问具有未加密连接的服务器的组合。进行技术限制比改变人类行为更容易。
删除客户端软件是缓解此问题的唯一方法吗?当然不是,例如在防火墙上阻止未加密的协议可能会更好,并且还可以防止运行自己的可执行文件或使用自己的设备来规避此限制。但是,这仍然是一个合理的公司政策,可能基于经验。
有一些方法可以进行不使用未加密协议的基本连接检查:在 Windows 中,使用命令行,如何检查远程端口是否打开?
其中,我喜欢 Test-NetConnection 包含在 PowerShell 中。nmap 更强大,但它是第三方的。
我说这是使用 telnet 在 UNIX 机器上测试 SMTP 电子邮件。这是愚蠢的低水平,但我明白发生了什么。从未用于登录,telnet 服务始终禁用。