GNU/Linux >> Znalost Linux >  >> Ubuntu

Nainstalujte a nakonfigurujte Fail2ban na Ubuntu 20.04

Fail2ban je open-source bezpečnostní rámec napsaný v Pythonu, který chrání servery před útoky hrubou silou . Kontroluje soubory protokolu a zakazuje adresy IP, které provádějí neúspěšné pokusy o přihlášení. Funguje tak, že aktualizuje bránu firewall tak, aby odmítala nová připojení z těchto adres IP po nastavitelnou dobu.

Ve výchozím nastavení Fail2ban používá Iptables a je možné jej použít s jinými firewally. Podpora Fail2ban pro IPv4 i IPv6.

Fail2ban je ve výchozím nastavení nakonfigurován pro sledování pokusů o přihlášení SSH a může monitorovat další soubory protokolu, například pro Apache, vsftpd a Postfix atd.

V tomto tutoriálu vás provedu instalací a konfigurací fail2ban na Ubuntu 20.04.

Nainstalujte Fail2ban na Ubuntu

Chcete-li začít, otevřete svůj terminál a aktualizujte seznamy balíčků.

$ sudo apt update

Fail2Ban je již součástí většiny distribucí Linuxu. Chcete-li nainstalovat fail2ban pomocí správce balíčků APT, spusťte:

$ sudo apt install fail2ban

Po instalaci ověřte, zda běží:

$ sudo systemctl status fail2ban

Z výstupu můžeme vidět, že služba fail2ban je aktivní a běží podle očekávání.

Chcete-li zkontrolovat spuštěný proces fail2ban, zadejte:

$ sudo ps -efww | egrep fail2ban

Výstup:

root     1310843       1  0 11:17 ?        00:00:02 /usr/bin/python3 /usr/bin/fail2ban-server -xf start

Skvělý. Pojďme si udělat přehled o konfiguračních souborech spojených s Fail2ban a o tom, jak upravit nastavení tak, aby IP adresy byly buď na blacklistu, nebo na whitelistu.

Přehled konfiguračních souborů

Konfigurační soubory Fail2ban jsou umístěny v /etc/fail2ban adresář, jak je znázorněno.

Hlavní konfigurační soubory jsou /etc/fail2ban/jail.conf   a /etc/fail2ban/jail.d/defaults-debian.conf .

Ať uděláte cokoli, nedoporučujeme tyto soubory upravovat, protože existuje vysoká pravděpodobnost, že budou přepsány při aktualizaci balíčku fail2ban.

Jako náhradní řešení je doporučeným způsobem konfigurace Fail2ban vytvořit kopii souboru jail.conf soubor na jail.local a později definovat vlastní nastavení. Nemusíte zahrnout všechna nastavení z jail.conf soubor, pouze ty, které chcete přepsat.

Nejprve tedy vytvoříme jail.local konfiguračním souborem následovně.

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

Nyní pomocí svého oblíbeného textového editoru otevřete soubor. Zde používám editor vim.

$ sudo vim /etc/fail2ban/jail.local

Přidání IP adres na seznam povolených

Pomocí ignoreip můžete vyloučit IP adresy, rozsah IP adres nebo celou podsíť ze zákazu. Zde přidáte IP adresy vzdálených počítačů, které chcete jednoduše přidat na seznam povolených nebo povolit přístup. Více IP adres lze přidat pomocí mezery nebo čárky.

Chcete-li například přidat adresy IP na seznam povolených 192.168.2.50 , 192.168.2.100 přidejte položky následovně.

Nastavení zákazu

Podmínky zákazu jsou definovány následujícími parametry:

  1. bantime
  2. najít čas
  3. maxretry

bantime - Toto je období, během kterého je IP adrese zakázán nebo odepřen přístup k pokusu o opětovné připojení k serveru. Ve výchozím nastavení je tato doba nastavena na 10 minut, ale můžete ji nastavit podle svých preferencí.

najít čas - Toto je doba mezi neúspěšnými pokusy o přihlášení před zavedením zákazu. Toto je nastaveno na 10 min. To znamená, že pokud se pokoušíte přihlásit SSH a selhání dosáhnou maxtry hodnotu do 10 minut, pak bude IP adresa, ze které se připojujete, zakázána.

maxretry - Toto představuje maximální počet neúspěšných pokusů o připojení, než je IP zakázána. B výchozí, toto je nastaveno na 5 sekund, což by mělo být v pořádku, ale preferoval bych 3 sekundy, abych minimalizoval bombardování pokusy o připojení.

