Kako instalirati Fail2Ban za zaštitu SSH na CentOS/RHEL 8
Fail2ban je besplatan, otvorenog koda i naširoko korišten alat za sprječavanje upada koji skenira datoteke dnevnika u potrazi za IP adresama koje pokazuju zlonamjerne znakove kao što je previše neuspjelih zaporki i još mnogo toga, te ih zabranjuje (ažurira vatrozid pravila za odbijanje IP adresa). Prema zadanim postavkama isporučuje se s filtrima za razne usluge uključujući sshd.
Pročitajte također: Početno postavljanje poslužitelja s CentOS/RHEL 8
U ovom ćemo članku objasniti kako instalirati i konfigurirati fail2ban za zaštitu SSH i poboljšati sigurnost SSH poslužitelja od brutalnih napada na CentOS/RHEL 8.
Instalacija Fail2ban na CentOS/RHEL 8
Paket fail2ban nije u službenim repozitoriju, ali je dostupan u EPEL repozitoriju. Nakon što se prijavite u svoj sustav, pristupite sučelju naredbenog retka, zatim omogućite EPEL repozitorij 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 paket Fail2ban pokretanjem sljedeće naredbe.
dnf install fail2ban
Konfiguriranje Fail2ban za zaštitu SSH
Konfiguracijske datoteke fail2ban nalaze se u direktoriju /etc/fail2ban/, a filtri su pohranjeni u /etc/fail2ban/filter.d/ direktorij (datoteka filtera za sshd je /etc/fail2ban/filter.d/sshd.conf).
Globalna konfiguracijska datoteka za fail2ban poslužitelj je /etc/fail2ban/jail.conf, međutim, ne preporučuje se izravno mijenjanje ove datoteke, jer će vjerojatno biti prebrisana ili poboljšana u slučaju paketa nadogradite u budućnosti.
Kao alternativa, preporučuje se kreiranje i dodavanje vaših konfiguracija u datoteci jail.local ili zasebnim .conf
datotekama pod /etc/fail2ban/jail. d/ imenik. Imajte na umu da će konfiguracijski parametri postavljeni u jail.local nadjačati sve što je definirano u jail.conf.
Za ovaj članak izradit ćemo zasebnu datoteku pod nazivom jail.local u direktoriju /etc/fail2ban/ kao što je prikazano.
vi /etc/fail2ban/jail.local
Nakon što je datoteka otvorena, kopirajte i zalijepite sljedeću konfiguraciju u nju. 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
Ukratko objasnimo opcije u gornjoj konfiguraciji:
- ignoreip: navodi popis IP adresa ili imena hostova koje ne treba zabraniti.
- bantime: određuje broj sekundi na koje je host zabranjen (tj. efektivno trajanje bana).
- maxretry: određuje broj neuspjeha prije nego što host dobije zabranu.
- findtime: fail2ban će zabraniti host ako je generirao “maxretry” tijekom zadnjih “findtime” sekundi.
- banaction: zabrana akcije.
- pozadina: određuje pozadinu koja se koristi za dobivanje izmjena datoteke dnevnika.
Gornja konfiguracija stoga znači da ako IP ne uspije 3 puta u zadnjih 5 minuta, zabraniti ga na 6 sati i zanemariti IP adresa 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
Praćenje neuspjelih i zabranjenih IP adresa pomoću fail2ban-klijenta
Nakon konfiguracije fail2ban za siguran sshd, možete nadzirati neuspjele i zabranjene IP adrese pomoću fail2ban-klijenta. Za pregled trenutnog statusa fail2ban poslužitelja, pokrenite sljedeću naredbu.
fail2ban-client status
Za nadzor sshd zatvora, pokrenite.
fail2ban-client status sshd
Za poništavanje zabrane IP adrese u fail2ban (u svim zatvorima i bazi podataka), pokrenite sljedeću naredbu.
fail2ban-client unban 192.168.56.1
Za više informacija o fail2ban, pročitajte sljedeće man stranice.
man jail.conf
man fail2ban-client
To sažima ovaj vodič! Ako imate pitanja ili misli koje želite podijeliti o ovoj temi, slobodno nam se obratite putem obrasca za povratne informacije u nastavku.