必须禁用Telnet和FTP服务并切换至SSH/SFTP:因二者明文传输凭证,风险极高;需停服务、禁自启、删配置、配防火墙,并启用密钥认证的SSH与SFTP替代。

禁用Telnet和FTP不是简单封个端口的事,关键在于停服务、锁访问、换替代。这两个协议都明文传输账号密码,一旦暴露在公网,等于把钥匙挂在门把手上。
直接停掉Telnet服务
绝大多数现代Linux发行版(如Ubuntu 22.04+、CentOS 8+、Debian 11+)用systemd管理Telnet,它通常以socket方式运行:
- 停止当前运行:sudo systemctl stop telnet.socket
- 禁止开机自启:sudo systemctl disable telnet.socket
- 确认已停:sudo systemctl status telnet.socket(应显示inactive或not found)
如果系统用xinetd托管Telnet,编辑/etc/xinetd.d/telnet,把disable = no改成disable = yes,再执行sudo systemctl restart xinetd。
彻底禁用FTP服务(不只是vsftpd)
FTP本身不安全,尤其匿名FTP或明文认证模式。禁用需分两步:
- 停服务:sudo systemctl stop vsftpd(或pure-ftpd、proftpd等对应服务名),再sudo systemctl disable vsftpd
- 删配置:检查/etc/vsftpd.conf是否含anonymous_enable=YES,如有,改为NO并重启;若无业务需求,直接卸载:sudo apt remove vsftpd(Debian/Ubuntu)或sudo yum remove vsftpd(RHEL/CentOS)
注意:有些系统会通过xinetd启动FTP,同样要检查/etc/xinetd.d/ftp并设disable = yes。
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
防火墙补一刀,防漏网之鱼
即使服务停了,万一哪天被误启或有残留进程监听,防火墙是最后一道防线:
- 用ufw(推荐新手):sudo ufw deny 23/tcp && sudo ufw deny 21/tcp
- 用firewalld(RHEL系):sudo firewall-cmd --permanent --remove-service=telnet --remove-service=ftp && sudo firewall-cmd --reload
- 用iptables(通用):sudo iptables -A INPUT -p tcp --dport 23 -j DROP && sudo iptables -A INPUT -p tcp --dport 21 -j DROP
执行后建议用sudo ss -tuln | grep -E ':(21|23)'验证端口无监听。
务必切换到SSH + SFTP替代方案
禁掉Telnet和FTP后,远程管理必须有安全替代:
- 确保SSH服务正常运行:sudo systemctl is-active sshd(Ubuntu/Debian)或sshd(RHEL/CentOS)
- 关闭密码登录,只用密钥:sudo nano /etc/ssh/sshd_config,设PasswordAuthentication no,重启sshd
- 用SFTP传文件:所有支持SSH的客户端(如FileZilla、WinSCP、命令行sftp user@host)都默认走SFTP,无需额外开FTP端口
这样既满足远程登录和文件传输需求,又避免明文风险。

















