在Linux系统中,禁止Telnet访问可以通过以下几种方法实现:
使用iptables(适用于大多数Linux发行版):
sudo iptables -A INPUT -p tcp --dport 23 -j DROP
这条命令会在INPUT链中添加一条规则,拒绝所有到达端口23(Telnet默认端口)的TCP连接。
使用firewalld(适用于使用firewalld的发行版,如CentOS 7+):
sudo firewall-cmd --permanent --remove-service=telnet
sudo firewall-cmd --reload
这条命令会永久移除telnet服务,并重新加载防火墙配置。
停止并禁用Telnet服务:
sudo systemctl stop telnet.socket
sudo systemctl disable telnet.socket
这条命令会停止Telnet服务并防止它在系统启动时自动运行。
检查服务状态:
sudo systemctl status telnet.socket
确保服务已经停止并且没有设置为开机自启。
设置SELinux策略:
sudo setsebool -P telnetd_disable_trans on
这条命令会禁用Telnet的传输模式,从而阻止Telnet连接。
验证策略:
getsebool -a | grep telnet
确认相关策略已经生效。
为了提高安全性,建议使用SSH替代Telnet。SSH提供了加密传输,更加安全。
安装SSH服务器(如果尚未安装):
sudo apt-get install openssh-server # Debian/Ubuntu
sudo yum install openssh-server # CentOS/RHEL
启动并启用SSH服务:
sudo systemctl start sshd
sudo systemctl enable sshd
配置防火墙允许SSH连接:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
或者使用firewalld:
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
通过以上方法,你可以有效地禁止Telnet访问,提高系统的安全性。