首页主机资讯CentOS下Telnet安全设置有哪些

CentOS下Telnet安全设置有哪些

时间2025-11-13 22:52:03发布访客分类主机资讯浏览1384
导读:CentOS下Telnet安全设置及替代方案 Telnet因明文传输数据(易被窃听、篡改)的特性,不适合生产环境使用。若必须使用,可通过以下措施降低风险;更推荐使用SSH(Secure Shell)替代Telnet,实现加密通信。 1. 限...

CentOS下Telnet安全设置及替代方案
Telnet因明文传输数据(易被窃听、篡改)的特性,不适合生产环境使用。若必须使用,可通过以下措施降低风险;更推荐使用SSH(Secure Shell)替代Telnet,实现加密通信。

1. 限制Telnet服务访问范围

通过防火墙规则仅允许可信IP地址访问Telnet端口(默认23),减少暴露面。

  • 使用firewalld(CentOS 7+默认)
    # 删除默认允许Telnet的规则(若有)
    sudo firewall-cmd --permanent --remove-service=telnet
    # 添加仅允许特定IP(如192.168.1.100)访问Telnet端口
    sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="23" accept'
    # 重新加载防火墙配置
    sudo firewall-cmd --reload
    
  • 使用iptables(传统防火墙)
    # 允许特定IP访问23端口
    sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 23 -j ACCEPT
    # 拒绝其他IP访问23端口
    sudo iptables -A INPUT -p tcp --dport 23 -j DROP
    # 保存iptables规则(CentOS 7+需安装iptables-services)
    sudo service iptables save
    

2. 禁止root用户通过Telnet登录

root用户拥有最高权限,禁止其通过Telnet登录可防止暴力破解导致系统沦陷。
编辑/etc/securetty文件(控制终端登录权限),删除或注释包含pts/0pts/1等远程终端的行(如pts/0),仅保留本地登录终端(如tty1~tty6)。

sudo vi /etc/securetty
# 注释以下行(示例)
# pts/0
# pts/1

保存后,root用户无法通过Telnet远程登录,需使用普通用户登录后再切换至root(su -)。

3. 配置SELinux限制Telnet访问

SELinux(Security-Enhanced Linux)可提供额外的访问控制,进一步限制Telnet服务的权限。

  • 启用SELinux(若未启用)
    # 临时启用SELinux(重启后失效)
    sudo setenforce 1
    # 永久启用SELinux(修改配置文件)
    sudo sed -i 's/SELINUX=disabled/SELINUX=enforcing/g' /etc/selinux/config
    
  • 设置SELinux布尔值
    若需更严格的限制,可禁用Telnet的传输模式:
    sudo setsebool -P telnetd_disable_trans on
    
    验证策略是否生效:
    getsebool -a | grep telnet
    # 输出应包含:telnetd_disable_trans -->
         on
    

4. 强制使用强密码策略

确保Telnet登录账户的密码复杂度足够高,降低被暴力破解的风险。
编辑/etc/pam.d/system-auth文件(认证策略配置),修改密码策略参数:

sudo vi /etc/pam.d/system-auth
# 找到以下行并修改(或添加)
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 minlen=12 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1

参数说明:

  • minlen=12:密码最小长度为12位;
  • dcredit=-1:至少包含1个数字;
  • ucredit=-1:至少包含1个大写字母;
  • lcredit=-1:至少包含1个小写字母;
  • ocredit=-1:至少包含1个特殊字符。

5. 监控Telnet登录日志

定期检查Telnet登录日志,及时发现异常登录行为(如多次失败尝试、陌生IP登录)。
Telnet日志存储在/var/log/secure(CentOS)中,可使用以下命令实时查看:

sudo tail -f /var/log/secure | grep "telnet"

示例日志:

Oct 10 14:30:01 localhost sshd[1234]: Failed password for root from 192.168.1.101 port 23 ssh2
Oct 10 14:30:05 localhost sshd[1234]: Accepted password for user1 from 192.168.1.100 port 23 ssh2

6. 替换为SSH(最安全方案)

SSH通过加密隧道传输数据,彻底解决Telnet的安全隐患。

  • 安装SSH服务器
    sudo yum install openssh-server -y
    
  • 启动SSH服务并设置开机自启
    sudo systemctl start sshd
    sudo systemctl enable sshd
    
  • 配置SSH安全选项(编辑/etc/ssh/sshd_config):
    # 禁用root远程登录
    PermitRootLogin no
    # 使用公钥认证(更安全)
    PubkeyAuthentication yes
    # 禁用密码认证(可选,需提前配置公钥)
    PasswordAuthentication no
    # 限制登录尝试次数(防止暴力破解)
    MaxAuthTries 3
    # 使用更强的加密算法
    Ciphers aes128-ctr,aes192-ctr,aes256-ctr
    
  • 重启SSH服务
    sudo systemctl restart sshd
    
  • 测试SSH连接
    在本地终端使用以下命令连接:
    ssh user1@your_server_ip -p 22
    
    若配置了公钥认证,可直接登录;若使用密码认证,输入密码即可。

7. 定期更新系统和软件

及时修补Telnet服务及系统组件的安全漏洞,降低被攻击的风险。

# 更新系统及所有软件包
sudo yum update -y
# 重启系统(若有内核更新)
sudo reboot

:若无需使用Telnet,建议直接卸载相关软件包,彻底消除安全隐患:

sudo yum remove xinetd telnet-server -y

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS下Telnet安全设置有哪些
本文地址: https://pptw.com/jishu/747557.html
CentOS下如何备份Telnet配置文件 XRender在Linux图形编程中的优势

游客 回复需填写必要信息