Kako instalirati Fail2Ban za zaštitu SSH na CentOS/RHEL 8
Fail2ban je besplatan alat otvorenog koda i naširoko korišten alat za sprječavanje upada koji skenira datoteke dnevnika za IP adrese koje pokazuju zlonamjerne znakove kao što je previše pogrešaka lozinke i još mnogo toga, te ih zabranjuje (ažurira firewall pravila za odbijanje IP adresa). Podrazumevano se isporučuje sa filterima za razne usluge uključujući sshd.
Pročitajte također: Početno podešavanje servera sa CentOS/RHEL 8
U ovom članku ćemo objasniti kako instalirati i konfigurirati fail2ban za zaštitu SSH i poboljšati sigurnost SSH servera od brute force napada na CentOS/RHEL 8.
Instaliranje Fail2ban na CentOS/RHEL 8
Paket fail2ban nije u službenim spremištima, ali je dostupan u EPEL spremištu. Nakon što se prijavite na vaš sistem, pristupite interfejsu komandne linije, a zatim omogućite EPEL spremište na vašem sistemu 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 tako što ćete pokrenuti sljedeću naredbu.
dnf install fail2ban
Konfiguriranje Fail2ban za zaštitu SSH
fail2ban konfiguracijski fajlovi se nalaze u /etc/fail2ban/ direktoriju, a filteri su pohranjeni u /etc/fail2ban/filter.d/ direktorij (filterska datoteka za sshd je /etc/fail2ban/filter.d/sshd.conf).
Globalna konfiguraciona datoteka za server fail2ban je /etc/fail2ban/jail.conf, međutim, nije preporučljivo mijenjati ovaj fajl direktno, jer će vjerovatno biti prepisan ili poboljšan u slučaju paketa nadograditi u budućnosti.
Kao alternativa, preporučuje se kreiranje i dodavanje vaših konfiguracija u datoteku jail.local ili zasebne datoteke .conf
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 ćemo kreirati zasebnu datoteku pod nazivom jail.local u direktoriju /etc/fail2ban/ kao što je prikazano.
vi /etc/fail2ban/jail.local
Kada se datoteka otvori, 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
Hajde da ukratko objasnimo opcije u gornjoj konfiguraciji:
- ignoreip: specificira listu IP adresa ili imena hostova za zabranu.
- bantime: specificira broj sekundi za koje je host banovan (tj. efektivno trajanje zabrane).
- maxretry: specificira broj grešaka prije nego što host bude zabranjen.
- findtime: fail2ban će zabraniti host ako je generirao “maxretry” tokom posljednjih “findtime” sekundi.
- banakcija: zabrana radnje.
- pozadina: specificira pozadinu koja se koristi za izmjenu datoteke dnevnika.
Gornja konfiguracija, stoga, znači da ako IP adresa nije uspjela 3 puta u posljednjih 5 minuta, zabranite je na 6 sati i zanemarite IP adresa 192.168.56.2.
Zatim pokrenite i za sada omogućite uslugu fail2ban i provjerite da li je pokrenuta i radi pomoću sljedeće systemctl naredbe.
systemctl start fail2ban
systemctl enable fail2ban
systemctl status fail2ban
Nadgledanje neuspješne i zabranjene IP adrese korištenjem fail2ban-client-a
Nakon konfigurisanja fail2ban da osigura sshd, možete pratiti neuspjele i zabranjene IP adrese koristeći fail2ban-client. Da vidite trenutni status fail2ban servera, pokrenite sljedeću naredbu.
fail2ban-client status
Da nadgledate sshd zatvor, pokrenite.
fail2ban-client status sshd
Da poništite zabranu 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 sumira ovaj vodič! Ako imate bilo kakvih pitanja ili misli koje želite podijeliti o ovoj temi, ne ustručavajte se kontaktirati nas putem obrasca za povratne informacije u nastavku.