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 službu Fail2Ban v systému Linux
  • Předpoklady
  • Instalace systému Fail2Ban v Ubuntu/Debianu
  • Konfigurace vězení
  • 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 službu Fail2Ban v systému Linux

Služba Fail2Ban sleduje protokoly serveru a hledá podezřelé aktivity a automaticky zakazuje IP adresy, které porušují pravidla, aktualizací pravidel brány firewall. Zabraňuje útokům hrubou silou, snižuje šum v protokolech a po konfiguraci běží tiše na pozadí. Tento průvodce se zabývá instalací v Ubuntu/Debianu, konfigurací jádra, nastavením vězení a několika pokročilými možnostmi, o kterých stojí za to vědět.

Předpoklady

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 roota nebo sudo pro instalaci balíčků a změny brány firewall
  • Aktivní firewall (iptables, nftables, ufw nebo firewalld)
  • Soubory protokolu, které zachycují neúspěšné pokusy o přihlášení(/var/log/auth.log v systémech založených na Debianu, /var/log/secure v systémech založených na RHEL)

V systémech založených na RHEL nejprve povolte úložiště EPEL. Před instalací nástroje Fail2Ban ověřte, zda je váš firewall spuštěn pomocí příkazu ufw status nebo systemctl status firewalld.

Instalace systému Fail2Ban v Ubuntu/Debianu

Aktualizujte své balíčky a nainstalujte Fail2Ban:

sudo apt update && sudo apt upgrade -y
sudo apt install fail2ban

Službu povolte, 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 místního přepisovacího souboru. Vždy upravujte soubor 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 je vše spuštěno:

sudo systemctl status fail2ban
sudo fail2ban-client status

První příkaz by měl zobrazit "Active: active (running)". Druhý příkaz obsahuje seznam vašich aktivních jailů. Potvrďte, že Fail2Ban je při spuštění systému povolen, pomocí sudo systemctl is-enabled fail2ban.

Konfigurace vězení

Výchozí nastavení

Otevřete soubor /etc/fail2ban/jail.local a upravte část [DEFAULT]. Tato nastavení platí pro všechny jaily, pokud nejsou přepsána:

ParametrDoporučená hodnotaCo to dělá
bantime3600Zablokuje IP adresu na 1 hodinu
findtime600Počítá selhání v rámci 10minutového okna
maxretry35Selhání před spuštěním zákazu
ignoreip127.0.0.1/8 ::1IP adresy, které nejsou nikdy zakázány

Přidejte do ignoreip vlastní IP adresu pro správu, abyste se nezablokovali. Příklad: ignoreip = 127.0.0.1/8 ::1 203.0.113.50.

Ochrana SSH

V souboru jail.local povolte vězení SSH:

[sshd]
enabled = true

Zkontrolujte, zda logpath ukazuje na správný soubor protokolu pro vaši distribuci. Pokud jste SSH přesunuli na nestandardní port (např. 2222), aktualizujte parametr portu tak, aby odpovídal.

Ochrana webového serveru

Povolte vězení, které odpovídá vašemu webovému serveru:

  • Nginx: [nginx-http-auth] pro selhání ověřování, [nginx-botsearch] pro škodlivé boty
  • Apache: [apache-auth] pro ověřování, [apache-badbots] pro boty

Recidivní vězení

Vězení [recidive] zachycuje IP adresy, které jsou stále zakazovány v jiných vězeních, a uplatňuje delší trest, obvykle jeden týden (604 800 sekund). Je užitečná pro vytrvalé útočníky, kteří střídají své přístupy.

Po provedení změn proveďte opětovné načtení:

sudo systemctl restart fail2ban
sudo fail2ban-client status

Testování a monitorování

Zákazy testování

Než se na Fail2Ban začnete spoléhat ve výrobě, otestujte jej. Ze vzdáleného počítače (nikoli z IP adresy správce) se pokoušejte o přihlášení SSH, dokud nepřekročíte maxretry. Měli byste být zablokováni. Potvrďte pomocí:

sudo fail2ban-client status sshd

Sledujte zákazy v reálném čase:

tail -f /var/log/fail2ban.log

Pokud omylem zabanujete legitimní IP adresu, zrušte její ban:

sudo fail2ban-client set sshd unbanip 203.0.113.50

Sledování den po dni

Prohlédněte si historii banů procházením protokolu:

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

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

PříkazyÚčel
fail2ban-client statusVypíše všechny aktivní žaláře
fail2ban-client bannedZobrazí všechny aktuálně zakázané IP adresy
fail2ban-client set <jail> unbanip <IP>Zruší zákaz konkrétní IP adresy
fail2ban-client unban --allVymaže všechny zákazy
fail2ban-client set <jail> banip <IP>Ruční zákaz IP adresy

Zákazy přetrvávají i po restartech. Fail2Ban je ukládá do databáze SQLite na adrese /var/lib/fail2ban/fail2ban.sqlite3.

Pokročilá konfigurace

Přechod na nftables

nftables je moderní náhrada za iptables. Zvládá protokoly IPv4 a IPv6 v jediném rámci, lépe škáluje velké seznamy zákazů a má zabudované omezování rychlosti. Pokud používáte Ubuntu 22.04+, Debian 11+ nebo jakoukoli novější distribuci, je to lepší volba.

Nastavte jej v souboru jail.local:

[DEFAULT]
banaction = nftables-multiport

Restartujte Fail2Ban a ověřte pomocí sudo nft list ruleset. Ve výstupu byste měli vidět f2b-table a f2b-chain. Zůstaňte u iptables 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 zakazuje v tichosti. Chcete-li dostávat e-mailová upozornění, přidejte do sekce [DEFAULT] souboru jail.local následující text:

[DEFAULT]
destemail = [email protected]
sender = [email protected]
mta = sendmail
action = %(action_mwl)s

Akce action_mwl odešle e-mail s podrobnostmi o zákazu, údaji WHOIS a řádky protokolu, které zákaz spustily. Pokud chcete pouze údaje WHOIS, použijte action_mw. Budete potřebovat nainstalovaný agent pro přenos pošty, jako je sendmail, nebo relé SMTP nakonfigurované prostřednictvím něčeho, jako je msmtp.

Pro upozornění na Slack nebo Discord vytvořte skript, který odešle webový háček, a propojte jej prostřednictvím vlastního souboru akcí v /etc/fail2ban/action.d/.

Pokud hledáte server s plným root přístupem a neměřenou šíř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
Kontrolní seznam zabezpečení linuxových serverů

Kontrolní seznam zabezpečení linuxových serverů

Kontrolní seznam krok za krokem pro zabezpečení linuxového serveru. Zahrnuje SSH, firewally, záplatování, oprávnění k souborům, SELinux/AppArmor a auditní protokolování

15 min čtení - 8. května 2026

výukový program iperf3: Testování rychlosti sítě v systémech Linux a Windows

10 min čtení - 7. 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í