GNU/Linux >> Znalost Linux >  >> Rocky Linux

Jak nainstalovat Fail2ban s Firewalld na Rocky Linux 8.4

Fail2ban je systémový démon pro ochranu serverů před škodlivým přihlášením a útoky hrubou silou. Fail2ban je open-source IPS (Intrusion Prevention Software) framework napsaný v Pythonu a je extrémně konfigurovatelný. Funguje jako služba démona, která bude monitorovat žurnál a soubory protokolu SystemD a poté vyhledávat případné neúspěšné pokusy o ověření. Když neúspěšná autentizace dosáhne maximálního čísla X, fail2ban automaticky zablokuje IP adresu pomocí softwaru brány firewall.

Pokud jste vlastníkem VPS (Virtual Private Server) nebo dedikovaného serveru, měli byste zvážit instalaci fail2ban na všechny vaše servery. Pomůže vám chránit některé základní služby, jako je SSH a FTP, před škodlivými útoky hrubou silou. Fail2ban je také velmi praktický, snadno konfigurovatelný a flexibilní.

V této příručce se dozvíte, jak nainstalovat fail2ban na Rocky Linux, jak nakonfigurovat fail2ban pomocí firewallu a jak zabezpečit službu SSH proti útokům hrubou silou.

Předpoklady

  • Uživatel s právy sudo root.

Nastavení brány firewall

Firewalld je výchozí software brány firewall na Rocky Linux. Nainstaluje se automaticky během instalace Rocky Linuxu, ale ve výchozím nastavení není aktivován.

1. Spusťte následující příkaz, abyste zajistili dostupnost balíčku firewalld ve vašem systému.

sudo dnf info firewalld

Získáte podobný výstup jako níže.

Jak je vidět na snímku obrazovky, balíček firewalld je uveden jako „Nainstalované balíčky ".

."

2. Dále spusťte službu firewalld pomocí následujícího příkazu.

sudo systemctl start firewalld

3. Nyní povolte, aby se služba firewalld automaticky spouštěla ​​při každém spuštění systému.

sudo systemctl enable firewalld

A získáte následující výstup.

Created symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service → /usr/lib/systemd/system/firewalld.service.
Created symlink /etc/systemd/system/multi-user.target.wants/firewalld.service → /usr/lib/systemd/system/firewalld.service.

4. Poté zkontrolujte stav služby firewall pomocí příkazu níže.

sudo systemctl status firewalld

A získáte následující výstup.

Jak je vidět, služba firewalld je aktivní a běží.

5. Volitelně můžete zkontrolovat stav služby brány firewall pomocí příkazu firewall-cmd. Firewall-cmd je hlavním rozhraním pro interakci s firewalld. Příkaz firewall-cmd je nástroj pro správu pravidel brány firewall, umožňuje přidávat pravidla, mazat pravidla, kontrolovat stav atd.

Spusťte níže uvedený příkaz firewall-cmd a zkontrolujte stav služby firewallu.

sudo firewall-cmd --state

Pokud je váš firewall aktivní, dostanete výstup jako „běžící ". V opačném případě dostanete výstup jako "neběží." ".

."

Nyní spusťte následující příkaz firewall-cmd pro kontrolu všech aktuálně používaných pravidel brány firewall.

sudo firewall-cmd --list-all

Získáte podobný výstup jako níže.

Přidání úložiště EPEL do Rocky Linux

Před instalací fail2ban musíte přidat EPEL (Extra Packages for Enterprise Linux ) úložiště do vašeho systému.

1. Nyní proveďte následující příkaz pro instalaci úložiště EPEL.

sudo dnf install epel-release

Zadejte "y" nainstalovat a pokračovat.

2. Po dokončení instalace zkontrolujte všechna dostupná úložiště ve vašem systému pomocí následujícího příkazu.

sudo dnf repolist

Nyní uvidíte výstup jako níže.

Jak je vidět, úložiště EPEL je v systému dostupné a aktivní. Nyní pokračujme k instalaci fail2ban.

Instalace Fail2ban na Rocky Linux

1. Chcete-li nainstalovat fail2ban, proveďte níže uvedený příkaz.

sudo dnf install fail2ban fail2ban-firewalld

Zadejte "y" potvrďte instalaci a stiskněte „Enter " pokračovat.

Stejně jako na příkazovém řádku také instalujete další balíček "fail2ban-firewalld". Umožní to fail2ban manipulovat s pravidly brány firewall.

2. Po dokončení instalace spusťte službu fail2ban pomocí příkazu níže.

sudo systemctl start fail2ban

3. Poté spusťte následující příkaz, abyste povolili automatické spouštění služby fail2ban při každém spuštění systému.

sudo systemctl enable fail2ban

4. Nyní zkontrolujte stav služeb fail2ban spuštěním následujícího příkazu.

sudo systemctl status fail2ban

A získáte, že služba fail2ban je aktivní a běží s výchozí konfigurací, jak je uvedeno níže.

Konfigurace Fail2ban

Nyní budete konfigurovat fail2ban a povolit fail2ban pro práci s firewallem.

1. Zkopírujte výchozí konfiguraci fail2ban z "jail.conf" na „jail.local " pomocí následujícího příkazu.

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

2. Dále upravte konfiguraci fail2ban pomocí příkazu nano editor níže.

sudo nano /etc/fail2ban/jail.local

V části „[VÝCHOZÍ] ", zkontrolujte konfigurace níže.

[DEFAULT]
....
bantime = 1h
findtime = 1h
maxretry = 5

Možnosti, které musíte znát.

  • [VÝCHOZÍ] =Všechny konfigurace v této části budou použity jako globální výchozí konfigurace.
  • bantime =Kolikrát x IP adresa bude zakázána. Podporuje formát jako den, minutu nebo hodiny. V tomto příkladu bude hostitel nebo adresa IP zakázána na „1 hodinu“ po neúspěšných pokusech o maximální ověření.
  • findtime =IP adresa bude zakázána, pokud během posledního "findtime" selhala maximální autentizace.
  • maxretry =Když má IP adresa X číslo selhání přihlášení maxrtry, bude IP zakázána. V tomto příkladu bude IP adresa zakázána po 5 neúspěšných pokusech o ověření.

Upravte bantime, findtime a maxrety podle svých potřeb, poté stiskněte "Ctrl+x" a napište "y" a poté stiskněte "Enter" pro uložení konfigurace.

3. Výchozí konfigurace fail2ban používá k blokování iptables. Chcete-li povolit, aby fail2ban používal k blokování firewall, zkopírujte konfiguraci „00-firewalld.conf “ na „00-firewalld.local " pomocí příkazu níže.

sudo mv /etc/fail2ban/jail.d/00-firewalld.conf /etc/fail2ban/jail.d/00-firewalld.local

Tato konfigurace „00-firewalld.conf “ je součástí „fail2ban-firewalld " balíček.

4. Nyní restartujte službu fail2ban, abyste použili nové konfigurace pomocí příkazu níže.

sudo systemctl restart fail2ban

Ochrana služby SSH pomocí Fail2ban

Ve výchozím nastavení fail2ban neblokuje žádnou IP adresu, dokud nepovolíte konfiguraci vězení pro každou službu, kterou chcete chránit. Konfigurace vězení také přepíše výchozí konfiguraci na "jail.local". Konfigurace vězení bude k dispozici v adresáři "/etc/fail2ban/jail.d".

1. Vytvořte novou konfiguraci vězení pro službu SSH pomocí následujícího příkazu.

sudo nano /etc/fail2ban/jail.d/sshd.local

Nyní vložte následující konfiguraci.

[sshd]
enabled = true

# Override the default global configuration
# for specific jail sshd
bantime = 1d
maxretry = 3

Jak je vidět, konfigurace přepíše „bantime “ a „maxretry " možnosti pro vězení "sshd ".

."

Stiskněte Ctrl+x a zadejte „Y “ a poté stiskněte „Enter " pro uložení nové konfigurace vězení.

2. Chcete-li použít novou konfiguraci, restartujte službu fail2ban pomocí následujícího příkazu.

sudo systemctl restart fail2ban

3. Poté zkontrolujte stav fail2ban pomocí příkazu fail2ban-client. fail2ban-client je příkazový řádek pro správu řídicího serveru fail2ban.

Nyní spusťte níže uvedený příkaz fail2ban-client a ověřte konfiguraci vězení.

sudo fail2ban-client status

A získáte podobný výstup jako níže.

Fail2ban běží s 1 aktivním jménem vězení "sshd ".

."

Chcete-li zkontrolovat konfiguraci konkrétní věznice, můžete použít „get " možnost za názvem vězení a poté možnosti, které chcete zkontrolovat.

Zkontrolujte konfiguraci "maxretry" pro jail "sshd" pomocí příkazu níže.

sudo fail2ban-client get sshd maxretry

A uvidíte, že výstup je „3 ", odpovídá hodnotě v konfiguraci "sshd.local".

Dále zkontrolujte výchozí akci zákazu pro vězení "sshd" pomocí příkazu níže.

sudo fail2ban-client get sshd actions

A uvidíte, že výstup je „firewallcmd-rich-rules ", odpovídá globální konfiguraci fail2ban na "00-firewalld.local".

Ověřte Fail2ban a instalaci firewallu

Chcete-li ověřit instalaci fail2ban, zkontrolujte úplný stav vězení (pro tuto příručku je vězení sshd) a zkontrolujte pravidla brány firewall generovaná službou fail2ban.

Pro účely testování je níže snímek obrazovky po pokusu o připojení k serveru SSH s nesprávným heslem. Po dosažení maximálního počtu opakování „3 "krát, připojení přeruší server.

1. Provedením následujícího příkazu zkontrolujte stav konkrétního vězení (tento příklad sshd jail).

sudo fail2ban-client status sshd

A získáte podobný výstup jako následující.

Jak je vidět, vězení sshd má 1 zakázanou IP adresu. Pokud jste na živém VPS nebo dedikovaném serveru, uvidíte mnohem více IP adres.

2. Fail2ban vygeneruje firewallová rozšířená pravidla pro blokování IP adres. Rozšířená pravidla firewallu jsou pokročilou možností filtrování na firewallu.

Provedením následujícího příkazu zobrazíte rozšířená pravidla brány firewall generovaná funkcí fail2ban.

firewall-cmd --list-rich-rules

A získáte podobný výstup jako níže.

IP adresa Uban na Fail2ban

Chcete-li zrušit zákaz IP adresy z fail2ban, můžete použít příkaz fail2ban-client.

1. Provedením níže uvedeného příkazu fail2ban-client odblokujte IP adresu „192.168.1.10 ".

."
sudo fail2ban-client unban 192.168.1.10

A IP adresa bude odstraněna ze seznamu zakázaných na fail2ban.

Dále spusťte následující příkaz, abyste zajistili odstranění IP adresy z databáze fail2ban (pro tento příklad jail sshd).

sudo fail2ban-client status sshd

A zjistíte, že IP adresa bude odstraněna ze „Seznamu zakázaných IP adres ".

Závěr

gratuluji! úspěšně jste nainstalovali framework fail2ban IPS na Rocky Linux 8.4. A v dalším kroku se můžete podívat na další konfiguraci vězení, abyste zabezpečili další služby, jako je FTP server, phpMyAdmin, WordPress atd.


Rocky Linux
  1. Jak nainstalovat Rocky Linux 8.4 krok za krokem pomocí snímků obrazovky

  2. Jak nainstalovat Fail2ban s Firewalld na Rocky Linux 8

  3. Jak nainstalovat Redis na Rocky Linux 8

  1. Jak nainstalovat Python 3.9 na Rocky Linux 8

  2. Jak nainstalovat Apache Tomcat 10 s Nginx na Rocky Linux 8

  3. Jak nainstalovat Joomla s Nginx na Rocky Linux

  1. Jak nainstalovat Rocky Linux 8.4 (průvodce krok za krokem se snímky obrazovky)

  2. Jak nainstalovat Rocky Linux 8.4

  3. Jak nainstalovat Docker CE na Rocky Linux 8