Integracja Fail2ban z nftables w systemie Linux – pełny poradnik
🛡️ Dlaczego to ważne?
Fail2banwykrywa ataki (np. brute-force na SSH) w logachnftablesblokuje IP na poziomie pakietów- Razem tworzą dynamiczny, samouczący się firewall
🧱 Wymagania wstępne
- Zainstalowany i działający:
fail2bannftables(z aktywnym zestawem reguł)
- Uprawnienia roota lub sudo
🔧 Krok 1: Sprawdź, czy nftables działa
Upewnij się, że masz aktywną konfigurację firewalla:
sudo systemctl status nftables
sudo nft list ruleset
🔧 Krok 2: Dodaj własny łańcuch dla fail2ban
Utwórz łańcuch f2b-input w tablicy inet:
sudo nft add chain inet filter f2b-input { type filter hook input priority 10\; }
Dodaj przekierowanie z głównego łańcucha input do f2b-input:
sudo nft insert rule inet filter input jump f2b-input
💡 Teraz wszystkie reguły dodawane przez Fail2ban będą trafiać do własnego łańcucha.

🔧 Krok 3: Skonfiguruj Fail2ban do używania nftables
Otwórz (lub utwórz) plik action.d/nftables.conf:
sudo nano /etc/fail2ban/action.d/nftables.conf
Wklej konfigurację:
[Definition]
actionstart = nft add set inet filter f2b-<name> { type ipv4_addr\; flags timeout\; }
nft insert rule inet filter f2b-input ip saddr @f2b-<name> drop
actionstop = nft delete rule inet filter input jump f2b-input
nft delete chain inet filter f2b-input
nft delete set inet filter f2b-<name>
actioncheck = nft list set inet filter f2b-<name>
actionban = nft add element inet filter f2b-<name> { <ip> }
actionunban = nft delete element inet filter f2b-<name> { <ip> }
[Init]
name = default
🔧 Krok 4: Ustaw Fail2ban do używania akcji nftables
W pliku /etc/fail2ban/jail.local lub /etc/fail2ban/jail.d/defaults-debian.conf, dodaj/zmień regułę SSH:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 3600
findtime = 600
backend = auto
action = nftables[name=sshd]
Zrestartuj usługę:
sudo systemctl restart fail2ban
✅ Krok 5: Sprawdź, czy działa
- Sprawdź aktywne jail’e:
sudo fail2ban-client status
- Sprawdź konkretny jail:
sudo fail2ban-client status sshd
- Zobacz reguły nftables:
sudo nft list set inet filter f2b-sshd
🔐 Dodatkowe uwagi
- Możesz utworzyć różne zbiory (
sets) dla różnych usług (np.f2b-postfix,f2b-nginx) - Fail2ban automatycznie usuwa IP po czasie (np. 3600 sekund)
- nftables jest szybszy i bardziej odporny na flood niż
iptables
✅ Podsumowanie
Integracja fail2ban z nftables to idealne połączenie:
- dynamiczna analiza logów
- natychmiastowe blokowanie adresów IP
- nowoczesny i bezpieczny firewall
To rozwiązanie polecane dla administratorów, którzy dbają o stabilność i bezpieczeństwo swoich serwerów.






