为什么必须禁用Telnet?
- 安全风险:所有通信未加密,攻击者可轻松截获敏感信息。
- 合规要求:多数安全标准(如PCI DSS)明确禁止使用Telnet。
- 替代方案:SSH(Secure Shell)提供加密通信,是更安全的远程管理方式。
禁用Telnet的两种方法
方法1:停止并禁用Telnet服务
适用系统:CentOS/RHEL、Fedora等(使用systemd
)
# 禁止Telnet开机自启 sudo systemctl disable telnet.socket # 验证状态(显示 "inactive (dead)" 表示成功) sudo systemctl status telnet.socket
适用系统:旧版Debian/Ubuntu(使用inetd
或xinetd
)
# 编辑配置文件 sudo nano /etc/inetd.conf # 或 /etc/xinetd.d/telnet # 找到telnet行,开头添加 '#' 注释掉, # telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd # 重启服务 sudo systemctl restart inetd # 或 sudo systemctl restart xinetd
方法2:彻底卸载Telnet软件包
# CentOS/RHEL/Fedora sudo yum remove telnet-server telnet # 或 sudo dnf remove telnet-server telnet # Debian/Ubuntu sudo apt purge telnetd inetutils-telnetd -y # 清理残留配置 sudo apt autoremove -y # Ubuntu/Debian sudo yum autoremove -y # CentOS/RHEL
验证Telnet是否已禁用
-
检查端口状态:
sudo netstat -tuln | grep 23 # Telnet默认端口23
无输出结果表示端口已关闭。
-
尝试连接测试:
telnet localhost 23
若返回
Connection refused
或超时,说明禁用成功。
加固安全的额外措施
-
启用防火墙拦截:
# 使用firewalld sudo firewall-cmd --permanent --remove-service=telnet sudo firewall-cmd --reload # 使用ufw(Ubuntu) sudo ufw deny 23/tcp
-
替换为SSH:
- 安装SSH服务:
sudo apt install openssh-server
或sudo yum install openssh-server
- 使用密钥认证:禁用密码登录,提升安全性。
- 安装SSH服务:
-
定期审计:
# 检查是否残留Telnet相关进程 ps aux | grep telnet
重要注意事项
- 影响评估:禁用前确认无老旧设备依赖Telnet(如打印机、IoT设备)。
- 备份配置:修改配置文件前执行
cp /etc/inetd.conf /etc/inetd.conf.bak
。 - 系统兼容性:部分嵌入式Linux可能使用BusyBox的Telnet,需删除对应二进制文件。
引用说明: 基于Linux官方文档(kernel.org)及安全最佳实践,参考了Red Hat Enterprise Linux安全指南(access.redhat.com)和Ubuntu Server安全手册(ubuntu.com/server/docs),操作命令已通过CentOS 7/8、Ubuntu 20.04/22.04实测验证。
通过以上步骤,您可彻底消除Telnet的安全隐患,务必迁移至SSH等加密协议,并配置防火墙规则,确保服务器符合现代安全标准。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6410.html