2团
Published on 2024-08-16 / 19 Visits
0
0

Fail2Ban使用记录

1.安装

sudo apt install fail2ban
# 设置开机启动
sudo systemctl enable fail2ban
# 查看fail2ban状态
sudo systemctl status fail2ban

查看Fail2ban状态正常,则您的服务器已安装并运行Fail2Ban。

2. Fail2Ban配置

Fail2Ban在安装时会创建两个默认的配置文件/etc/fail2ban/jail.d/defaults-debian.conf/etc/fail2ban/jail.conf,不建议直接修改这些文件,因为更新Fail2ban时它们可能会被覆盖。

修改jail配置时,建议复制jail.conf文件至jail.local文件,并于jail.local文件中进行修改。

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

2.1 ssh配置

Fail2Ban默认启动ssh拦截,无需对其进行针对性配置。

可通过如下命令查看ssh拦截状态:

fail2ban-client status sshd

输出如下所示:

fail2ban-sshd.png

2.2 Nginx相关配置

2.2.1 jail配置

fail2ban-jail-nginx.png

按上图完善配置jail中的Nginx配置信息,启动模块,完善logpath信息(本人使用Openresty,故日志路径多了openresty目录)。

配置信息中启用了nginx-limit-req(限制Nginx请求量,Nginx中需添加限制请求量配置方能生效),nginx-botsearch(限制机器人访问)。

2.2.2 限制请求量

启用nginx-limit-req配置,需在nginx配置文件中启用limit_req以及limit_req_zone功能。

参考配置如下所示:

nginx-limit-req-conf.png

添加如上配置后,重新启动Openresty即可。

2.2.3 配置生效

sudo systemctl restart fail2ban

查看生效结果,可参照下图执行:

fail2ban-status-nginx.png

参考文章:

1.如何在Ubuntu 20.04上安装和配置Fail2ban(https://www.myfreax.com/install-configure-fail2ban-on-ubuntu-20-04/);

2.Module ngx_http_limit_req_module(http://nginx.org/en/docs/http/ngx_http_limit_req_module.html);


Comment