Ako nainštalovať Fail2ban pre zabezpečenie SSH na Ubuntu 24.04


Fail2ban je výkonný bezpečnostný nástroj založený na jazyku Python, ktorý pomáha chrániť systémy Linux pred útokmi hrubou silou blokovaním adries IP, ktoré sa pokúšajú prihlásiť pomocou nesprávnych poverení.

Monitoruje protokolové súbory na neúspešné pokusy o prihlásenie a iné podozrivé aktivity. Keď zistí takéto aktivity, zablokuje problematické IP adresy úpravou pravidiel brány firewall.

Tento článok preskúma, ako nainštalovať a používať Fail2ban na Ubuntu 24.04 na ochranu vášho systému pred týmito útokmi.

Inštalácia Fail2ban na Ubuntu 24.04

Ak chcete nainštalovať Fail2ban na Ubuntu 24.04, musíte aktualizovať zoznam systémových balíkov spustením nasledujúceho príkazu apt.

sudo apt update

Potom nainštalujte Fail2ban pomocou nasledujúceho príkazu.

sudo apt install fail2ban

Po inštalácii skontrolujte, či je Fail2ban správne nainštalovaný, a to tak, že skontrolujete jeho verziu.

fail2ban-client --version

Fail2Ban v1.0.2

Konfigurácia Fail2ban na Ubuntu 24.04

Adresár /etc/fail2ban je primárnym umiestnením konfiguračných súborov a protokolov Fail2Ban. Tento adresár obsahuje niekoľko podadresárov a súborov, ktoré sú nevyhnutné pre funkčnosť Fail2Ban.

Tu je rozpis kľúčových komponentov:

  • action.d: Tento adresár obsahuje akčné skripty, ktoré Fail2Ban používa na zákaz IP adries. Tieto skripty sú špecifické pre používanú bránu firewall alebo službu (napr. iptables, ufw, nftables).
  • filter.d: Tento adresár obsahuje konfiguračné súbory filtra, ktoré definujú, ako Fail2Ban identifikuje a zakáže IP adresy. Tieto filtre sú špecifické pre sledovanú službu (napr. SSH, HTTP, FTP).
  • jail.d: Tento adresár obsahuje konfiguračné súbory väzenia, ktoré definujú špecifické služby, ktoré Fail2Ban monitoruje, a pravidlá pre zakazovanie IP adries.
  • paths-arch.conf, paths-common.conf, paths-debian.conf, paths-opensuse.conf: Tieto súbory obsahujú cesty špecifické pre rôzne distribúcie Linuxu.
  • fail2ban.conf: Toto je hlavný konfiguračný súbor pre Fail2Ban, ktorý obsahuje globálne nastavenia a možnosti.
  • jail.conf: Tento súbor obsahuje predvolené konfigurácie väzenia pre rôzne služby.
  • jail.local: Tento súbor sa používa na prepísanie predvolených konfigurácií väzenia. Odporúča sa vytvoriť súbor jail.local na uľahčenie aktualizácií a prispôsobenie.
  • fail2ban.log: Toto je hlavný protokolový súbor pre Fail2Ban, kde sa zaznamenávajú jeho akcie a udalosti.

Fail2ban prichádza s predvolenými konfiguračnými súbormi, ktoré si môžete prispôsobiť podľa svojich potrieb. Hlavný konfiguračný súbor sa nachádza na adrese /etc/fail2ban/jail.conf.

Odporúča sa však vytvoriť lokálnu kópiu (/etc/fail2ban/jail.local), aby ste zabránili prepísaniu zmien počas aktualizácií.

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Otvorte lokálny konfiguračný súbor v nano textovom editore.

sudo nano /etc/fail2ban/jail.local

V konfiguračnom súbore nájdite sekciu [ssh] a odkomentujte riadky a upravte hodnoty, aby ste upravili správanie Fail2ban podľa obrázka.

  • maxretry: Definuje maximálny počet neúspešných pokusov o prihlásenie pred zakázaním adresy IP.
  • findtime: Toto nastavuje časové okno, v rámci ktorého musia nastať pokusy o maxretry na spustenie banu.
  • bantime: Toto definuje trvanie, počas ktorého je IP adresa zakázaná po prekročení maximálneho pokusu o opakovanie.

Príklad konfigurácie (upravte podľa potreby):

[ssh]
enabled = true
maxretry = 3
findtime = 10
bantime = 4h

V tomto príklade je väzenie povolené, maximálny počet opakovaných pokusov je nastavený na 3 v rámci 10sekundového okna a zakázané adresy IP sú blokované na 4 hodiny.

Po vykonaní požadovaných zmien uložte súbor a reštartujte službu Fail2ban, aby sa nová konfigurácia prejavila.

sudo systemctl restart fail2ban
sudo systemctl enable fail2ban
sudo systemctl status fail2ban

Testovanie Fail2ban v Ubuntu 24.04

Ak chcete otestovať Fail2ban, môžete nasimulovať útok hrubou silou na váš systém, ktorý zahŕňa zámerné spustenie podmienok, ktoré Fail2ban monitoruje, ako sú napríklad viaceré neúspešné pokusy o prihlásenie.

Najprv sa prihláste do iného počítača so systémom Linux, spustite nasledujúci príkaz na simuláciu neúspešných pokusov o prihlásenie a nezabudnite nahradiť 192.168.122.100 adresou IP vášho servera.

for i in {1..6}; do ssh [email ; done

Po vykonaní neúspešných pokusov o prihlásenie skontrolujte protokoly Fail2ban, aby ste zistili, či bola IP adresa zakázaná.

sudo tail -f /var/log/fail2ban.log

Overiť stav väzenia SSH a skontrolovať, či bola IP adresa zakázaná.

sudo fail2ban-client status sshd

Ak potrebujete zrušiť zákaz IP adresy, použite nasledujúci príkaz.

sudo fail2ban-client set sshd unbanip 192.168.122.1
Záver

Fail2ban je výkonný nástroj na ochranu vášho servera Ubuntu 24.04 pred útokmi hrubou silou. Podľa krokov uvedených v tejto príručke môžete nainštalovať, nakonfigurovať a používať Fail2ban, aby ste výrazne znížili riziko neoprávneného prístupu k vášmu serveru a zabezpečili bezpečnejšie prostredie pre vaše údaje a aplikácie.