centos

CentOS Telnet服务如何限制访问权限

小樊
93
2025-02-12 07:28:20
栏目: 智能运维

在CentOS系统中,限制Telnet服务的访问权限可以通过以下几种方法实现:

方法一:使用防火墙(firewalld)

  1. 安装firewalld(如果尚未安装):

    sudo yum install firewalld
    
  2. 启动并启用firewalld

    sudo systemctl start firewalld
    sudo systemctl enable firewalld
    
  3. 添加规则以允许特定IP访问Telnet端口(默认是23)

    sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="23" accept'
    
  4. 重新加载防火墙配置

    sudo firewall-cmd --reload
    

方法二:使用SELinux

  1. 检查SELinux状态

    sestatus
    
  2. 如果SELinux处于 enforcing 模式,可以设置策略来限制Telnet访问

    • 编辑 /etc/selinux/config 文件,将 SELINUX=enforcing 改为 SELINUX=disabledSELINUX=permissive
    • 重启系统使更改生效。
  3. 或者,使用SELinux策略模块来限制访问

    • 创建一个新的SELinux策略模块文件,例如 /etc/selinux/targeted/policy/policy.31

    • 在该文件中添加规则,例如:

      module telnet_access 1.0;
      
      require {
          type telnetd_t;
          class tcp_socket name_bind;
      }
      
      allow telnetd_t tcp_socket:sockaddr_bind;
      allow telnetd_t self:tcp_socket;
      
    • 编译并加载策略模块:

      checkmodule -M -m -o telnet_access.mod telnet_access.te
      semodule_package -o telnet_access.pp -m telnet_access.mod
      sudo semodule -i telnet_access.pp
      

方法三:使用PAM(Pluggable Authentication Modules)

  1. 编辑PAM配置文件

    sudo vi /etc/pam.d/telnetd
    
  2. 添加或修改以下行以限制访问

    auth required pam_listfile.so item=user sense=deny file=/etc/telnetd.deny onerr=succeed
    auth required pam_listfile.so item=group sense=deny file=/etc/telnetd.deny group=telnetd onerr=succeed
    
  3. 创建或编辑拒绝访问的文件

    sudo vi /etc/telnetd.deny
    
  4. 在文件中添加不允许访问的用户或组

    user1
    user2
    telnetd
    

方法四:使用iptables

  1. 添加规则以允许特定IP访问Telnet端口

    sudo iptables -A INPUT -p tcp --dport 23 -s 192.168.1.0/24 -j ACCEPT
    
  2. 保存iptables规则

    sudo service iptables save
    
  3. 重启iptables服务

    sudo systemctl restart iptables
    

通过以上方法,你可以有效地限制CentOS系统中Telnet服务的访问权限。选择适合你需求的方法进行配置即可。

0
看了该问题的人还看了