regex - 如何将正则表达式变量提交到fail2ban中的 ActionScript ?

标签 regex fail2ban

我想使用regex-variableCIDR子网掩码从filter.conf提交到action.conf。这个想法是用 fail2ban 阻止/禁止 IP 范围。由于iptablesCIDR一起使用,我想通过fail2ban使用它。这可能吗?


所以我想将 failregex 变量 mask 提交给操作脚本。这是我创建 mask 变量的失败正则表达式:

filter.d/test-filter.conf

[Definition]
failregex = ^<HOST>\/(?P<mask>(8|16|24|32))


我的测试字符串如下所示:10.10.10.10/16 [2015-02-11 12:00:00]
这是我的 ActionScript ,如果我直接或通过jail.local设置mask变量,它可以正常工作(例如:action = 测试操作[mask=16])。

action.d/test-action.conf

[Definition]
...
actionban = iptables -I fail2ban-<name> 1 -s <ip>/<mask> -j DROP
actionunban = iptables -D fail2ban-<name> -s <ip>/<mask> -j DROP
...

[Init]
# Option:  mask
# Notes.:  used to ban an address-range by netmask(s) in CIDR notation.
# Values:  [ 32 | 24 | 16 | 8 ] Default: 32
#
mask = 32

这是我的jail.local(没有设置任何变量)。

jail.local

[test]
enabled   = true
action    = test-action
filter    = test-filter
logpath   = /etc/fail2ban/test.log
maxretry  = 5
findtime  = 1000
bantime   = -1

最佳答案

自从提出这个问题以来,有一种很少记录的方法可以使用此类变量将数据从过滤器传递到操作:
您只需在变量名称前面加上“F-”,并且整个名称必须大写。
因此,在您的情况下,在过滤器中,您将使用:

[Definition]
failregex = ^<HOST>\/(?P<F-MASK>(8|16|24|32)</F-MASK>)

您的操作将如下所示:

[Definition]
...
actionban = iptables -I fail2ban-<name> 1 -s <ip>/<F-MASK> -j DROP
actionunban = iptables -D fail2ban-<name> -s <ip>/<F-MASK> -j DROP
...

抱歉重新提出一个老问题..

关于regex - 如何将正则表达式变量提交到fail2ban中的 ActionScript ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28463719/

相关文章:

linux - 如何匹配 Fail2Ban 中此行的主机 IP 地址

http - Fail2Ban 通过 cURL 进行 POST

Fail2Ban如何匹配任意字符串

docker - 如何在Kubernetes下使用Fail2ban?

c# - 如何使用正则表达式从字符串中获取精确的 8 位数字?

javascript - 密码匹配表达式不起作用

java - String.split() 没有按预期工作

javascript - 从模式的末尾去除特定字符串的结尾

java - 用于删除电子邮件地址中特定字符的正则表达式

php - 由于 noscript nginx,fail2ban 经常禁止我进入 WordPress 管理员