telnet 的问题无法通过配置修复
telnet 把账号口令与全部会话内容以明文送上网络,同网段抓包就能还原,也能被中间人直接篡改;这不是配置好不好,而是协议本身不具备加密能力,所以它无法通过加固变得安全。正确做法是彻底卸载服务端(telnet-server、telnetd),把管理通道统一到 SSH;客户端命令如需保留做端口连通性排查,要登记用途并限制安装范围。网络设备与带外管理口同样要关闭 telnet。
基本信息
| 加固项 | 明文管理协议清除 |
|---|---|
| 适用平台 | Linux 服务器、网络设备、带外管理模块(BMC/iDRAC/iLO) |
| 权限要求 | root 或设备管理员 |
| 达标判据 | 23 端口无监听、软件包已卸载、设备侧 telnet 功能关闭 |
| 替代方案 | SSH(登录)、SFTP/SCP(传输)、HTTPS(Web 管理) |
典型使用场景
- 等保与 CIS 基线核查“传输保密性”条款
- 新交付服务器与网络设备初始化时关掉默认开启的明文管理
- 网络设备固件升级后复查 telnet 是否被重新开启
- 带外管理口清单治理,把 BMC 的明文访问一并关掉
- 发现有人为图方便私自开启 telnet 后的回收处置
确认与卸载(Linux)
确认与卸载(Linux)
ss -tlnp | grep ':23 ' # 确认是否有服务端在监听
rpm -q telnet-server # RHEL 系:查是否安装
rpm -e telnet-server 2>/dev/null || apt-get remove -y telnetd inetutils-telnetd # 卸载
systemctl disable --now telnet.socket 2>/dev/null # 若由 socket 单元激活,一并停用
systemctl list-units --type=service | grep -i telnet # 复核没有残留服务网络设备侧关闭示例
网络设备侧关闭示例
# 华为 VRP:undo telnet server enable(具体命令以对应版本手册为准)
# 思科 IOS:line vty 0 4 下使用 transport input ssh,仅保留 SSH 接入
# 带外管理(BMC/iDRAC/iLO):在管理界面关闭 telnet,只保留 HTTPS 与 SSH
# 改完用 display current-configuration 或 show running-config 复核明文协议替换对照
| 明文协议 | 替代方案 | 说明 |
|---|---|---|
| telnet(23) | SSH(22) | 登录与命令执行全程加密 |
| ftp(21) | SFTP(走 SSH)或 FTPS | SFTP 配合密钥更易统一管理 |
| rlogin、rsh | SSH | 历史上还依赖信任关系文件,问题更多 |
| http 管理界面 | HTTPS | 设备与中间件的 Web 管理同样要收敛 |
| BMC 明文访问 | HTTPS 或 SSH | 带外口常被简化配置,是重灾区 |
只清服务器不查设备等于没做:交换机、路由器与 BMC 的 telnet 往往还开着,而这些设备掌握的权限更接近基础设施根权限。资产清单里应把网络设备与带外管理模块单列,逐个确认协议与固件版本。
客户端工具与服务端是两件事:telnet 命令常被用来测试端口是否可达(连接目标的 443 端口看是否返回横幅),保留客户端风险有限,但应在变更记录里写明用途和允许安装的机器范围,避免服务端被顺手装上。