fail2ban监测Web身份认证.note
一、fail2ban监测 Apache2:
如果使用nftables,需要先启动nftables才行
fail2ban 安装后默认是报错的,需要先注释 jail.conf 中的 sshd 配置:
vim /etc/fail2ban/jail.conf


1、配置 Apache2身份认证:
Apache2 默认就有日志,因此无需再配置日志之类的
随意什么方式的身份认证都行
# 这里使用 PAM认证
apt install -y libapache2-mod-authnz-pam
chown root:www-data /etc/shadow
vim /etc/apache2/sites-enabled/000-default.conf
2、配置fail2ban:
该配置适用于:pam认证、ldap认证、htpasswd认证
apt install -y nftables
apt install -y rsyslog //需要安装 rsyslog
apt install -y fail2ban
vim /etc/fail2ban/jail.local //该文件不存在,需要创建

systemctl restart nftables //必须先启动nftables,否则fail2ban无法添加规则
systemctl enable nftables
systemctl restart apache2
systemctl restart fail2ban
摘抄模板:
vim jail.conf








·测试:
因为web客户端会有缓存,因此有时认证失败次数多一两次才生效也是正常的
认证失败两次之后,无法再访问页面:




二、fail2ban监测 Nginx:
如果使用nftables,需要先启动nftables才行
1、配置 Nginx身份认证:
apt install -y apache2-utils
htpasswd -c /etc/nginx/.htpasswd admin
vim /etc/nginx/sites-enabled/defaultbasic:

pam:(默认的nginx-http-auth不支持pam的身份认证日志格式)
apt install -y libnginx-mod-http-auth-pam
chown root:www-data /etc/shadow
vim /etc/nginx/sites-enabled/default
2、配置fail2ban:
vim /etc/fail2ban/jail.local

调用 nginx-http-auth filter,只能生效于 basic身份认证,因为nginx每种身份认证的日志格式都不相同,如果要为其他身份认证方式配置fail2ban,那么就需要自定义 filter

# 自定义filter(测试过,能生效):
vim /etc/fail2ban/filter.d/nginx-pam.conf
pam日志内容:

jail.local:

·测试:
因为web客户端会有缓存,因此有时认证失败次数多一两次才生效也是正常的
认证失败两次之后,无法再访问页面:



