共计 1076 个字符,预计需要花费 3 分钟才能阅读完成。
Fail2Ban 扫描 /var/log/auth.log 之类的日志文件,并禁止 IP 地址进行过多的失败登录尝试。它通过更新系统防火墙规则以在可配置的时间内拒绝来自那些 IP 地址的新连接来实现此目的。Fail2Ban 开箱即用,可以读取许多标准日志文件,例如 sshd 和 Apache 的文件,并且可以轻松配置为读取您选择的任何日志文件,以解决所需的任何错误。
在这篇文章中,我将指导您如何使用 Fail2Ban 保护 SSH 服务。
首先,您需要安装 Fail2ban:
linuxidc@linuxidc:~/www.linuxidc.com$ sudo systemctl start fail2ban
安装后,Fail2ban 将立即开始工作,但仅适用于 SSH 和默认设置。现在添加我们需要的设置。整个配置在文件 /etc/fail2ban/jail.conf 中。我们将需要更改 SSH 部分:
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
findtime = 3600
bantime = 86400
maxretry:在 findtime 参数指定的时间内最大错误连接数
findtime:日志文件中分析错误连接数的时间。以秒计算
bantime:阻塞时间(以秒为单位)
您将要使用以下命令启动并启用 Fail2ban 服务:
linuxidc@linuxidc:~/www.linuxidc.com$ sudo systemctl start fail2ban
[sudo] linuxidc 的密码:
linuxidc@linuxidc:~/www.linuxidc.com$ sudo systemctl enable fail2ban
Synchronizing state of fail2ban.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable fail2ban
linuxidc@linuxidc:~/www.linuxidc.com$ sudo systemctl restart fail2ban
现在,在一小时内输入 5 个错误密码后,该地址将被封锁一天。您可以使用以下命令找到包含的保护列表:
fail2ban–client status
您可以使用以下命令查找每个服务的受阻止客户端的统计信息:
fail2ban–client status service_name
: