mirror of
https://github.com/deunix-educ/Fail2banMqttActionBanishment.git
synced 2026-08-24 03:11:58 +02:00
31 lines
1.5 KiB
INI
31 lines
1.5 KiB
INI
[Definition]
|
|
# Throttle (RATE_LIMIT, Phase 4) plutôt qu'un blocage total : au lieu de
|
|
# DROP toutes les connexions de <ip>, ne DROP que celles au-delà du débit
|
|
# autorisé. --hashlimit-mode srcip fait déjà le bucketing par IP source
|
|
# dans une table hashlimit partagée (f2b-<name>) : pas besoin d'un nom de
|
|
# table distinct par IP bannie, une seule table suffit pour toute la jail.
|
|
|
|
actionstart = iptables -N fail2ban-<name>
|
|
iptables -A fail2ban-<name> -j RETURN
|
|
iptables -I <chain> -p <protocol> -j fail2ban-<name>
|
|
|
|
actionstop = iptables -D <chain> -p <protocol> -j fail2ban-<name> || true
|
|
iptables -F fail2ban-<name> || true
|
|
iptables -X fail2ban-<name> || true
|
|
|
|
actioncheck = iptables -n -L <chain> | grep -q fail2ban-<name>
|
|
|
|
# actionunban doit reprendre EXACTEMENT la même spec de règle que
|
|
# actionban (seul -I vs -D change) : iptables -D échoue silencieusement
|
|
# ("Bad rule") si les deux ne correspondent pas au caractère près.
|
|
actionban = iptables -I fail2ban-<name> 1 -s <ip> -m hashlimit --hashlimit-above <hashlimit_rate> --hashlimit-burst <hashlimit_burst> --hashlimit-mode srcip --hashlimit-name f2b-<name> -j DROP
|
|
|
|
actionunban = iptables -D fail2ban-<name> -s <ip> -m hashlimit --hashlimit-above <hashlimit_rate> --hashlimit-burst <hashlimit_burst> --hashlimit-mode srcip --hashlimit-name f2b-<name> -j DROP
|
|
|
|
[Init]
|
|
name = default
|
|
protocol = tcp
|
|
chain = INPUT
|
|
hashlimit_rate = 10/sec
|
|
hashlimit_burst = 20
|