SSHGuard je demon otvorenog koda koji štiti hostove od napada grubom silom. To postiže praćenjem i agregiranjem zapisnika sustava, otkrivanjem napada i blokiranjem napadača pomoću jednog od Pozadine Linux vatrozida: iptables, VatrozidD, pf, i ipfw.
Prvobitno dizajniran da pruži dodatni sloj zaštite za OpenSSH usluga, SSHGuard također štiti širok spektar usluga kao što su Vsftpd i Postfix. Prepoznaje nekoliko formata dnevnika uključujući Syslog, Syslog-ng i neobrađene datoteke dnevnika.
[Moglo bi vam se također svidjeti: Kako osigurati i ojačati OpenSSH poslužitelj ]
SSHGuard je dosta sličan Fail2ban samo da je napisano u C (Fail2ban je upisano u Piton), lakši je i nudi manje značajki.
U ovom vodiču ćemo pokazati kako možete instalirati i konfigurirati SSHGuard blokirati SSH brute force napadi na vašem Linux poslužitelju.
Počinjemo s ugradnjom SSHGuard na Linuxu.
Najprije ažurirajte popise paketa, a zatim instalirajte SSHGuard iz zadanih spremišta pomoću apt upravitelj paketa.
$ sudo apt ažuriranje. $ sudo apt instalirajte sshguard.
Jednom instaliran, SSHGuard usluga se pokreće automatski, a to možete provjeriti pomoću naredbe:
$ sudo systemctl status sshguard.
Za Distribucije temeljene na RHEL-u kao npr CentOS, Rocky, i AlmaLinux, započnite instalacijom EPEL repozitorij kao što je navedeno u naredbi u nastavku.
$ sudo dnf instalirati https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm. ILI. $ sudo dnf instalirajte epel-release.
S EPEL na mjestu, samo naprijed i instalirajte SSHGuard koristiti dnf upravitelj paketa.
$ sudo dnf instalirajte sshguard
Nakon instalacije, pokrenite i postavite SSHGuard za pokretanje pri pokretanju ili ponovnom pokretanju sustava.
$ sudo systemctl start sshguard. $ sudo systemctl omogući sshguard.
Svakako to provjerite SSHGuard radi prema očekivanjima.
$ sudo systemctl status sshguard.
SSHGuard aktivno prati /var/log/auth.log, /var/log/secure systemd časopis, i syslog-ng log datoteke za neuspjele pokušaje prijave.
Za svaki neuspješan pokušaj prijave, udaljeni host je zabranjen na ograničeno vrijeme koje je prema zadanim postavkama postavljeno na 120 sekundi. Nakon toga, vrijeme zabrane se povećava za faktor 1,5 sa svakim uzastopnim neuspjelim pokušajem prijave.
Vrijeme zabrane hostova koji su povrijedili, osim ostalih parametara, navedeno je u sshguard.conf datoteka. Možete pristupiti konfiguracijskoj datoteci pomoću vim urednik kao što je prikazano.
$ sudo vim /etc/sshguard/sshguard.conf.
U distribucijama koje se temelje na RHEL-u, konfiguracijska datoteka nalazi se na sljedećem putu.
$ sudo vim /etc/sshguard.conf.
Ovdje je primjer konfiguracijske datoteke kada se gleda iz Ubuntu / Debian.
Usredotočimo se na glavnu opciju.
Da se otjera sirova snaga napada, morate konfigurirati sljedeće vatrozide za rad sshguard.
Ako imate UFW instaliran i omogućen na tvoj Ubuntu / Debian sustav, izmijenite /etc/ufw/before.rules datoteka.
$ sudo vim etc/ufw/before.rules.
Dodajte sljedeće retke odmah nakon dopustiti sve na povratnoj petlji
odjeljak.
# dopusti sve na povratnoj petlji. -A ufw-prije-unos -i lo -j PRIHVATI. -A ufw-before-output -o lo -j ACCEPT # predaja kontrole za sshd na sshguard. :sshguard - [0:0] -A ufw-before-input -p tcp --dport 22 -j sshguard.
Spremite datoteku i ponovno pokrenite UFW.
$ sudo systemctl ponovno pokrenite ufw.
Sada se pokušajte prijaviti na poslužitelj s drugog sustava s pogrešnim vjerodajnicama i primijetite da ćete biti zaključani 120 sekundi nakon prvog neuspjelog pokušaja prijave.
To možete provjeriti provjerom auth.log log datoteku.
$ sudo tail -f /var/log/auth.log.
Nakon sljedećeg neuspjelog pokušaja zapisivanja, vrijeme bloka se povećava na 240 sekunde, dakle 480 sekunde, dakle 960 sekundi i tako dalje.
Ako ste pokrenuti firewalld, provjerite je li postavljen i omogućen. Zatim izvršite sljedeću naredbu da biste omogućili sshguard na željenoj zoni.
$ sudo firewall-cmd --permanent --zone=public --add-rich-rule="izvor pravila ipset=sshguard4 drop"
Da biste primijenili promjene, ponovno učitajte Vatrozid i sshguard.
$ sudo firewall-cmd --reload. $ sudo systemctl ponovno pokrenite sshguard.
Zatim provjerite pravilo na sljedeći način:
$ sudo firewall-cmd —-info-ipset=sshguard4.
Ako još uvijek koristite Iptables, prvo stvorite novo pravilo lanca za sshguard u Iptables da počnu blokirati zločeste.
# iptables -N sshguard.
Zatim ažurirajte ULAZNI lanac za usmjeravanje prometa na sshguard i blokirati sav promet od nečastivih stranaka.
# iptables -A INPUT -j sshguard.
Za blokiranje određenih portova kao što su SSH, POP, i IMAP od zlostavljača pokrenite naredbu:
# iptables -A INPUT -m multiport -p tcp --destination-ports 22,110,143 -j sshguard.
I na kraju, spremite pravilo da promjene stupe na snagu.
# iptables-save < /etc/iptables/iptables.rules.
Da biste blokirali host na popisu dopuštenih, jednostavno navedite njegovo ime ili IP adresu u datoteci popisa dopuštenih koja se nalazi u:
/etc/sshguard/whitelist - Ubuntu/Debian /etc/sshguard.whitelist - Distribucije temeljene na RHEL-u
Nakon toga svakako ponovno pokrenite sshguard demon i pozadinu vatrozida kako bi se promjene primijenile.
U ovom vodiču pokazali smo kako možete blokirati SSH Bruteforce napadi korištenjem SSHGuard demon u Linux poslužiteljima. Vaše povratne informacije su dobrodošle.