在Linux下限制Telnet访问可以通过以下几种方法实现:
你可以使用iptables或firewalld来限制Telnet访问。
iptables# 允许特定IP访问Telnet
sudo iptables -A INPUT -p tcp --dport 23 -s 192.168.1.100 -j ACCEPT
# 拒绝所有其他IP访问Telnet
sudo iptables -A INPUT -p tcp --dport 23 -j DROP
firewalld# 允许特定IP访问Telnet
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="23" accept'
# 拒绝所有其他IP访问Telnet
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" port protocol="tcp" port="23" reject'
# 重新加载防火墙配置
sudo firewall-cmd --reload
你可以配置PAM来限制Telnet访问。
/etc/pam.d/telnetauth required pam_listfile.so item=user sense=deny file=/etc/telnet.deny onerr=succeed
auth required pam_listfile.so item=user sense=allow file=/etc/telnet.allow onerr=succeed
account required pam_listfile.so
/etc/telnet.deny和/etc/telnet.allow# /etc/telnet.deny
* # 拒绝所有用户
# /etc/telnet.allow
root # 允许root用户
如果你的系统启用了SELinux,你可以使用SELinux策略来限制Telnet访问。
sudo chcon -R system_u:object_r:telnetd_t:s0 /etc/xinetd.d/telnet
编辑/etc/selinux/config文件,确保以下行未被注释:
SELINUX=enforcing
xinetd配置如果你使用xinetd来管理Telnet服务,可以在/etc/xinetd.d/telnet文件中进行配置。
/etc/xinetd.d/telnetservice telnet
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_success += HOST PID
log_on_failure += HOST
only_from = 192.168.1.100
}
tcp_wrappers你可以使用tcp_wrappers来控制对Telnet服务的访问。
tcp_wrapperssudo apt-get install tcpd
/etc/hosts.deny和/etc/hosts.allow# /etc/hosts.deny
ALL: telnetd
# /etc/hosts.allow
192.168.1.100: telnetd
通过以上方法,你可以有效地限制Linux系统上的Telnet访问。选择适合你系统的方法进行配置即可。