直接停服务+关端口+锁配置三步到位:停止并禁用telnet.socket/vsftpd服务,防火墙拒绝21/23端口,再以SSH/SFTP替代明文协议。

直接停服务+关端口+锁配置,三步到位。Telnet 和 FTP 都是明文传输协议,23 和 21 端口一旦暴露,密码、命令、文件内容都可能被截获,不能只靠防火墙挡一挡,必须从源头切断。
彻底停掉 Telnet 服务
多数现代 Linux 发行版(如 CentOS 8+/Ubuntu 20.04+)用 systemd 管理 telnet.socket,只需两行命令:
-
立即停止服务:
sudo systemctl stop telnet.socket -
禁止开机自启:
sudo systemctl disable telnet.socket - 验证是否生效:
sudo systemctl status telnet.socket应显示 inactive (dead) 或 disabled
若系统仍使用 xinetd(如 CentOS 7 或较老发行版),编辑 /etc/xinetd.d/telnet,把 disable = no 改为 disable = yes,再运行 sudo systemctl reload xinetd。
安全关闭 FTP 服务
vsftpd 是最常见 FTP 服务,禁用关键在“不启动 + 不响应”:
- 先停服务:
sudo systemctl stop vsftpd - 再禁自启:
sudo systemctl disable vsftpd - 检查配置文件
/etc/vsftpd/vsftpd.conf,确认含以下设置:anonymous_enable=NOlocal_enable=NO(如无本地用户上传需求)listen=NO(避免独立模式监听) - 若仅需临时禁用且保留配置,可注释掉
/etc/services中的ftp 21/tcp行,但该操作不替代服务停用
防火墙双保险:封端口 + 控制访问
即使服务已停,端口仍可能被误开或残留进程监听,必须用防火墙兜底:
- 用 ufw(推荐轻量环境):
sudo ufw deny 23/tcp(Telnet)sudo ufw deny 21/tcp(FTP 控制端口)sudo ufw enable(如未启用) - 用 firewalld(RHEL/CentOS/Fedora):
sudo firewall-cmd --permanent --remove-service=telnetsudo firewall-cmd --permanent --remove-service=ftpsudo firewall-cmd --reload - 注意:不要仅依赖
iptables -A INPUT -p tcp --dport 23 -j DROP这类临时规则,务必保存并持久化(如iptables-save > /etc/iptables/rules.v4)
替代方案必须跟上
禁掉 Telnet 和 FTP 不是终点,而是为了推动更安全的实践:
-
Telnet → SSH:确保
sshd正常运行,建议关闭密码登录:
编辑/etc/ssh/sshd_config,设PasswordAuthentication no,启用密钥认证 -
FTP → SFTP/FTPS:SFTP 是 SSH 子系统,无需额外服务;若必须用 FTP 协议,改用 vsftpd 启用 TLS(
ssl_enable=YES),并强制加密传输 - 所有变更后,用
nmap -sT -p 21,23 localhost扫描本地端口,确认无 LISTEN 状态











