为了防止Linux SSH服务器受到暴力破解攻击,你可以采取以下措施:
使用强密码策略:要求用户设置复杂的密码,包含大小写字母、数字和特殊字符。可以使用passwd
命令来设置密码复杂度。
限制登录尝试次数:编辑/etc/ssh/sshd_config
文件,找到或添加以下配置项:
MaxStartups 10
AllowUsers your_username
DenyUsers your_username
这里,MaxStartups
设置了允许的最大并发未授权连接数,AllowUsers
和DenyUsers
分别列出了允许和拒绝登录的用户。根据需要调整这些值。
/etc/ssh/sshd_config
文件,找到或添加以下配置项:PubkeyAuthentication yes
PasswordAuthentication no
然后重启SSH服务以应用更改。
启用公钥本地拒绝列表(/etc/ssh/denied_keys):将已知的恶意公钥添加到此文件中,以防止它们被使用。
使用防火墙限制访问:使用iptables
或其他防火墙工具限制可以访问SSH端口的IP地址。例如,只允许特定IP范围访问SSH端口:
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
使用Fail2ban:安装并配置Fail2ban,它可以监控SSH登录尝试并将恶意IP地址添加到防火墙规则中,从而阻止进一步的暴力破解尝试。
定期检查日志:定期检查/var/log/auth.log
(或相应的系统日志文件)以检测任何可疑活动。如果发现暴力破解尝试,立即采取行动,例如封禁可疑IP地址。
保持系统和软件更新:确保系统和SSH软件保持最新,以便修复已知的安全漏洞。