GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat a používat Fail2ban na RHEL 8 / CentOS 8

Na prvním místě v seznamu každého provozního týmu IT je zajištění zabezpečení serverů před neoprávněnými uživateli nebo škodlivými skripty. Existuje řada řešení, která můžete použít k odvrácení útoků a porušení. Mezi nimi je implementace softwarového nástroje Fail2ban.

Fail2ban je open-source opatření pro detekci narušení, které zmírňuje útoky hrubou silou, které se zaměřují na různé služby, jako je SSH a VSFTPD, abychom zmínili alespoň některé. Dodává se s řadou filtrů – včetně SSH – které si můžete přizpůsobit tak, aby aktualizovaly pravidla brány firewall a blokovaly neoprávněné pokusy o přihlášení k SSH.

Obslužný program fail2ban monitoruje protokolové soubory serveru na jakékoli pokusy o narušení a zablokuje IP adresu uživatele po předem definovaném počtu neúspěšných pokusů po určitou dobu. IP uživatele je umístěna ve „vězení“, které lze nastavit, povolit nebo zakázat v konfiguračním souboru /etc/fail2ban/jail.conf. Tímto způsobem pomáhá zabezpečit váš linuxový server před neoprávněným přístupem, konkrétněji před botnety a škodlivými skripty.

Co zahrnuje vězení? Vězení se skládá z následujících klíčových prvků:

  • Soubor protokolu, který má být analyzován.
  • Filtry, které mají být použity na soubor protokolu.
  • Akce, která má být provedena, když se filtr shoduje
  • Další parametry pro upřesnění typu shod. Například maxtry (maximální pokus) a bantime (čas zákazu) atd.

V tomto tutoriálu vás provedeme instalací a konfigurací Fail2ban na RHEL 8 / CentOS 8.

Krok 1) Nainstalujte úložiště EPEL

Nejprve se přihlaste ke svému serveru a nainstalujte balíček EPEL (Extra Package for Enterprise Linux) následovně.

Pro CentOS 8

$ sudo dnf install -y epel-release

Pro RHEL 8

$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y

Krok 2) Nainstalujte Fail2ban

Chcete-li nainstalovat Fail2ban, spusťte jednoduchý příkaz níže:

$ sudo dnf install -y fail2ban

Krok 3) Konfigurace Fail2ban

Podle návrhu fail2ban analyzuje soubory protokolu a pokusí se najít shodu s regexem selhání zadaným ve filtrech. Filtry zachycují neúspěšné pokusy o autentizaci pro konkrétní službu, například pokusy o přihlášení SSH pomocí regulárních výrazů – regex. Když je v záznamech protokolu dosaženo maximálního počtu časů „maxtry“, spustí se akce.

Ve výchozím nastavení k tomu dojde po 3 neúspěšných pokusech o ověření a uživatel je na 10 minut zablokován nebo uvězněn. Tyto parametry lze snadno nakonfigurovat v souboru /etc/fail2ban/jail.conf, což je globální konfigurační soubor.

Všechny důležité konfigurační soubory jsou umístěny v adresáři /etc/fail2ban/.

Filtry jsou uloženy v adresáři /etc/fail2ban/filter.d. Existují desítky filtrů pro různé služby včetně SSH, Webmin, postfix a mnoho dalších.

/etc/fail2ban/jail.conf je hlavní konfigurační soubor. Nedoporučuje se však přímo upravovat tento soubor, protože jak je v souboru uvedeno, konfigurace budou pravděpodobně přepsány nebo vylepšeny při pozdější aktualizaci distribuce.

Řešením je vytvořit  soubor jail.local v adresáři /etc/fail2ban/jail.d a přidat vlastní konfigurace pro požadované služby, které chcete zabezpečit.

POZNÁMKA:Parametry definované v souboru jail.local přepíší soubor jail.conf. Díky tomu je ještě výhodnější ponechat hlavní konfigurační soubor nedotčený.

