Telnet 是明文传输的远程登录协议,端口默认TCP 23,所有账号、密码、交互数据全部以明文在网络传输,本身安全性极差,生产环境不推荐使用。
一、核心安全风险
账号密码明文泄露 所有报文不加密,网络抓包(Wireshark)可直接截获用户名、密码、输入的命令、返回结果。内网、公网环境下一旦被嗅探,账号直接泄露。
中间人攻击 (MITM) 攻击者拦截 Telnet 流量,可以篡改传输的命令和返回结果;也可以劫持会话,直接接管登录会话。
缺乏身份校验 Telnet 没有服务端身份验证机制,无法确认你连接的是不是真正目标服务器,容易连到伪造的恶意服务器。
容易被暴力破解 23 端口是高危扫描重点端口,公网暴露 Telnet 服务,会持续遭受密码爆破、字典攻击。
无完整性校验 传输的数据没有校验,数据包可被篡改,服务端和客户端都感知不到。
二、使用 Telnet 时需要注意的安全事项
最佳实践:尽量不要使用 Telnet,优先替换为 SSH (22 端口),SSH 做加密、身份认证、完整性保护。如果不得已临时使用 Telnet,遵守下面规则:
禁止公网开放 Telnet 23 端口 Telnet 服务只能局限在内网隔离环境,绝对不能映射到公网;防火墙层面直接封禁外网访问 TCP 23。
不在 Telnet 中输入重要账号密码 哪怕内网使用,也避免输入管理员密码、数据库密码等敏感凭据;仅用于简单端口连通性测试。
小提示:很多人用
telnet ip port只是用来测试端口通不通,这种场景不会登录,风险较低,不要和登录 Telnet 服务混淆。
限制访问源 IP 如果必须开启 Telnet 服务,通过防火墙 / 主机防火墙做源 IP 白名单,只允许指定内网主机访问,拒绝所有其他地址。
不使用弱口令 Telnet 账号设置强密码,缩短密码有效期,降低暴力破解风险。
审计日志开启 开启 Telnet 登录日志,记录登录源 IP、登录时间、操作行为,便于入侵溯源。
避免跨网段传输 尽量在同一局域网内使用,不要经过路由器、跨 VLAN 传输,降低被嗅探的可能性。
用完及时关闭 Telnet 服务 临时调试开启,调试结束立刻关闭 telnetd 服务,关闭 23 端口,不要长期驻留运行。
三、容易混淆的场景
✅
telnet 192.168.1.100 80:仅端口探测,不会登录,没有账号密码泄露风险。❌
telnet 192.168.1.100:连接 23 端口 telnet 服务,需要输入账号密码,存在全部明文风险。
四、替代方案
总结
Telnet 本身协议设计就没有加密能力,再怎么配置也无法从根本解决明文的安全缺陷,只能做风险降低。生产环境一律禁用 Telnet 服务,全部切换 SSH 协议。
本文原创作者:易君召,详见:https://www.yijunzhao.cn/authors/yijunzhao,转载请注明出处。
原文链接
欢迎访问 小易撩挨踢