Kako instalirati Fail2Ban za zaštitu SSH na CentOS/RHEL 8
Fail2ban je besplatan, otvoreni izvor i široko korišten alat za sprječavanje upada koji skenira datoteke dnevnika za IP adrese koje pokazuju zlonamjerne znakove kao što je previše grešaka lozinke i još mnogo toga, te ih zabranjuje (ažurira pravila vatrozida kako bi odbio IP adrese) . Prema zadanim postavkama isporučuje se s filtrima za razne usluge, uključujući sshd.
U ovom ćemo članku objasniti kako instalirati i konfigurirati fail2ban kako bi zaštitio SSH i poboljšao sigurnost SSH poslužitelja od brutalnih napada na CentOS/RHEL 8.
Instaliranje Fail2ban na CentOS/RHEL 8
Paket fail2ban nije u službenim spremištima, ali je dostupan u spremištu EPEL. Nakon prijave u vaš sustav, pristupite sučelju naredbenog retka, a zatim omogućite spremište EPEL na vašem sustavu kao što je prikazano.
# dnf install epel-release OR # dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Nakon toga instalirajte Fail2ban paket izvođenjem sljedeće naredbe.
# dnf install fail2ban
Konfiguriranje Fail2ban za zaštitu SSH
Datoteke za konfiguraciju fail2ban nalaze se u direktoriju/etc/fail2ban /, a filtri su pohranjeni u direktoriju /etc/fail2ban/filter.d/ (datoteka filtra za sshd je /etc/fail2ban/filter.d/sshd.conf) .
Globalna konfiguracijska datoteka poslužitelja fail2ban je /etc/fail2ban/jail.conf, međutim, ne preporučuje se izravna izmjena ove datoteke, jer će vjerojatno biti prepisana ili poboljšana u slučaju nadogradnje paketa u budućnosti.
Kao alternativu, preporučuje se stvaranje i dodavanje vaših konfiguracija u datoteku jail.local ili odvojene datoteke .conf
u direktoriju /etc/fail2ban/jail.d/. Imajte na umu da će konfiguracijski parametri postavljeni u jail.local nadjačati ono što je definirano u jail.conf.
Za ovaj ćemo članak stvoriti zasebnu datoteku nazvanu jail.local u direktoriju/etc/fail2ban /, kao što je prikazano.
# vi /etc/fail2ban/jail.local
Nakon što se datoteka otvori, kopirajte i zalijepite u nju sljedeću konfiguraciju. Odjeljak [DEFAULT]
sadrži globalne opcije, a [sshd]
sadrži parametre za sshd zatvor.
[DEFAULT] ignoreip = 192.168.56.2/24 bantime = 21600 findtime = 300 maxretry = 3 banaction = iptables-multiport backend = systemd [sshd] enabled = true
Objasnimo ukratko opcije u gornjoj konfiguraciji:
- ignoreip: određuje popis IP adresa ili imena hostova koje se ne smiju zabraniti.
- bantime: naveden broj sekundi tijekom kojih je host zabranjen (tj. efektivno trajanje zabrane).
- maxretry: određuje broj kvarova prije nego što host bude zabranjen.
- findtime: fail2ban će zabraniti hostu ako je generirao "maxretry" tijekom posljednjih sekundi "findtime".
- banakcija: zabrana djelovanja.
- pozadina: navodi pozadinu koja se koristi za dobivanje izmjena datoteke dnevnika.
Prema tome, gornja konfiguracija znači da je IP zakazao 3 puta u zadnjih 5 minuta, zabraniti ga 6 sati i zanemariti IP adresu 192.168.56.2.
Zatim pokrenite i omogućite uslugu fail2ban za sada i provjerite radi li i radi pomoću sljedeće naredbe systemctl.
# systemctl start fail2ban # systemctl enable fail2ban # systemctl status fail2ban
Nadzor neuspjele i zabranjene IP adrese pomoću fail2ban-client
Nakon konfiguriranja fail2ban da osigura sshd, možete nadzirati neuspjele i zabranjene IP adrese pomoću fail2ban-klijenta. Da biste pogledali trenutni status poslužitelja fail2ban, pokrenite sljedeću naredbu.
# fail2ban-client status
Pokrenite da nadgledate sshd zatvor.
# fail2ban-client status sshd
Da biste poništili pristup IP adresi u fail2ban (u svim zatvorima i bazi podataka), pokrenite sljedeću naredbu.
# fail2ban-client unban 192.168.56.1
Za više informacija o fail2banu pročitajte sljedeće stranice s uputama.
# man jail.conf # man fail2ban-client
To sažima ovaj vodič! Ako imate pitanja ili razmišljanja koja želite podijeliti o ovoj temi, ne ustručavajte se kontaktirati nas putem obrasca za povratne informacije u nastavku.