Timeout (doba expirace blokovaných IP adres) ve Fail2ban závisí na nastavení několika parametrů – nejdůležitější jsou:
-
bantime– doba, po kterou zůstane IP adresa zabanována. -
findtime– časové okno, ve kterém musí dojít k porušení pravidel. -
maxretry– kolikrát může IP selhat běhemfindtime, než bude zabanována.
Pokud tě zajímá konkrétně, kdy vyprší blokace u již zabanované IP, můžeš to zjistit několika způsoby:
🛠️ 1. Použití příkazu fail2ban-client
Nejjednodušší způsob je:
Např.:
Výstup vypadá třeba takto:
To ti ukáže seznam aktuálně blokovaných IP, ale ne kdy přesně skončí blokace.
🧪 2. Zjistit přesný čas vypršení přes databázi (fail2ban.sqlite3)
Pokud používáš novější verzi Fail2ban (obvykle ≥ 0.11), ukládá si data do databáze /var/lib/fail2ban/fail2ban.sqlite3.
Můžeš ji prozkoumat takto:
Výstup např.:
-
timeofbanje Unix timestamp, kdy došlo k blokaci -
bantimeje délka blokace v sekundách
Můžeš si i rovnou vypočítat čas expirace:
To vrátí čitelný čas, kdy blokace vyprší.
📜 3. Ručně vypočítat podle logu
Pokud sqlite databázi nemáš (např. starší verze Fail2ban), můžeš dohledat čas blokace v logu:
Uvidíš něco jako:
Pokud víš, že bantime je např. 3600 s (1 hodina), prostě k času přičti 1 hodinu → to je okamžik expirace.
📦 4. Zjistit výchozí bantime (pokud nevíš)
Zkontroluj konfiguraci:
Nebo přímo pro daný jail:
✅ Shrnutí:
| Cíl | Příkaz |
|---|---|
| Zjistit aktivní bany | sudo fail2ban-client status <jail> |
| Zjistit čas expirace (nové verze) | sqlite3 /var/lib/fail2ban/fail2ban.sqlite3 "SELECT jail, ip, datetime(timeofban + bantime, 'unixepoch') FROM bans;" |
| Zjistit čas blokace (starší verze) | grep "Ban" /var/log/fail2ban.log |
Zjistit délku bantime |
sudo fail2ban-client get <jail> bantime |
💡 Tip: Pokud chceš mít expirace vždy přehledně po ruce, můžeš si udělat krátký alias:
Do ignoreip se dá přidat libovolný počet jednotlivých adres, rozsahů i celých podsítí (CIDR) — jen je potřeba dodržet správný formát a upravit to ve správném souboru.
Postup 👇
🛠️ 1. Otevři konfigurační soubor jailu
Nejčastěji:
Pokud ho nemáš, vytvoř si ho z výchozího (jail.conf se nemění!):
📥 2. Najdi nebo přidej sekci [DEFAULT]
V této sekci je globální nastavení, které platí pro všechny jail-y:
-
127.0.0.1/8– všechny loopback adresy -
::1– IPv6 loopback -
192.168.0.0/16– celý rozsah všech 192.168.x.x adres (celá privátní síť)