Jak nainstalovat a nakonfigurovat službu Fail2Ban v systému Linux
9 min čtení - 14. května 2026

Průvodce krok za krokem instalací, konfigurací a testováním systému Fail2Ban na serverech s operačními systémy Linux založenými na Ubuntu, Debian a RHEL.
Jak nainstalovat a nakonfigurovat Fail2Ban v systému Linux
Fail2Ban monitoruje protokoly vašeho serveru kvůli podezřelé aktivitě a automaticky blokuje problematické IP adresy aktualizací pravidel vašeho firewallu. Zastavuje útoky hrubou silou, snižuje množství zbytečných záznamů v protokolech a po nakonfigurování běží tiše na pozadí. Tento průvodce pokrývá instalaci na Ubuntu/Debian, základní konfiguraci, nastavení jailu a několik pokročilých možností, o kterých stojí za to vědět.
Požadavky
Fail2Ban běží na většině distribucí Linuxu: Ubuntu, Debian, AlmaLinux, CentOS, RHEL, Rocky Linux a Fedora. Budete potřebovat:
- Python 3 nainstalovaný v systému
- Přístup jako root nebo sudo pro instalaci balíčků a změny v firewallu
- Aktivní firewall (iptables, nftables, ufw nebo firewalld)
- Soubory protokolů, které zaznamenávají neúspěšné pokusy o přihlášení (
/var/log/auth.logna systémech založených na Debianu/var/log/securena systémech založených na RHEL)
Na systémech založených na RHEL nejprve povolte repozitář EPEL. Před instalací Fail2Ban ověřte, zda váš firewall běží, pomocí ufw status nebo systemctl status firewalld.
Instalace Fail2Ban na Ubuntu/Debian
Aktualizujte balíčky a nainstalujte Fail2Ban:
sudo apt update && sudo apt upgrade -y
sudo apt install fail2banPovolte službu tak, aby se spouštěla při startu systému, a poté ji spusťte:
sudo systemctl enable fail2ban
sudo systemctl start fail2banZkopírujte výchozí konfiguraci do lokálního souboru pro přepsání. Vždy upravujte jail.local, nikoli jail.conf, aby aktualizace balíčků nepřepsaly vaše nastavení:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.localOvěřte, zda vše funguje:
sudo systemctl status fail2ban
sudo fail2ban-client statusPrvní příkaz by měl zobrazit „Active: active (running)“. Druhý příkaz vypisuje vaše aktivní jaily. Ověřte, zda je Fail2Ban povolen při spuštění systému pomocí sudo systemctl is-enabled fail2ban.
Konfigurace Jails
Výchozí nastavení
Otevřete /etc/fail2ban/jail.local a upravte [DEFAULT] . Tato nastavení se vztahují na všechny jails, pokud nejsou přepsána:
| Parametr | Doporučená hodnota | Funkce |
|---|---|---|
bantime | 3600 | Blokuje IP adresu na 1 hodinu |
findtime | 600 | Počítá selhání v 10minutovém intervalu |
maxretry | 3 až 5 | Počet selhání před spuštěním zákazu |
ignoreip | 127.0.0.1/8 ::1 | IP adresy, které nikdy nebyly zablokovány |
Přidejte svou vlastní správní IP adresu ignoreip , abyste se sami neuzamkli. Příklad: ignoreip = 127.0.0.1/8 ::1 203.0.113.50.
Ochrana SSH
Povolte SSH jail v jail.local:
[sshd]
enabled = trueZkontrolujte, zda logpath odkazuje na správný logový soubor pro vaši distribuci. Pokud jste přesunuli SSH na nestandardní port (např. 2222), aktualizujte port parametr odpovídajícím způsobem.
Ochrana webového serveru
Povolte jail, který odpovídá vašemu webovému serveru:
- Nginx:
[nginx-http-auth]pro selhání ověření,[nginx-botsearch]pro škodlivé boty - Apache:
[apache-auth]pro ověřování,[apache-badbots]pro boty
Recidive Jail
Recidive [recidive] jail zachytí IP adresy, které jsou neustále blokovány v jiných jailích, a uplatní delší trest, obvykle jeden týden (604 800 sekund). Je to užitečné pro vytrvalé útočníky, kteří mění svůj přístup.
Po provedení změn znovu načtěte stránku:
sudo systemctl restart fail2ban
sudo fail2ban-client statusTestování a monitorování
Testování blokování
Než se v produkčním prostředí spolehnete na Fail2Ban, otestujte jej. Ze vzdáleného počítače (nikoli z vaší administrátorské IP adresy) se pokoušejte o přihlášení přes SSH, dokud nepřekročíte maxretry. Měli byste být zablokováni. Ověřte to pomocí:
sudo fail2ban-client status sshdSledujte blokování v reálném čase:
tail -f /var/log/fail2ban.logPokud omylem zablokujete legitimní IP, odblokujte ji:
sudo fail2ban-client set sshd unbanip 203.0.113.50Každodenní monitorování
Projděte si historii blokování pomocí grepu v logu:
grep "Ban\|Unban" /var/log/fail2ban.logUžitečné příkazy pro správu:
| Příkaz | Účel |
|---|---|
fail2ban-client status | Zobrazit seznam všech aktivních vězení |
fail2ban-client banned | Zobrazit všechny aktuálně zablokované IP adresy |
fail2ban-client set <jail> unbanip <IP> | Zrušit blokování konkrétní IP adresy |
fail2ban-client unban --all | Vymazat všechny blokace |
fail2ban-client set <jail> banip <IP> | Ručně zablokovat IP |
Zákazy přetrvávají i po restartu. Fail2Ban je ukládá do databáze SQLite v /var/lib/fail2ban/fail2ban.sqlite3.
Pokročilá konfigurace
Přechod na nftables
nftables je moderní náhrada za iptables. Zpracovává IPv4 a IPv6 v jediném rámci, lépe se škáluje s velkými seznamy zakázaných adres a má vestavěné omezení rychlosti. Pokud používáte Ubuntu 22.04+, Debian 11+ nebo jakoukoli novější distribuci, je to lepší volba.
Nastavte jej v jail.local:
[DEFAULT]
banaction = nftables-multiportRestartujte Fail2Ban a poté ověřte pomocí sudo nft list ruleset. Měli byste vidět f2b-table a f2b-chain . U iptables zůstaňte pouze v případě, že používáte starší systém nebo máte požadavky na kompatibilitu.
E-mailová oznámení
Ve výchozím nastavení Fail2Ban blokuje bez upozornění. Chcete-li dostávat e-mailová upozornění, přidejte následující do sekce [DEFAULT] sekci jail.local:
[DEFAULT]
destemail = [email protected]
sender = [email protected]
mta = sendmail
action = %(action_mwl)sAkce action_mwl akce odešle e-mail s podrobnostmi o zablokování, údaji WHOIS a řádky protokolu, které zablokování spustily. Použijte action_mw , pokud chcete pouze údaje WHOIS. Budete potřebovat nainstalovaného agenta pro přenos pošty, jako je sendmail, nebo SMTP relé nakonfigurované prostřednictvím něčeho jako msmtp.
Pro upozornění na Slacku nebo Discord vytvořte skript, který odešle webhook, a propojte jej prostřednictvím vlastního akčního souboru v /etc/fail2ban/action.d/.
Pokud hledáte server s plným root přístupem a neomezenou šířkou pásma pro provoz Fail2Ban, podívejte se na dedikované servery FDC.

Máte už dost pomalého nasazování nebo omezení šířky pásma? Společnost FDC Servers nabízí okamžitý vyhrazený výkon, globální dosah a flexibilní plány vytvořené pro libovolný rozsah. Jste připraveni na upgrade?
Odemkněte výkon nyní
Správa paměti v systému Linux: Cgroups: Swap, OOM Killer a Cgroups
Jak spolupracují swapovací systém Linux, OOM killer a cgroups - s příklady konfigurace pro databáze, webové servery a vícenásobné hostitele VPS.
12 min čtení - 31. května 2026
Průvodce nastavením systému Prometheus a node_exporter
15 min čtení - 29. května 2026

Máte dotazy nebo potřebujete vlastní řešení?
Flexibilní možnosti
Globální dosah
Okamžité nasazení
Flexibilní možnosti
Globální dosah
Okamžité nasazení