GNU/Linux >> Znalost Linux >  >> Linux

Fail2Ban Howto:Blokování IP adresy pomocí Fail2ban a IPTables

Fail2ban prohledá soubory protokolu pro různé služby (SSH, FTP, SMTP, Apache atd., ) a zakáže IP, která způsobuje příliš mnoho selhání hesla. Aktualizuje také pravidla brány firewall tak, aby tyto IP adresy odmítala.

Fail2ban je rámec prevence narušení napsaný v programovacím jazyce Python.

Hlavním účelem Fail2ban je zabránit útokům hrubou silou přihlášení.

Podívejte se také na náš dřívější článek o Tripwire (systém detekce narušení hostitele založený na Linuxu).

Nainstalujte Fail2ban

Chcete-li nainstalovat fail2ban ze zdroje, stáhněte si jej ze sourceforge..

Pomocí apt-get nainstalujte Fail2ban na systém založený na Debianu, jak je uvedeno níže.

# apt-get install fail2ban

Fail2ban můžete také nainstalovat ručně stažením balíčku fail2ban deb.

# dpkg -i fail2ban_0.8.1-1_all.deb

Jak nakonfigurovat fail2ban

Všechny konfigurační soubory Fail2ban jsou umístěny v adresáři /etc/fail2ban.

/etc/fail2ban/fail2ban.conf

Hlavním účelem tohoto souboru je nakonfigurovat direktivy související s protokolem fail2ban.

  • Úroveň protokolu:Nastavte výstup úrovně protokolu.
  • logtarget :Zadejte cestu k souboru protokolu

Akce provedené Fail2ban jsou zaznamenány v souboru /var/log/fail2ban.log. Výřečnost v souboru conf můžete změnit na jednu z:1 – ERROR, 2 – WARN, 3 – INFO nebo 4 – DEBUG.

/etc/fail2ban/jail.conf

soubor jail.conf obsahuje deklaraci konfigurací služby. Tento konfigurační soubor je rozdělen do různých kontextů. Výchozí nastavení platí pro všechny sekce.

Následující DEFAULT sekce jail.conf říká, že po pěti neúspěšných pokusech o přístup z jedné IP adresy během 600 sekund nebo 10 minut (findtime), bude tato adresa automaticky zablokována na 600 sekund (bantime).

[DEFAULT]
ignoreip = 127.0.0.1
maxretry = 5
findtime = 600
bantime = 600
  • ignoreip:Toto je mezerami oddělený seznam IP adres, které nelze blokovat pomocí fail2ban.
  • maxretry:Maximální počet neúspěšných pokusů o přihlášení, než je hostitel zablokován funkcí fail2ban.
  • bantime:Doba v sekundách, po kterou je hostitel zablokován, pokud byl zachycen fail2ban (600 sekund =10 minut).

Konfigurace služeb

Ve výchozím nastavení jsou některé služby vloženy jako šablony. Následuje příklad sekce služeb ssh.

[ssh]
enabled = true
port	= ssh
filter	= sshd
logpath  = /var/log/auth.log
action = iptables
  • povoleno :Povolí kontrolu fail2ban pro službu ssh
  • port:port služby (uvedený v souboru /etc/services)
  • filtr:Název filtru, který má služba použít k detekci shod. Tento název odpovídá názvu souboru v ‘/etc/fail2ban/filter.d’; bez přípony „.conf“. Například:„filter =sshd“ odkazuje na „/etc/fail2ban/filter.d/sshd.conf“.
  • cesta protokolu:Soubor protokolu, který fail2ban kontroluje neúspěšné pokusy o přihlášení.
  • Akce:Tato možnost říká fail2ban, kterou akci má provést, jakmile se filtr shoduje. Tento název odpovídá názvu souboru v „/etc/fail2ban/action.d/“ bez přípony „.conf“. Například:‘action =iptables’ odkazuje na /etc/fail2ban/action.d/iptables.conf’.

Fail2ban bude sledovat soubor /var/log/auth.log pro neúspěšné pokusy o přístup, a pokud najde opakované neúspěšné pokusy o přihlášení ssh ze stejné IP adresy nebo hostitele, fail2ban zastaví další pokusy o přihlášení z této IP adresy/hostitele tím, že jej zablokuje pomocí fail2ban iptables firewall pravidlo.

Filtry Fail2ban

Adresář /etc/fail2ban/filter.d obsahuje regulární výrazy, které se používají k detekci pokusů o vloupání, selhání hesla atd. pro různé služby.

Například:

  • sshd.conf – Fail2ban související filtry ssh
  • apache-auth.conf – filtry služeb apache Fail2ban

Můžeme také přidat svůj vlastní regulární výraz, abychom našli nežádoucí akci.

Akce Fail2ban

Adresář /etc/fail2ban/action.d obsahuje různé skripty definující akce, které se provedou, jakmile se filtr shoduje. Pro každou službu je povolen pouze jeden filtr, ale je možné zadat několik akcí na samostatných řádcích.

Například:

  • IPtables.conf – blokovat a odblokovat IP adresu
  • Mail.conf – Odesílání pošty nakonfigurovanému uživateli

Spuštění/zastavení služby Fail2ban

Po provedení změn konfigurace zastavte a spusťte démona Fail2ban, jak je znázorněno níže.

# /etc/init.d/fail2ban stop

# /etc/init.d/fail2ban start

Linux
  1. Blokování veškerého provozu z jednotlivých zemí pomocí IPSet a IPTables

  2. Blokujte IP adresy a země pomocí .htaccess

  3. CentOS / RHEL :Jak blokovat příchozí a odchozí porty pomocí iptables

  1. Jak zablokovat IP adresu na serveru Linux

  2. Problémy s používáním sort a comm

  3. Jak blokovat torrenty nebo jakékoli P2P protokoly pomocí Linux IPTables?

  1. Jak zablokovat IP adresu na serveru Linux

  2. Blokování černé listiny hostitelů a iptables

  3. Iptables a transparentní proxy?