mirror of
https://github.com/deunix-educ/Fail2banMqttActionBanishment.git
synced 2026-08-24 03:11:58 +02:00
First commit
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
[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
|
||||
Reference in New Issue
Block a user