在CentOS系统中,限制Telnet服务的访问权限可以通过以下几种方法实现:
安装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状态:
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配置文件:
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
添加规则以允许特定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服务的访问权限。选择适合你需求的方法进行配置即可。