在Linux系统中,使用fail2ban
可以有效地防止暴力破解攻击。以下是配置fail2ban
的基本步骤:
安装
fail2ban
:- 对于基于Debian的系统(如Ubuntu),使用以下命令安装:
sudo apt update sudo apt install fail2ban
- 对于基于Red Hat的系统(如CentOS或Fedora),使用以下命令安装:
sudo yum install fail2ban
- 对于基于Debian的系统(如Ubuntu),使用以下命令安装:
配置
fail2ban
:- 备份并编辑
jail.local
文件,该文件会覆盖jail.conf
中的默认设置:sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local sudo vim /etc/fail2ban/jail.local
- 在
jail.local
文件中,你可以为SSH服务设置特定的防护规则。例如:
这些设置意味着如果在10分钟内([sshd] enabled = true port = ssh filter = sshd logpath = /var/log/secure maxretry = 3 findtime = 600 bantime = 3600
findtime
)有超过3次(maxretry
)失败的登录尝试,那么该IP将被禁止访问SSH服务1小时(bantime
)。
- 备份并编辑
重启
fail2ban
服务:- 应用更改后,重启
fail2ban
服务:sudo systemctl restart fail2ban
- 应用更改后,重启
测试配置:
- 你可以通过尝试使用错误的密码登录SSH来测试配置是否有效。
fail2ban
应该会在检测到多次失败尝试后禁止该IP。
- 你可以通过尝试使用错误的密码登录SSH来测试配置是否有效。
检查状态和日志:
- 使用以下命令检查
fail2ban
的状态和被禁止的IP地址:sudo fail2ban-client status sshd
- 查看
fail2ban
的日志文件以了解其活动和事件:sudo journalctl -u fail2ban
- 使用以下命令检查
解锁IP地址:
- 如果需要手动解锁某个IP地址,可以使用以下命令:
sudo fail2ban-client set sshd unbanip <IP地址>
- 如果需要手动解锁某个IP地址,可以使用以下命令:
请注意,fail2ban
的配置可能会根据不同的系统和需求有所不同。务必根据你的具体需求调整配置文件中的参数。同时,确保你了解每个选项的含义,并正确地设置了参数,以避免误封合法用户。