Kif Imblokka l-Attakki tal-Forza Bruta SSH billi tuża SSHGUARD


SSHGuard huwa daemon open-source li jipproteġi lill-ospiti minn attakki tal-forza bruta. Dan iwettaq permezz ta 'monitoraġġ u aggregazzjoni ta' zkuk tas-sistema, skoperta ta 'attakki, u jimblokka lill-attakkanti bl-użu ta' wieħed mill-backends tal-firewall tal-Linux: iptables, FirewallD, pf, u ipfw.

Inizjalment iddisinjat biex jipprovdi saff addizzjonali ta 'protezzjoni għas-servizz OpenSSH, SSHGuard jipproteġi wkoll firxa wiesgħa ta' servizzi bħal Vsftpd u Postfix. Jirrikonoxxi diversi formati ta 'log inklużi Syslog, Syslog-ng, u fajls ta' log mhux ipproċessati.

[ Tista' wkoll tixtieq: Kif Tiżgura u Tibbies OpenSSH Server ]

SSHGuard huwa pjuttost simili għal Fail2ban biss li huwa miktub f'C (Fail2ban huwa miktub f'Python), huwa eħfef, u jipprovdi inqas karatteristiċi.

F'din il-gwida, ser nuru kif tista' tinstalla u tikkonfigura SSHGuard biex timblokka l-attakki SSH tal-forza bruta fis-server Linux tiegħek.

Pass 1: Installa SSHGuard fuq Linux

Nibdew bl-installazzjoni ta 'SSHGuard fuq Linux.

L-ewwel, aġġorna l-listi tal-pakketti u mbagħad installa SSHGuard mir-repożitorji default billi tuża l-maniġer tal-pakketti apt.

$ sudo apt update
$ sudo apt install sshguard

Ladarba jiġi installat, is-servizz SSHGuard jibda awtomatikament, u tista' tivverifika dan billi tuża l-kmand:

$ sudo systemctl status sshguard

Għal distribuzzjonijiet ibbażati fuq RHEL bħal CentOS, Rocky, u AlmaLinux, ibda billi tinstalla r-repożitorju EPEL kif ipprovdut fil-kmand hawn taħt.

$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
OR
$ sudo dnf install epel-release

B'EPEL fis-seħħ, kompli u installa SSHGuard billi tuża l-maniġer tal-pakketti dnf.

$ sudo dnf install sshguard 

Ladarba installat, ibda u ssettja SSHGuard biex jibda mal-istartjar tas-sistema jew reboot.

$ sudo systemctl start sshguard
$ sudo systemctl enable sshguard

Kun żgur li tivverifika li SSHGuard qed jaħdem kif mistenni.

$ sudo systemctl status sshguard

Pass 2: Konfigurazzjoni SSHGuard fuq Linux

SSHGuard jimmonitorja b'mod attiv il-/var/log/auth.log, /var/log/secure systemd journal, u syslog-ng log files għal tentattivi ta' login falluti.

Għal kull tentattiv ta' login li ma jirnexxix, il-host remot huwa pprojbit għal ammont limitat ta' żmien li, b'mod awtomatiku, huwa stabbilit għal 120 sekonda. Minn hemm 'il quddiem, iż-żmien tal-projbizzjoni jiżdied b'fattur ta' 1.5 b'kull tentattiv suċċessiv ta' login fallut.

Il-ħin li l-hosts offendenti huma pprojbiti, minbarra parametri oħra huwa speċifikat fil-fajl sshguard.conf. Tista' taċċessa l-fajl tal-konfigurazzjoni billi tuża l-editur vim kif muri.

$ sudo vim /etc/sshguard/sshguard.conf

Fuq distribuzzjonijiet ibbażati fuq RHEL, il-fajl tal-konfigurazzjoni jinsab fit-triq li ġejja.

$ sudo vim /etc/sshguard.conf

Hawn hu kampjun tal-fajl tal-konfigurazzjoni meta jaraha minn Ubuntu/Debian.

