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

Jak nainstalovat a nakonfigurovat Fail2ban na CentOS 8

Všechny servery, které jsou vystaveny internetu, jsou ohroženy útoky malwaru. Pokud máte například software připojený k veřejné síti, útočníci mohou k získání přístupu k aplikaci použít hrubou sílu.

Fail2ban je nástroj s otevřeným zdrojovým kódem, který pomáhá chránit váš počítač se systémem Linux před hrubou silou a dalšími automatizovanými útoky tím, že monitoruje protokoly služeb, zda neobsahují škodlivou aktivitu. Ke skenování souborů protokolu používá regulární výrazy. Započítávají se všechny položky odpovídající vzorům, a když jejich počet dosáhne určité předem definované prahové hodnoty, Fail2ban zablokuje porušovanou IP na určitou dobu. Výchozí systémový firewall se používá jako akce zákazu. Po uplynutí doby zákazu bude IP adresa odstraněna ze seznamu zákazů.

Tento článek vysvětluje, jak nainstalovat a nakonfigurovat Fail2ban na CentOS 8.

Instalace Fail2ban na CentOS #

Balíček Fail2ban je součástí výchozích úložišť CentOS 8. Chcete-li jej nainstalovat, zadejte následující příkaz jako root nebo uživatel s právy sudo:

sudo dnf install fail2ban

Po dokončení instalace povolte a spusťte službu Fail2ban:

sudo systemctl enable --now fail2ban

Chcete-li zkontrolovat, zda je spuštěn server Fail2ban, zadejte:

