linux

Linux中如何禁止Telnet访问

小樊
104
2025-03-14 00:45:04
栏目: 智能运维

在Linux系统中,禁止Telnet访问可以通过以下几种方法实现:

方法一:修改防火墙规则

  1. 使用iptables(适用于大多数Linux发行版)

    sudo iptables -A INPUT -p tcp --dport 23 -j DROP
    

    这条命令会在INPUT链中添加一条规则,拒绝所有到达端口23(Telnet默认端口)的TCP连接。

  2. 使用firewalld(适用于使用firewalld的发行版,如CentOS 7+)

    sudo firewall-cmd --permanent --remove-service=telnet
    sudo firewall-cmd --reload
    

    这条命令会永久移除telnet服务,并重新加载防火墙配置。

方法二:禁用Telnet服务

  1. 停止并禁用Telnet服务

    sudo systemctl stop telnet.socket
    sudo systemctl disable telnet.socket
    

    这条命令会停止Telnet服务并防止它在系统启动时自动运行。

  2. 检查服务状态

    sudo systemctl status telnet.socket
    

    确保服务已经停止并且没有设置为开机自启。

方法三:使用SELinux(适用于启用了SELinux的系统)

  1. 设置SELinux策略

    sudo setsebool -P telnetd_disable_trans on
    

    这条命令会禁用Telnet的传输模式,从而阻止Telnet连接。

  2. 验证策略

    getsebool -a | grep telnet
    

    确认相关策略已经生效。

方法四:配置SSH替代Telnet

为了提高安全性,建议使用SSH替代Telnet。SSH提供了加密传输,更加安全。

  1. 安装SSH服务器(如果尚未安装):

    sudo apt-get install openssh-server  # Debian/Ubuntu
    sudo yum install openssh-server      # CentOS/RHEL
    
  2. 启动并启用SSH服务

    sudo systemctl start sshd
    sudo systemctl enable sshd
    
  3. 配置防火墙允许SSH连接

    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    

    或者使用firewalld:

    sudo firewall-cmd --permanent --add-service=ssh
    sudo firewall-cmd --reload
    

通过以上方法,你可以有效地禁止Telnet访问,提高系统的安全性。

0
看了该问题的人还看了