Jak nainstalovat a nakonfigurovat službu Fail2Ban v systému Linux

9 min čtení - 14. května 2026

hero section cover
Obsah
  • Jak nainstalovat a nakonfigurovat Fail2Ban v systému Linux
  • Požadavky
  • Instalace Fail2Ban na Ubuntu/Debian
  • Konfigurace Jails
  • Testování a monitorování
  • Pokročilá konfigurace
Sdílet

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.log na systémech založených na Debianu /var/log/secure na 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 fail2ban

Povolte 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 fail2ban

Zkopí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.local

Ověřte, zda vše funguje:

sudo systemctl status fail2ban
sudo fail2ban-client status

První 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:

ParametrDoporučená hodnotaFunkce
bantime3600Blokuje IP adresu na 1 hodinu
findtime600Počítá selhání v 10minutovém intervalu
maxretry35Počet selhání před spuštěním zákazu
ignoreip127.0.0.1/8 ::1IP 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 = true

Zkontrolujte, 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 status

Testová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 sshd

Sledujte blokování v reálném čase:

tail -f /var/log/fail2ban.log

Pokud omylem zablokujete legitimní IP, odblokujte ji:

sudo fail2ban-client set sshd unbanip 203.0.113.50

Každodenní monitorování

Projděte si historii blokování pomocí grepu v logu:

grep "Ban\|Unban" /var/log/fail2ban.log

Užitečné příkazy pro správu:

PříkazÚčel
fail2ban-client statusZobrazit seznam všech aktivních vězení
fail2ban-client bannedZobrazit všechny aktuálně zablokované IP adresy
fail2ban-client set <jail> unbanip <IP>Zrušit blokování konkrétní IP adresy
fail2ban-client unban --allVymazat 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-multiport

Restartujte 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)s

Akce 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.

background image
Brzdí váš server váš růst?

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í

Blog

Tento týden byly představeny

Další články
Správa paměti v systému Linux: Cgroups: Swap, OOM Killer a Cgroups

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

Další články
background image

Máte dotazy nebo potřebujete vlastní řešení?

icon

Flexibilní možnosti

icon

Globální dosah

icon

Okamžité nasazení

icon

Flexibilní možnosti

icon

Globální dosah

icon

Okamžité nasazení