Jak nainstalovat a používat Fail2ban pro zabezpečení serveru Linux

Ve všech typech organizací bez ohledu na typ použitých informací nebo počet uživatelů, kteří k nim patří, vždy jako pracovníci v systémech nebo IT oblasti musíme zajistit, aby v nich bylo primárním faktorem zabezpečení, ale pokud je spravována jedna nebo více . více serverů.

Když mluvíme o serverech s distribucemi Linuxu, mnohokrát si myslíme, že jsou osvobozeny od útoků, ale v často se měnícím online světě již neexistuje zabezpečený systém a jakákoli distribuce je vystavena útokům malwaru, virů, útoků DDOS a mnoha více. Jako administrátoři nebo uživatelé s přístupem k událostem a protokolům serverů je normální detekovat pokusy o přihlášení hrubou silou, záplavy webu, vyhledávání vykořisťovatelů a další hrozby, které tak či onak mohou narušit integritu a dostupnost informací.

Proto je nutné využívat nástroje, které nám poskytují nejlepší možnosti zabezpečení a alternativy; A když o tom budeme přemýšlet, Solvetic vysvětlí, jak používat Fail2ban k detekci a zabezpečení našich operačních systémů Linux.

Co je Fail2ban?Fail2ban byl vyvinut jako software pro prevenci narušení, který analyzuje soubory protokolu serveru, jako je / var / log / apache / error_log, a proto zakazuje adresy IP, které obsahují škodlivé znaky, s přihlédnutím k aspektům, jako je příliš mnoho selhání hesel, hledání zranitelností atd. .

Obecně platí, že Fail2Ban se používá k aktualizaci pravidel brány firewall tak, aby v určitém časovém období odmítal adresy IP, ale můžete také nakonfigurovat jiné pravidlo, které by mohlo ohrozit zabezpečení systému. Přestože Fail2Ban může snížit počet neúspěšných pokusů o autentizaci v systému, je ideální, aby metody autentizace nebyly slabé. K tomu můžeme nakonfigurovat služby tak, aby k ochraně služeb v systému Linux používaly pouze dva faktory nebo veřejné / soukromé ověřovací mechanismy.

Požadavky na používání Fail2ban
Jedinou závislostí, kterou budeme potřebovat k použití Fail2ban, bude Python, v závislosti na požadované verzi to bude následující:

  • Fail2ban větev 0.9.x: Python> = 2.6 nebo Python> = 3.2
  • Fail2ban větev 0.8.x: Python> = 2.4
Volitelně může Fail2ban vyžadovat následující položky:
  • Netfilter / Iptables
  • Shorewall
  • TCP Wrapper
  • Poštovní skript
  • Ipset

Funkce Fail2ban
Aktuální verze Fail2ban je 0.9.x, která nám nabízí funkce jako:

  • Akce založené na Pythonu.
  • Podpora databáze.
  • Víceřádková analýza ve filtrech.
  • Vlastní podpora data a času pro filtry.
  • Ve výchozím nastavení rozpoznává časové pásmo.
  • Časový limit v zákazových příkazech.
  • Znaková sada rozpoznávání v souborech protokolu.
  • Podpora Python3 +
  • Architektura klient / server.
  • Mnoho vláknový.
  • Vysoce konfigurovatelné díky použití rozdělených konfiguračních souborů.
  • Ve výchozím nastavení používá Netfilter / Iptables, ale bude také možné použít TCP Wrapper a mnoho dalších dostupných firewallů.
  • Umožňuje zpracovávat více služeb současně, jako jsou sshd, apache, vsftp a další.
  • Spusťte příkazy, pokud je pro stejnou IP adresu detekován vzor více než Xkrát, aby byla tato adresa zakázána.

1. Jak nainstalovat Fail2ban na Linux

PoznámkaV tomto případě použijeme CentOS 7

Krok 1
Chcete -li nainstalovat Fail2ban, spustíme následující příkazy v pořadí:

Aktualizujte systém

 mňam aktualizace

Nainstalujte úložiště EPEL
 yum nainstalovat epel-release

Pro potvrzení stažení a instalace úložiště EPEL zadáme písmeno y.

Krok 2
Poté nainstalujeme Fail2ban spuštěním:

 yum nainstalovat fail2ban 

Krok 3
Po této analýze uvidíme, že budou nainstalovány všechny závislosti Fail2ban. Přijímáme stahování a instalaci Fail2ban.

Krok 4
V případě použití Debianu nebo Ubuntu musíme provést následující:

 apt-get update && apt-get upgrade -y apt-get install fail2ban
Volitelně můžeme povolit podporu pošty pro upozornění na poštu instalací sendmailu následovně:

CentOS / RHEL

 yum nainstalovat sendmail

Debian / Ubuntu

 apt-get install sendmail-bin sendmail

Krok 5
Poté povolíme Fail2ban a Sendmail pomocí následujících příkazů:

 systemctl start fail2ban systemctl enable fail2ban systemctl start sendmail systemctl enable sendmail

2. Jak nakonfigurovat Fail2ban na Linuxu


Ve výchozím nastavení používá Fail2ban soubory .conf umístěné v adresáři / etc / fail2ban /; ke kterému přistupujete jako první, ale tyto lze nahradit soubory .local umístěnými ve stejném adresáři.

