在Debian系统中,防止Telnet暴力破解的方法有以下几种:
Fail2Ban是一个入侵防御软件框架,可以监控日志文件并根据配置的规则禁止恶意IP地址。
sudo apt update
sudo apt install fail2ban
编辑Fail2Ban的配置文件 /etc/fail2ban/jail.local 或创建一个新的配置文件:
sudo nano /etc/fail2ban/jail.local
添加以下内容来配置Telnet的防护:
[DEFAULT]
bantime = 600
maxretry = 3
[telnet]
enabled = true
port = telnet
filter = sshd
logpath = /var/log/auth.log
banaction = iptables-multiport
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
禁用Telnet并使用SSH密钥认证可以大大提高安全性。
编辑 /etc/xinetd.d/telnet 文件:
sudo nano /etc/xinetd.d/telnet
将 disable = no 改为 disable = yes:
service telnet
{
disable = yes
...
}
重启xinetd服务:
sudo systemctl restart xinetd
生成SSH密钥对:
ssh-keygen -t rsa
将公钥复制到目标服务器的 ~/.ssh/authorized_keys 文件中:
ssh-copy-id user@remote_host
使用iptables或ufw来限制Telnet端口的访问。
sudo iptables -A INPUT -p tcp --dport 23 -m state --state NEW -m recent --set
sudo iptables -A INPUT -p tcp --dport 23 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
保存iptables规则:
sudo apt install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload
启用ufw:
sudo ufw enable
允许SSH访问并拒绝Telnet:
sudo ufw allow ssh
sudo ufw deny 23/tcp
定期检查 /var/log/auth.log 文件,分析登录尝试和失败记录。
sudo tail -f /var/log/auth.log | grep "Failed password"
通过这些方法,可以有效地防止Telnet暴力破解攻击。