Linux通过Fail2ban实现SSH暴力破解防护
当需要保护SSH免受暴力破解时,业界推荐的低成本且高效的方法就是利用Fail2ban。尤其是对于那些面临黑客攻击的用户,它至关重要。尽管对它的了解已久,但找到简单易懂的设置教程并不容易。本文将提供一个Ubuntu实例,逐步教你如何安装和配置Fail2ban,以确保在密码登录模式下,有效防止恶意登录尝试。
首先,更新并升级你的Ubuntu服务器:
sudo apt update && sudo apt upgrade
然后安装Fail2ban:
sudo apt install fail2ban
接下来,编辑jail.local文件,覆盖默认配置,关注/var/log/auth.log:
创建并编辑`/etc/fail2ban/jail.local`,添加以下内容:
bash
[ssh]
enabled = true
logpath = /var/log/auth.log
maxretry = 6
bantime = 3600
sudo systemctl restart fail2ban
检查服务状态并确认设置正确:
sudo systemctl status fail2ban
当SSH尝试登录超过三次失败,Fail2ban将通过iptables阻止该IP访问。测试方法是尝试登录,如果被ban,说明设置有效。
查看特定日期的失败登录记录,用:
sudo fail2ban-client status
要取消ban,可以使用:
sudo fail2ban-client release IP_ADDRESS
Fail2ban的新版本更新可通过GitHub获取相关资料,如需调整ban时间,可参考:
https://github.com/fail2ban/fail2ban/wiki/Configuring-the-bantime
最后,数据统计显示,92.7%的暴力破解尝试是针对root用户,只需关闭root远程登录,就能大大降低攻击风险。以腾讯和阿里云的Ubuntu实例为例,它们默认只支持非root用户登录,这进一步增强了系统的安全性。
通过上述步骤,你将能够有效地利用Fail2ban增强SSH的安全防护,抵御暴力破解攻击。