Fail2ban

Iš Žinynas.
Jump to navigation Jump to search

Įrankis skirtas blokuoti pasikartojančioms SSH auth atakoms. Tokioms kaip brueforce, bandant atspėti vartotojo slaptažodį naudojantis dictionary ar atsitiktinai generuotais simboliais. Šis įrankis gali ne tik aprėpti SSH atakų blokavimą skaitant autorizacijos žurnalą bet ir kitus žimių servisų žurnalus tokių kaip apache http auth, imap, smtp, pop3 ir t.t.

Diegimas

Debian/Ubuntu

apt-get install fail2ban

Gentoo

emerge -av fail2ban

CentOS/Redhat

yum install fail2ban

 ArchLinux

pacman -S fail2ban

 FreeBSD

pkg install fail2ban

Konfigūravimas

Konfigūracijos failai:

  • /etc/fail2ban/fail2ban.conf - Nusistato vidiniai fail2ban nustatymai.
  • /etc/fail2ban/jail.d/ - direktorija kurioje nurodomi konfigai su failais (kokius servisus stebėti) ssh nutylimai įjungtas visada.
  • /etc/fail2ban/filter.d/ - direktorija kurioje surašomi servisų žurnalų filtrai (failuose) bei aprašomas jų parsinimas, kaip aptikti atakas.
  • /etc/fail2ban/action.d/ - direktorija kurioje surašytos prevencijos taisyklės (firewall blokavimai ir t.t.).
  • /etc/fail2ban/paths-common.conf ir paths-debian.conf - šiuose failuose nurodomi keliai iki žurnalų.
  • /etc/fail2ban/jail.conf - globalios taisyklės, tokios kaip užlaikymo laikas (bano laikas) kokiu reitingu daryti blokavimus ir kaip reaguoti i juos. Kokios firewall taisyklės ir t.t.

Nustatymų keitimas

Pvz.: norime pakeisti max ban time (kiek trūks užblokavimas) šias taisykles rašome į lokalų failą /etc/fail2ban/jail.d/customization.local, pavyzdys apačioje:

[DEFAULT]
bantime = 3600
ignoreip = 127.0.0.1/8 10.131.21.138

pvz.: jeigu ssh portas nėra standartinis, jį pakeičiame

[ssh]
enabled = true
port = 220

Valdymas

Statusas

fail2ban-client status sshd

Blokuotų ip adresų išimimas

fail2ban-client set sshd unbanip x.x.x.x