Ejja niffukaw fuq l-għażla ewlenija.

  • Id-direttiva BACKEND tipponta lejn il-mogħdija sħiħa tal-eżekutibbli backend. F'dan l-eżempju, naraw li IPtables huwa stabbilit bħala l-backend default tal-firewall.
  • Id-direttiva THRESHOLD timblokka lill-attakkanti meta l-punteġġ tal-attakk tagħhom jaqbeż il-valur speċifikat.
  • L-għażla BLOCK_TIME hija n-numru ta' sekondi li attakkant jiġi mblukkat wara kull tentattiv suċċessiv ta' login fallut. B'mod awtomatiku, dan huwa ssettjat għal 120 wara l-ewwel tentattiv. Dan jiżdied ma' kull tentattiv suċċessiv ta' login fallut.
  • L-għażla DETECTION_TIME tirreferi għall-ħin f'sekondi li matulu l-attakkant jiġi rreġistrat jew imfakkar mis-sistema qabel ma l-punteġġ tiegħu jiġi reset.
  • L-għażla WHITELIST_file tipponta lejn il-passaġġ sħiħ tal-fajl tal-lista l-bajda li fih hosts li mhux suppost ikunu fil-lista sewda./li>

Pass 3: Ikkonfigura SSHGuard biex Imblokka l-Attakki tal-Forza Bruta SSH

Biex tbiegħed l-attakki tal-forza bruta, trid tikkonfigura fuq il-firewalls li ġejjin biex taħdem ma 'sshguard.

Jekk għandek l-UFW installat u attivat fis-sistema Ubuntu/Debian tiegħek, immodifika l-fajl /etc/ufw/before.rules.

$ sudo vim etc/ufw/before.rules

Żid il-linji li ġejjin eżatt wara t-taqsima permetti kollha fuq loopback.

# allow all on loopback
-A ufw-before-input -i lo -j ACCEPT
-A ufw-before-output -o lo -j ACCEPT

# hand off control for sshd to sshguard
:sshguard - [0:0]
-A ufw-before-input -p tcp --dport 22 -j sshguard

Issejvja l-fajl u erġa ibda UFW.

$ sudo systemctl restart ufw

Issa ipprova illoggja fis-server minn sistema differenti bil-kredenzjali żbaljati u avviż li inti tkun imsakkar għal 120 sekonda wara l-ewwel tentattiv ta 'login fallut.

Tista' tivverifika dan billi tiċċekkja l-fajl log auth.log.

$ sudo tail -f  /var/log/auth.log

Wara l-attentat ta 'log li jmiss fallut, il-ħin tal-blokk jiżdied għal 240 sekonda, imbagħad 480 sekonda, imbagħad 960 sekonda, eċċ.

Jekk qed tħaddem firewalld, kun żgur li huwa stabbilit u attivat. Imbagħad eżegwixxi l-kmand li ġej biex tippermetti sshguard fiż-żona preferuta tiegħek.

$ sudo firewall-cmd --permanent --zone=public --add-rich-rule="rule source ipset=sshguard4 drop"

Biex tapplika l-bidliet, reload Firewalld u sshguard.

$ sudo firewall-cmd --reload
$ sudo systemctl restart sshguard

Imbagħad ivverifika r-regola kif ġej:

$ sudo firewall-cmd —-info-ipset=sshguard4

Jekk għadek qed tuża Iptables, l-ewwel, oħloq regola ġdida tal-katina għal sshguard f'Iptables biex tibda timblokka l-ħżiena.

# iptables -N sshguard

Sussegwentement, aġġorna l-katina INPUT biex tidderieġi t-traffiku lejn sshguard u timblokka t-traffiku kollu minn partijiet nefarious.

# iptables -A INPUT -j sshguard

Biex timblokka portijiet speċifiċi bħal SSH, POP, u IMAP minn min jabbuża, mexxi l-kmand:

# iptables -A INPUT -m multiport -p tcp --destination-ports 22,110,143 -j sshguard

U fl-aħħarnett, ħlief ir-regola biex il-bidliet jidħlu fis-seħħ.

# iptables-save > /etc/iptables/iptables.rules

Pass 4: Kif Whitelist SSH Imblokkati Hosts

Biex tniżżel host imblukkat, sempliċement speċifika l-isem tal-host jew l-indirizz IP tiegħu fil-fajl tal-lista bajda li jinsab fi:

/etc/sshguard/whitelist - Ubuntu/Debian 
/etc/sshguard.whitelist - RHEL-based distros

Minn hemm 'il quddiem, kun żgur li terġa' tibda d-daemon sshguard u l-backend tal-firewall biex il-bidliet japplikaw.

F'din il-gwida, wrejna kif tista' timblokka l-attakki SSH Bruteforce billi tuża daemon SSHGuard fis-servers Linux. Ir-rispons tiegħek huwa milqugħ.