sudo systemctl status fail2ban
● fail2ban.service - Fail2Ban Service
   Loaded: loaded (/usr/lib/systemd/system/fail2ban.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-09-10 12:53:45 UTC; 8s ago
...

A je to. V tomto okamžiku máte na svém serveru CentOS spuštěn Fail2Ban.

Konfigurace Fail2ban #

Výchozí instalace Fail2ban je dodávána se dvěma konfiguračními soubory, /etc/fail2ban/jail.conf a /etc/fail2ban/jail.d/00-firewalld.conf . Tyto soubory by neměly být upravovány, protože mohou být při aktualizaci balíčku přepsány.

Fail2ban čte konfigurační soubory v následujícím pořadí:

  • /etc/fail2ban/jail.conf
  • /etc/fail2ban/jail.d/*.conf
  • /etc/fail2ban/jail.local
  • /etc/fail2ban/jail.d/*.local

Každý .local soubor přepíše nastavení z .conf soubor.

Nejjednodušší způsob, jak nakonfigurovat Fail2ban, je zkopírovat jail.conf na jail.local a upravte .local soubor. Pokročilejší uživatelé mohou vytvořit .local konfigurační soubor od začátku. .local soubor nemusí obsahovat všechna nastavení z odpovídajícího .conf pouze ty, které chcete přepsat.

Vytvořte .local konfigurační soubor z výchozího jail.conf soubor:

sudo cp /etc/fail2ban/jail.{conf,local}

Chcete-li zahájit konfiguraci serveru Fail2ban, otevřete jail.local soubor pomocí vašeho textového editoru:

sudo nano /etc/fail2ban/jail.local

Soubor obsahuje komentáře popisující, co každá možnost konfigurace dělá. V tomto příkladu změníme základní nastavení.

Přidat IP adresy na seznam povolených #

IP adresy, rozsahy IP nebo hostitele, které chcete vyloučit ze zákazu, lze přidat do ignoreip směrnice. Zde byste měli přidat IP adresu vašeho místního počítače a všechny ostatní počítače, které chcete přidat na seznam povolených.

Odkomentujte řádek začínající ignoreip a přidejte své IP adresy oddělené mezerou:

/etc/fail2ban/jail.local
ignoreip = 127.0.0.1/8 ::1 123.123.123.123 192.168.1.0/24

Nastavení zákazu #

Hodnoty bantime , findtime a maxretry možnosti definují dobu zákazu a podmínky zákazu.

bantime je doba, po kterou je IP zakázána. Pokud není zadána žádná přípona, výchozí hodnota je sekund. Ve výchozím nastavení bantime hodnota je nastavena na 10 minut. Obecně platí, že většina uživatelů bude chtít nastavit delší dobu zákazu. Změňte hodnotu podle svého:

/etc/fail2ban/jail.local
bantime  = 1d

Chcete-li IP adresu trvale zakázat, použijte záporné číslo.

findtime je doba mezi počtem selhání před nastavením zákazu. Pokud je například Fail2ban nastaven tak, aby zakázal IP adresu po pěti selháních (maxretry , viz níže), k těmto selháním musí dojít během findtime trvání.

/etc/fail2ban/jail.local
findtime  = 10m

maxretry je počet selhání před zakázáním IP. Výchozí hodnota je nastavena na pět, což by mělo být pro většinu uživatelů v pořádku.

/etc/fail2ban/jail.local
maxretry = 5

E-mailová upozornění #

Fail2ban může odesílat e-mailová upozornění, když byla IP zakázána. Abyste mohli přijímat e-mailové zprávy, musíte mít na svém serveru nainstalovaný SMTP a změnit výchozí akci, která zakáže IP pouze na %(action_mw)s , jak je uvedeno níže:

/etc/fail2ban/jail.local
action = %(action_mw)s

%(action_mw)s zakáže urážlivou IP a pošle e-mail s hlášením whois. Pokud chcete do e-mailu zahrnout příslušné protokoly, nastavte akci na %(action_mwl)s .

Můžete také upravit odesílací a přijímací e-mailové adresy:

/etc/fail2ban/jail.local
destemail = [email protected]

sender = [email protected]

Vězení Fail2ban #

Fail2ban používá koncept vězení. Vězení popisuje službu a zahrnuje filtry a akce. Záznamy protokolu odpovídající vyhledávacímu vzoru se počítají, a když je splněna předem definovaná podmínka, jsou provedeny odpovídající akce.

Fail2ban se dodává s řadou vězení pro různé služby. Můžete si také vytvořit vlastní konfigurace vězení.

Ve výchozím nastavení na CentOS 8 nejsou povolena žádná vězení. Chcete-li povolit vězení, musíte přidat enabled = true po titulu vězení. Následující příklad ukazuje, jak povolit sshd vězení:

/etc/fail2ban/jail.local
[sshd]
enabled   = true
port    = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s

Nastavení, o kterých jsme hovořili v předchozí části, lze nastavit pro každé vězení. Zde je příklad:

/etc/fail2ban/jail.local

Filtry jsou umístěny v /etc/fail2ban/filter.d adresář, uložený v souboru se stejným názvem jako jail. Pokud máte vlastní nastavení a zkušenosti s regulárními výrazy, můžete filtry doladit.

Při každé úpravě konfiguračního souboru je nutné restartovat službu Fail2ban, aby se změny projevily:

sudo systemctl restart fail2ban

Klient Fail2ban #

Fail2ban se dodává s nástrojem příkazového řádku s názvem fail2ban-client které můžete použít k interakci se službou Fail2ban.

Chcete-li zobrazit všechny dostupné možnosti fail2ban-client příkaz, vyvolejte jej pomocí -h možnost:

fail2ban-client -h

Tento nástroj lze použít k zablokování/odbanování IP adres, změně nastavení, restartování služby a dalším. Zde je několik příkladů:

  • Zkontrolujte stav vězení:

    sudo fail2ban-client status sshd
  • Zrušení zákazu IP:

    sudo fail2ban-client set sshd unbanip 23.34.45.56
  • Zakázat IP:

    sudo fail2ban-client set sshd banip 23.34.45.56

Cent OS
  1. Jak nainstalovat a nakonfigurovat Fail2Ban na CentOS 8 a Fedora 33

  2. Jak nainstalovat a nakonfigurovat Fail2ban na CentOS 8?

  3. Jak nainstalovat a nakonfigurovat CyberPanel na CentOS 8

  1. Jak nainstalovat a nakonfigurovat Nginx na CentOS 7

  2. Jak nainstalovat a nakonfigurovat Fail2ban na Ubuntu 20.04

  3. Jak nainstalovat a nakonfigurovat Redis na CentOS 7

  1. Jak nainstalovat a nakonfigurovat GitLab na CentOS 7

  2. Jak nainstalovat a nakonfigurovat Redmine na CentOS 7

  3. Jak nainstalovat a nakonfigurovat Redis na CentOS 8