Pro demonstrační účely vytvoříme vězeňský soubor, který zajistí připojení SSH.

$ sudo vim /etc/fail2ban/jail.local

Zde je ukázkový konfigurační soubor.

[DEFAULT]
ignoreip = 192.168.2.105
bantime  = 86400
findtime  = 300
maxretry = 3
banaction = iptables-multiport
backend = systemd
[sshd]
enabled = true

Pojďme si parametry rozebrat a podívat se, co znamenají.

  • ignoreip –  Definuje seznam IP adres nebo názvů domén, které nemají být zakázány.
  • bantime – Jak název napovídá, udává dobu trvání zákazu vzdáleného hostitele v sekundách.
  • maxretry – počet neúspěšných pokusů o přihlášení před zablokováním/zablokováním hostitele.
  • findtime – Doba trvání v sekundách, během které bude hostitel zablokován po dosažení maximálních pokusů.
  • banakce – akce zákazu.
  • backend – systém používaný k načítání souborů protokolu

Naše konfigurace předpokládá následující:

Když IP adresa zaznamená 3 neúspěšné pokusy o ověření během posledních 5 minut, bude na 24 hodin zakázána, s výjimkou hostitele s IP 192.168.2.105.

Uložte a ukončete konfigurační soubor.

Krok 4)  Spusťte a povolte Fail2ban

Po dokončení konfigurace vězeňského souboru pro SSH spustíme a povolíme fail2ban při bootování. Služba obvykle po instalaci neběží

Chcete-li spustit a povolit fail2ban, spusťte příkaz:

$ sudo systemctl start fail2ban
$ sudo systemctl enable fail2ban

Chcete-li zjistit stav fail2ban, vyvolejte následující příkaz:

$ sudo systemctl status fail2ban

Tentokrát můžeme pozorovat, že fail2ban běží podle očekávání.

Nyní pokračujme a podívejme se, jak Fail2ban funguje.

Krok 4) Fail2ban v akci

Pojďme nyní o krok dále a uvidíme Fail2ban v akci. Chcete-li mít na očích zakázané IP adresy, přijde vhod nástroj fail2ban-client. Chcete-li například získat stav vězení ssh, spusťte příkaz:

$ sudo fail2ban-client status sshd

Momentálně zde nejsou žádné zakázané IP záznamy, protože jsme se ještě vzdáleně nepřihlásili k serveru.

Pokusíme se přihlásit z putty SSH klienta z Windows PC s IP odlišnou od IP zadané v konfiguračním souboru jail.local.

Z výstupu jasně vidíme, že nemůžeme získat přístup k serveru. Když znovu zkontrolujeme stav, zjistíme, že jedna IP byla zakázána, jak je uvedeno.

Chcete-li odstranit IP ze seznamu zakázaných, odblokujte ji následovně.

$ sudo fail2ban-client unban 192.168.2.101

Chcete-li získat další informace o pravidlech a zásadách fail2ban, navštivte manuálové stránky jail.conf, jak je uvedeno

$ man jail.conf

Nějaký komentář nebo zpětnou vazbu? Neváhejte nás kontaktovat a my se vám ozveme.

Přečtěte si také :12 příkladů příkazů IP pro uživatele systému Linux


Cent OS
  1. Jak nainstalovat a používat PHP Composer na CentOS 7

  2. Jak nainstalovat a používat ifconfig na CentOS 7

  3. Jak nainstalovat Fail2Ban na CentOS 7

  1. Jak nainstalovat a nakonfigurovat sambu na RHEL 8 / CentOS 8

  2. Jak nainstalovat soubor bin v RHEL 8 / CentOS 8 Linux

  3. Jak nainstalovat a nakonfigurovat Fail2ban na CentOS 8

  1. Jak nainstalovat a používat Docker na CentOS 7

  2. Jak nainstalovat a používat Docker Compose na CentOS 7

  3. Jak nainstalovat a používat PHP Composer na CentOS 7