GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat a nakonfigurovat Fail2ban na Ubuntu 20.04

Každá služba, která je vystavena internetu, je ohrožena útoky malwaru. Pokud například provozujete službu ve veřejně dostupné síti, útočníci se mohou k vašemu účtu přihlásit pomocí hrubé síly.

Fail2ban je nástroj, 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 zakáže porušovanou IP pomocí systémového firewallu na určitou dobu. Po uplynutí doby zákazu bude IP adresa odstraněna ze seznamu zákazů.

Tento článek popisuje, jak nainstalovat a nakonfigurovat Fail2ban na Ubuntu 20.04.

Instalace Fail2ban na Ubuntu #

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

sudo apt updatesudo apt install fail2ban

Po dokončení instalace se služba Fail2ban automaticky spustí. Můžete to ověřit kontrolou stavu služby:

sudo systemctl status fail2ban

Výstup bude vypadat takto:

● fail2ban.service - Fail2Ban Service
     Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2020-08-19 06:16:29 UTC; 27s ago
       Docs: man:fail2ban(1)
   Main PID: 1251 (f2b/server)
      Tasks: 5 (limit: 1079)
     Memory: 13.8M
     CGroup: /system.slice/fail2ban.service
             └─1251 /usr/bin/python3 /usr/bin/fail2ban-server -xf start

A je to. V tomto okamžiku máte na svém serveru Ubuntu 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/defaults-debian.conf . Nedoporučuje se tyto soubory upravovat, 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í. Každý .local soubor přepíše nastavení z .conf soubor:

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

Pro většinu uživatelů je nejjednodušší způsob, jak nakonfigurovat Fail2ban, zkopírovat soubor 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 trvale zakázat IP adresu, 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-maily, 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 zabanuje urážlivou IP a odeš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í je povolen pouze sshjail. Chcete-li povolit vězení, musíte přidat enabled = true po titulu vězení. Následující příklad ukazuje, jak povolit vězení proftpd:

/etc/fail2ban/jail.local
[proftpd]
enabled  = true
port     = ftp,ftp-data,ftps,ftps-data
logpath  = %(proftpd_log)s
backend  = %(proftpd_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
[sshd]
enabled   = true
maxretry  = 3
findtime  = 1d
bantime   = 4w
ignoreip  = 127.0.0.1/8 23.34.45.56

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.

Pokaždé, když upravujete konfigurační soubor, musíte 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 kterou můžete použít k interakci se službou Fail2ban.

Chcete-li zobrazit všechny dostupné možnosti, vyvolejte příkaz 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

Ubuntu
  1. Jak nainstalovat a nakonfigurovat Fail2Ban na Ubuntu 20.04

  2. Jak nainstalovat a nakonfigurovat Fail2ban na Ubuntu?

  3. Jak nainstalovat a nakonfigurovat Fail2ban na Ubuntu 20.04 LTS

  1. Jak nainstalovat a nakonfigurovat Redis na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat Redmine na Ubuntu 18.04

  3. Jak nainstalovat a nakonfigurovat Fail2ban na Ubuntu 20.04

  1. Jak nainstalovat a nakonfigurovat Sambu na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat Redis na Ubuntu 20.04

  3. Jak nainstalovat a nakonfigurovat Fail2ban na CentOS 8