首页主机资讯centos telnet如何防止被攻击

centos telnet如何防止被攻击

时间2025-11-08 00:24:03发布访客分类主机资讯浏览1088
导读:1. 禁用Telnet服务(最彻底的安全措施) Telnet传输数据(包括用户名、密码)为明文,易被窃听或篡改,优先选择禁用该服务。执行以下命令停止并禁用Telnet: sudo systemctl stop telnet.socket...

1. 禁用Telnet服务(最彻底的安全措施)
Telnet传输数据(包括用户名、密码)为明文,易被窃听或篡改,优先选择禁用该服务。执行以下命令停止并禁用Telnet:

sudo systemctl stop telnet.socket    # 停止Telnet服务
sudo systemctl disable telnet.socket # 禁止开机自启

通过systemctl status telnet.socket确认服务状态(显示“inactive (dead)”且“disabled”即为生效)。

2. 使用防火墙限制Telnet端口访问
即使服务未禁用,也可通过防火墙阻断未授权访问。针对CentOS常用防火墙工具:

  • firewalld(推荐,适用于CentOS 7+)
    sudo firewall-cmd --permanent --remove-service=telnet  # 移除Telnet服务规则(若已存在)
    sudo firewall-cmd --reload                           # 重新加载配置
    
  • iptables(传统工具)
    sudo iptables -A INPUT -p tcp --dport 23 -j DROP     # 拒绝23端口的TCP连接
    sudo service iptables save                           # 保存规则(CentOS 6及以下)
    

此操作可有效阻止外部IP访问Telnet端口。

3. 用SSH替代Telnet(最佳替代方案)
SSH提供加密通信通道,彻底解决Telnet的安全缺陷。配置步骤如下:

  • 安装SSH服务器
    sudo yum install openssh-server -y
    
  • 启动并设置开机自启
    sudo systemctl start sshd
    sudo systemctl enable sshd
    
  • 强化SSH配置(编辑/etc/ssh/sshd_config
    PermitRootLogin no       # 禁止root远程登录
    PubkeyAuthentication yes # 启用公钥认证(更安全)
    PasswordAuthentication no # 可选:禁用密码认证(需提前配置公钥)
    MaxAuthTries 3           # 限制登录尝试次数(防止暴力破解)
    
  • 重启SSH服务
    sudo systemctl restart sshd
    
  • 配置防火墙允许SSH
    sudo firewall-cmd --permanent --add-service=ssh
    sudo firewall-cmd --reload
    

通过SSH反向隧道或密钥认证进一步提升安全性。

4. 使用SELinux增强安全防护
SELinux可通过强制访问控制(MAC)限制Telnet服务的权限:

  • 启用SELinux(若未启用)
    sudo setenforce 1          # 临时设置为Enforcing模式
    sudo sed -i 's/SELINUX=disabled/SELINUX=enforcing/g' /etc/selinux/config  # 永久生效
    
  • 禁用Telnet传输(可选)
    sudo setsebool -P telnetd_disable_trans on  # 阻止Telnet的网络传输
    

通过getsebool -a | grep telnet验证策略是否生效。

5. 监控与入侵防御

  • 监控Telnet登录日志:定期检查/var/log/secure(CentOS)中的Telnet登录记录,识别异常尝试:
    sudo grep 'telnet' /var/log/secure
    
  • 使用Fail2Ban防御暴力破解
    安装并配置Fail2Ban,自动封禁多次登录失败的IP:
    sudo yum install fail2ban -y
    sudo systemctl start fail2ban
    sudo systemctl enable fail2ban
    
    编辑/etc/fail2ban/jail.local,添加Telnet监控规则:
    [telnet]
    enabled = true
    port = 23
    filter = telnetd
    logpath = /var/log/secure
    maxretry = 3
    bantime = 600
    
    重启Fail2Ban使配置生效。

6. 限制Telnet登录用户(若必须使用)
若因特殊需求需保留Telnet,可通过以下方式缩小攻击面:

  • 创建专用用户:创建仅用于Telnet的低权限用户(如telnetuser),并设置强密码。
  • 修改/etc/securetty文件:注释或删除root用户的登录权限,防止root通过Telnet登录:
    sudo vi /etc/securetty
    # 注释掉类似“tty1”“tty2”的行(或添加“#”前缀)
    
  • 配置xinetd限制访问:编辑/etc/xinetd.d/telnet,添加only_from指令限制允许访问的IP段:
    service telnet
    {
    
        disable = no
        only_from = 192.168.1.0/24  # 仅允许内网IP访问
    }
        
    
    重启xinetd服务使配置生效:
    sudo systemctl restart xinetd
    
    注意:此方法仍无法解决明文传输问题,仅作为临时缓解措施。

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


若转载请注明出处: centos telnet如何防止被攻击
本文地址: https://pptw.com/jishu/745704.html
centos telnet如何测试网络连通性 centos telnet如何进行端口转发

游客 回复需填写必要信息