fail2ban监测Web身份认证.note

noteId: WEBcfd1e968c01071c53e8268f05f81aecf · 原始路径:/ALL/Linux - A模块/服务配置/fail2ban 监测访问并根据日志进行封禁/fail2ban监测Web身份认证.note · 图片:29 · 附件待处理:0

 
一、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/default
basic:
 
 
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客户端会有缓存,因此有时认证失败次数多一两次才生效也是正常的
认证失败两次之后,无法再访问页面: