我们很多网友在使用Linux服务器的时候,安全防御都靠外部的软件,比如CDN、WAF等第三方软件支持。但是,实际上我们也可以通过服务器自带的软防护,比如Fail2ban防火墙软件来设置提高服务器的安全。我们很多网友可能不懈这种软件,实际上我们深入学习Linux服务器的话,Fail2ban 软件深入的应用功能特别的多,甚至还有专门Fail2ban的书籍提供学习。
在这篇文章中,我们准备详细且完整的记录Fail2ban防火墙软件在Debian镜像中的部署。
1、安装Fail2ban
Fail2ban 软件包包含在默认的 Debian库中。我们只需要在root权限下执行命令行安装。
sudo apt updatesudo apt install fail2ban
完成后,Fail2ban 服务将自动启动。我们可以通过检查服务的状态来验证它:
sudo systemctl status fail2ban
如果有看到类似下面的代码,表示安装成功且在运行。
fail2ban.service - Fail2Ban Service Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2021-06-04 19:27:12 UTC; 47s ago
2、Fail2ban 软件设置
默认的 Fail2ban 安装带有两个配置文件,/etc/fail2ban/jail.conf 和/etc/fail2ban/jail.d/defaults-debian.conf。 我们不要修改这些文件,因为更新包时它们可能会被覆盖。
通过复制默认的 jail.conf 文件创建一个 .local 配置文件:
sudo cp /etc/fail2ban/jail.{conf,local}
然后配置文件:
sudo nano /etc/fail2ban/jail.local
2.1 添加IP白名单
我们可以从禁止中排除的 IP 地址、IP 范围或主机可以添加到 ignoreip 指令中。 在此处添加您的本地 PC IP 地址和想要列入白名单的所有其他机器。
ignoreip = 127.0.0.1/8 ::1 123.123.123.123 192.168.1.0/24
2.2 禁止设置
bantime 是 IP 被禁止的持续时间。 如果未指定后缀,则默认为秒。 默认情况下,bantime 值设置为 10 分钟。 大多数用户更喜欢设置更长的禁止时间。
bantime = 1d
findtime 是设置禁令之前失败次数之间的持续时间。 例如,如果将 Fail2ban 设置为在五次失败后禁止 IP,则这些失败必须在 findtime 持续时间内发生。
findtime = 10m
maxretry 是禁止 IP 之前的失败次数。 默认值设置为 5,这对大多数用户来说应该没问题。
maxretry = 5
%(action_mw)s 禁止违规 IP 并发送带有 whois 报告的电子邮件。 如果要在电子邮件中包含相关日志,请将操作设置为 %(action_mwl)s。
action = %(action_mw)s
设置发送邮件:
destemail = admin@banwagongvps.comsender = root@banwagongvps.com
2.3 Fail2ban Jails设置
[postfix]enabled = trueport = smtp,ssmtpfilter = postfixlogpath = /var/log/mail.log
然后再设置:
[sshd]enabled = truemaxretry = 3findtime = 1dbantime = 4wignoreip = 127.0.0.1/8 11.22.33.44
然后启动生效:
sudo systemctl restart fail2ban
3、客户端设置
Fail2ban 附带了一个名为 fail2ban-client 的命令行工具,我们可以使用它与 Fail2ban 服务进行交互。
3.1 获取服务器的当前状态
sudo fail2ban-client status
3.2 检查状态
sudo fail2ban-client status sshd
3.3 放行IP
sudo fail2ban-client set sshd unbanip 11.22.33.44
3.4 禁止IP
sudo fail2ban-client set sshd banip 11.22.33.44
这样,我们就很轻松的设置完毕Fail2ban。实际上Fail2ban的学问还有很多,以后有机会再示范一些案例。
文章原创来自:https://www.banwagongvps.com/debian-install-fail2ban.html
联系客服