Debian系统telnet安全配置指南
导读:Debian 系统 Telnet 安全配置指南 一 安全原则与总体建议 Telnet 以明文传输,用户名、口令及会话内容均可被窃听,存在中间人攻击与凭证泄露风险。生产环境应优先使用 SSH 替代;如确因调试必须启用 Telnet,务必采取...
Debian 系统 Telnet 安全配置指南
一 安全原则与总体建议
- Telnet 以明文传输,用户名、口令及会话内容均可被窃听,存在中间人攻击与凭证泄露风险。生产环境应优先使用 SSH 替代;如确因调试必须启用 Telnet,务必采取最小化暴露与强访问控制。建议默认策略为:能关则关;不能关则仅在内网、限时、最小权限下使用,并配合防火墙与主机访问控制。
二 安装与最小配置
- 安装组件
- 客户端:
sudo apt update & & sudo apt install telnet - 服务器:
sudo apt install telnetd(常见由 xinetd 或 inetd 托管)
- 客户端:
- 基于 xinetd 的最小配置示例(/etc/xinetd.d/telnet)
- 仅在内网接口监听、限制来源网段、记录失败登录:
service telnet { disable = no flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd server_args = -h log_on_failure = USERID only_from = 192.168.1.0/24 interface = 192.168.1.10 } - 应用:
sudo systemctl restart xinetd
- 仅在内网接口监听、限制来源网段、记录失败登录:
- 基于 inetd 的最小配置(/etc/inetd.conf)
- 推荐通过 TCP Wrappers 做主机访问控制:
telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd - 访问控制:/etc/hosts.deny 写入
ALL: ALL;/etc/hosts.allow 写入in.telnetd: 192.168.1.0/24
- 推荐通过 TCP Wrappers 做主机访问控制:
- 防火墙限制
- UFW:
sudo ufw allow from 192.168.1.0/24 to any port 23;或默认拒绝:sudo ufw deny 23/tcp - iptables:
sudo iptables -A INPUT -p tcp --dport 23 -s 192.168.1.0/24 -j ACCEPT;其余来源DROP
- UFW:
- 日志与审计
- 关注登录失败与异常会话:
sudo tail -f /var/log/auth.log
- 关注登录失败与异常会话:
三 用户权限与认证加固
- 禁止 root 直连
- 在
/etc/securetty中移除或注释与 telnet 相关的终端行(如pts/*),使 root 无法通过 Telnet 登录。
- 在
- 限制可登录账户
- 仅允许特定用户使用 Telnet:在
/etc/security/access.conf添加-:ALL EXCEPT your_admin_user:ALL - 或将不需要 Telnet 的账户 shell 设为 /usr/sbin/nologin(确保
/usr/sbin/nologin在/etc/shells中):sudo usermod -s /usr/sbin/nologin baduser
- 仅允许特定用户使用 Telnet:在
- PAM 精细化控制
- 在
/etc/pam.d/telnet中使用pam_access.so实施来源与用户级策略,例如:account required pam_access.so - 结合
access.conf达到“来源网段 + 允许用户”的双重约束。
- 在
四 加密替代与迁移步骤
- 安装并启用 SSH
sudo apt update & & sudo apt install openssh-serversudo systemctl start ssh & & sudo systemctl enable ssh
- 加固 SSH(示例)
- 禁用 root 登录:
PermitRootLogin no - 仅公钥认证:
PasswordAuthentication no,PubkeyAuthentication yes - 限制可登录用户:
AllowUsers your_admin_user - 重启:
sudo systemctl restart ssh
- 禁用 root 登录:
- 迁移与验证
- 在内网先并行运行 SSH,确认密钥登录与 sudo 正常后,再关闭 Telnet 并撤销防火墙放行规则。
五 关闭 Telnet 与应急关闭
- 直接停用服务
- xinetd:
sudo systemctl stop xinetd & & sudo systemctl disable xinetd - inetd:
sudo systemctl stop inetd & & sudo systemctl disable inetd - 若系统提供独立 socket 单元:
sudo systemctl stop telnet.socket & & sudo systemctl disable telnet.socket
- xinetd:
- 防火墙封禁
- UFW:
sudo ufw deny 23/tcp - iptables:
sudo iptables -A INPUT -p tcp --dport 23 -j DROP
- UFW:
- 访问控制兜底
- TCP Wrappers:
/etc/hosts.deny写入ALL: ALL,并确保/etc/hosts.allow无in.telnetd放行规则
- TCP Wrappers:
- 验证
- 本地/外部扫描:
ss -ltnp | grep :23或nc -vz < host> 23,应显示关闭或拒绝。
- 本地/外部扫描:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian系统telnet安全配置指南
本文地址: https://pptw.com/jishu/760360.html
