Fail2Ban 用于某V2软件非法用户请求禁止的情况

fail2ban reference

apt-get install fail2ban
复制一份本地配置文件:
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
编辑jail.local文件,作如下修改:

ignoreip = 127.0.0.1/8
bantime = 3600  # 屏蔽时长,可自行调整,单位为秒,
-1则为永久屏蔽
findtime = 600  #监测时长,在findtime时间内出现maxretry次尝试即执行屏蔽动作,单位为秒
maxretry = 3  # 最大尝试次数

SSH配置
编辑jail.local文件,配置如下:

[ssh]

enabled  = true  # 激活SSH监测
port     = ssh  # 端口
filter   = sshd
logpath  = /var/log/auth.log  # SSH日志路径
maxretry = 3  # 最大尝试次数

针对 V2 invalid user 使用 fail2ban

[v2]
enabled = true
filter = v2  # 指的是在 filter.d 目录下新建的关于 v2 的 过滤匹配文件
logpath = /var/log/v2 /access.log  #v2 access config 的位置
port = 0:65535
maxretry = 3
bantime = 1800
findtime = 300

在 /etc/fail2ban/filter.d/ 下新建 v2.conf 文件,填入新建内容:

[Definition]
failregex = <HOST> .*invalid user
ignoreregex =

可以用 fail2ban-regex 验证 failregex 是否正确:

fail2ban-regex "2020/03/29 16:01:27 42.237.112.37:10806 rejected v2.com/core/proxy/vmess/encoding: invalid user" "<HOST> .*invalid user

原文地址:https://www.cnblogs.com/gardenofhu/p/12973446.html