CentOS 中 Telnet 安全设置
总体建议
一 推荐做法 禁用或替代 Telnet
yum install -y openssh-serversystemctl start sshd && systemctl enable sshdfirewall-cmd --permanent --add-service=ssh && firewall-cmd --reloadsystemctl stop telnet.socket && systemctl disable telnet.socketyum remove -y telnet-serverfirewall-cmd --permanent --remove-service=telnet && firewall-cmd --reload二 必须使用 Telnet 时的加固要点
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port port="23" protocol="tcp" accept' && firewall-cmd --reload/etc/xinetd.d/telnet:
bind = 192.168.1.10(仅在内网接口监听)only_from = 192.168.1.0/24 10.0.0.0/8no_access = 203.0.113.5 198.51.100.10access_times = 08:00-12:00 20:00-23:59systemctl restart xinetd/etc/services 的 telnet 23/tcp 为非常用端口,并同步防火墙放行新端口;更推荐结合上面的来源限制与访问控制。pam_securetty.so 限制),先以普通用户登录再 su - 提权。yum install -y stunnelopenssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/stunnel/stunnel.pem -out /etc/stunnel/stunnel.pem/etc/stunnel/stunnel.conf:
[telnet] accept = 12345 connect = 127.0.0.1:23 cert = /etc/stunnel/stunnel.pem key = /etc/stunnel/stunnel.pemsystemctl start stunnel && systemctl enable stunnelstunnel 监听端口(如 12345/TCP),由 stunnel 与本地 23/TCP 之间建立加密通道。三 系统与服务加固
setenforce 1(或确保 /etc/selinux/config 中 SELINUX=enforcing),必要时为相关服务配置最小权限策略。四 快速检查清单
systemctl is-active telnet.socket、systemctl is-enabled telnet.socketss -lntp | grep ':23'(或 netstat -ntlp | grep ':23')firewall-cmd --list-all(确认仅允许必要来源到 23/TCP,或已移除 telnet 服务)/var/log/secure,核对是否存在异常来源、失败登录与时段外访问。