E-mailová upozornění

Fail2ban má schopnost posílat e-mailová upozornění, jakmile byla IP adresa zakázána. Chcete-li odesílat a přijímat e-maily, musíte mít nainstalovaný a nakonfigurovaný server SMTP. Chcete-li použít funkci upozornění e-mailem, přidejte řádek níže

action = %(action_mw)s

Parametr %(action_mw)s zabanuje podezřelou IP adresu a odešle e-mail adminovi s podrobným hlášením whois. Chcete-li zahrnout zprávy protokolu, nastavte parametr na %(action_mwl)s .

Dále definujte odesílající e-mailovou adresu a také příjemce.

Fail2ban vězení

Fail2ban modus operandi využívá koncept vězení. To znamená, že pokud se problematická IP adresa neúspěšně pokusí přihlásit nebo získat přístup ke službě, je umístěna do „vězení“ a nemůže navázat spojení až do bantime uplyne.

Jednoduše řečeno, vězení je služba s filtry a akcemi. Fail2ban se podívá na položky protokolu a jakmile jsou identifikovány odpovídající položky protokolu a jsou splněny podmínky, akce jsou implementovány.

Vězení SSH je obvykle ve výchozím nastavení povoleno, aby navedlo podvodná připojení SSH z podezřelých IP adres. Chcete-li povolit vězení pro jinou službu, jednoduše přidejte enabled =true atribut za nadpisem vězení. Můžete také poskytnout nastavení zákazu, jak jsme viděli dříve.

Klient Fail2ban

Fail2ban poskytuje nástroj příkazového řádku pro interakci s Fail2ban známý jako fail2ban-client . Můžete provádět nesčetné množství úkolů včetně zakazování a odblokování IP adres.

Chcete-li zkontrolovat stav Fail2ban a zjistit, zda existují nějaké zakázané IP nebo porušené filtry, spusťte příkaz:

$ sudo fail2ban-client status sshd

Níže uvedený výstup potvrzuje přítomnost zakázané nebo zakázané IP adresy po neúspěšných pokusech o přihlášení k SSH. IP adresa je aktuálně ve vězení SSH.

Můžete také filtrovat soubor fail2ban.log a zobrazit všechny zakázané IP adresy:

$ sudo zgrep 'Ban' /var/log/fail2ban.log*

Výstup:

2021-04-29 11:17:55,081 fail2ban.actions        [1310843]: NOTICE  [sshd] Ban 117.221.69.37
2021-04-29 11:17:55,123 fail2ban.actions        [1310843]: NOTICE  [sshd] Ban 49.233.251.133
2021-04-29 11:17:55,131 fail2ban.actions        [1310843]: NOTICE  [sshd] Ban 106.52.93.202
2021-04-29 11:17:55,139 fail2ban.actions        [1310843]: NOTICE  [sshd] Ban 222.187.232.205
2021-04-29 11:17:55,147 fail2ban.actions        [1310843]: NOTICE  [sshd] Ban 222.187.239.107

Pro zrušení zákazu IP adresy na černé listině spusťte příkaz:

$ sudo fail2ban-client set sshd unbanip 192.168.2.102

Nyní znovu ověřte stav Fail2ban a tentokrát se zakázaná IP již neregistruje.

Chcete-li zakázat IP adresy, zadejte:

$ sudo fail2ban-client set sshd banip 192.168.2.102

Pro další možnosti příkazového řádku spusťte příkaz:

$ fail2ban-client -h

Závěr

Mějte na paměti, že Fail2ban nenahrazuje firewally a další bezpečnostní opatření používaná k ochraně vašeho systému. Je to prostě přidaná vrstva zabezpečení, která vašemu serveru poskytuje další vrstvu ochrany proti útokům hrubou silou, zejména ze strany automatických robotů a skriptů. Tímto končí tento tutoriál o tom, jak nainstalovat a nakonfigurovat Fail2ban na Ubuntu 20.04.


Ubuntu
  1. Nainstalujte a nakonfigurujte PHP OPcache na Ubuntu 20.04

  2. Jak nainstalovat a nakonfigurovat Fail2Ban na Ubuntu 20.04

  3. Jak nainstalovat a nakonfigurovat Fail2ban na Ubuntu 20.04

  1. Jak nainstalovat a nakonfigurovat Redis na Ubuntu 18.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 Redmine na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat Sambu na Ubuntu 18.04

  3. Jak nainstalovat a nakonfigurovat Redis na Ubuntu 20.04