Soubor .local tedy nemusí obsahovat všechna nastavení v souboru .conf, ale pouze ta, která chceme implementovat pro zabezpečení systému. Každou změnu je třeba provést v souborech .local, které nejsou v souboru .conf, aby se předešlo přepsání změn při aktualizaci balíčku fail2ban.

Krok 1
Za tímto účelem zkopírujeme stávající soubor fail2ban.conf do souboru fail2ban.local takto:

 cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local

Krok 2
Nyní bude možné provádět změny v souboru .local vytvořeném pomocí textového editoru, hodnoty, které můžeme upravovat, jsou:

loglevelToto je úroveň, kde jsou záznamy uloženy. Máme možnosti jako:

  • KRITICKÉ
  • CHYBA
  • VAROVÁNÍ
  • OZNÁMENÍ
  • INFO
  • LADIT

logtargetTam jsou akce zaznamenány do konkrétního souboru, výchozí hodnota je /var/log/fail2ban.log a možnosti použití jsou:

  • STDOUT: Výstup jakýchkoli dat.
  • STDERR: Generuje jakoukoli chybu.
  • SYSLOG: Protokol založený na zprávách.
  • Soubor: Výstup do souboru

zásuvkaJe to adresář, ve kterém bude umístěn soubor soketu.

PidfileJedná se o umístění souboru pid.

3. Jak nakonfigurovat Fail2ban jail.local na Linuxu


Ve Fail2ban je jedním z nejdůležitějších souborů jail.conf, který definuje vězení nebo ochranná opatření. Zde musíte definovat služby, pro které musí být povolen Fail2ban.

Krok 1
Chystáme se vytvořit soubor jail.local, abychom mohli použít úpravy, proto provedeme:

 cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
K tomuto místnímu souboru přistupujeme pomocí následující syntaxe:
 nano /etc/fail2ban/jail.local
Zde vyhledáme backendový řádek a upravíme výchozí hodnotu Auto to systemd:

PoznámkaV případě Ubuntu nebo Debianu tato úprava nebude nutná.

Krok 2
Soubor jail.local ve výchozím nastavení povolí SSH pro Debian a Ubuntu, ale ne pro CentOS, takže pokud chceme povolit SSH, přidáme pod [sshd] řádek enabled = true:

4. Jak nakonfigurovat časy zákazu a opakování v systému Fail2ban Linux


S Fail2ban můžeme konfigurovat způsob blokování IP adresy. Za tímto účelem; Fail2ban k tomu využívá bantime, findtime a maxretry.

bantimeUdává počet sekund, po které zůstane IP adresa zakázána (standardně 10 minut).

Najít časJe to doba mezi pokusy o přihlášení, než je hostitel odebrán. (výchozí 10 min)

maxretryOdkazuje na počet pokusů, které je třeba provést před uplatněním zákazu. (standardně 3 pokusy).

5. Jak nakonfigurovat IP adresy na seznamu povolených v systému Fail2ban Linux


Do whitelistu Fail2ban je možné přidat IP adresy (povoleno). K tomu musíme v souboru jail.local odkomentovat následující řádek:
 ignoreip = 127.0.0.1/8 :: 1
Zde můžeme zadat IP adresy, které by měly být ignorovány. IP adresy musí být odděleny mezerami nebo čárkami.

6. Jak vytvořit e -mailová upozornění v systému Fail2ban Linux


Tato možnost je ideální, pokud chceme v záznamech dostávat upozornění na jakoukoli změnu nebo novinky. K tomu musíme upravit soubor /etc/fail2ban/jail.local, možnosti jsou:

destemailJe to e -mailová adresa, na kterou bude oznámení přijato.

Jméno odesílateleJe to odesílatel, kterého uvidíme po přijetí zprávy.

OdesílatelUdává e -mailovou adresu, ze které bude Fail2ban odesílat e -maily.

Výchozí mta (agent pro přenos pošty) je nakonfigurován pomocí sendmail.

Abyste obdrželi oznámení poštou, bude také nutné změnit nastavení „Akce“ v následujícím řádku:

 Akce =% (action_) s
Podle následující konfigurace:
 action =% (action_mw) s action =% (action_mwl) s
Zakázat hostiteli a odesílat poštu pomocí zprávy whois
 % (action_mw) s

Bude zakázat hostiteli, generovat whois informace a všechny relevantní informace ze souboru protokolu

 % (action_mwl) s

7. Další konfigurace Fail2ban Linuxu


Pokud chcete konfigurovat vězení, musí být povoleno v souboru jail.local. Syntaxe je následující:
 [vězení]… povoleno = pravda
Můžeme vidět strukturu vězení pro SSHD. Fail2ban automaticky přidá další parametry.

Bude také možné povolit filtr, podle kterého lze identifikovat, pokud je řádek v registru chybou. Hodnota filtru je odkaz na soubor s názvem služby následovaný .conf. Můžeme například použít

 /etc/fail2ban/filter.d/sshd.conf.
Použitá syntaxe je:
 filtr = služba
Když přidáváme vězení, můžeme pomocí klienta Fail2ban zjistit, které z nich jsou na serveru aktivní, a proto provedeme následující:
 fail2ban-stav klienta
Tam budou nasazeni, když vytvoříme tato omezení.

Vidíme, jak je Fail2ban praktickým nástrojem ke zvýšení zabezpečení distribucí Linuxu, vyhýbání se neoprávněnému přístupu a všemu, co souvisí se špatnými postupy, které se v organizaci provádějí.

wave wave wave wave wave