在CentOS系统中,限制Telnet服务的访问权限可以通过以下几种方法实现:
方法一:使用防火墙(firewalld)
-
安装firewalld(如果尚未安装):
sudo yum install firewalld
-
启动并启用firewalld:
sudo systemctl start firewalld sudo systemctl enable firewalld
-
添加规则以允许特定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'
-
重新加载防火墙配置:
sudo firewall-cmd --reload
方法二:使用SELinux
-
检查SELinux状态:
sestatus
-
如果SELinux处于 enforcing 模式,可以设置策略来限制Telnet访问:
- 编辑
/etc/selinux/config
文件,将SELINUX=enforcing
改为SELINUX=disabled
或SELINUX=permissive
。 - 重启系统使更改生效。
- 编辑
-
或者,使用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)
-
编辑PAM配置文件:
sudo vi /etc/pam.d/telnetd
-
添加或修改以下行以限制访问:
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
-
创建或编辑拒绝访问的文件:
sudo vi /etc/telnetd.deny
-
在文件中添加不允许访问的用户或组:
user1 user2 telnetd
方法四:使用iptables
-
添加规则以允许特定IP访问Telnet端口:
sudo iptables -A INPUT -p tcp --dport 23 -s 192.168.1.0/24 -j ACCEPT
-
保存iptables规则:
sudo service iptables save
-
重启iptables服务:
sudo systemctl restart iptables
通过以上方法,你可以有效地限制CentOS系统中Telnet服务的访问权限。选择适合你需求的方法进行配置即可。