SSHGuard je open-source démon, ktorý chráni hostiteľov pred útokmi hrubou silou. Dosahuje to monitorovaním a agregáciou systémových protokolov, zisťovaním útokov a blokovaním útočníkov pomocou jedného z Backendy brány firewall pre Linux: iptables, FirewallD, pfa ipfw.
Pôvodne navrhnutý tak, aby poskytoval dodatočnú vrstvu ochrany Služba OpenSSH, SSHGuard chráni aj široké spektrum služieb ako napr Vsftpd a Postfix. Rozpoznáva niekoľko formátov protokolov vrátane súborov Syslog, Syslog-ng a raw protokolových súborov.
[ Mohlo by sa vám páčiť: Ako zabezpečiť a posilniť server OpenSSH ]
SSHGuard je dosť podobný Fail2ban len že je to napísané C (Fail2ban je zapísané v Python), je ľahší a poskytuje menej funkcií.
V tejto príručke vám ukážeme, ako môžete nainštalovať a nakonfigurovať SSHGuard blokovať SSH útoky hrubou silou na vašom serveri Linux.
Začíname s inštaláciou SSHGuard v systéme Linux.
Najprv aktualizujte zoznamy balíkov a potom nainštalujte SSHGuard z predvolených úložísk pomocou správca balíkov apt.
$ sudo apt aktualizácia. $ sudo apt install sshguard.
Po nainštalovaní, SSHGuard služba sa spustí automaticky a môžete si to overiť pomocou príkazu:
$ sudo systemctl status sshguard.
Pre Distribúcie založené na RHEL ako napr CentOS, Rockya AlmaLinux, začnite inštaláciou EPEL úložisko, ako je uvedené v príkaze nižšie.
$ sudo dnf nainštalovať https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm. ALEBO. $ sudo dnf nainštalujte epel-release.
S EPEL na mieste, pokračujte a nainštalujte SSHGuard pomocou správca balíkov dnf.
$ sudo dnf nainštalujte sshguard
Po inštalácii spustite a nastavte SSHGuard spustiť pri štarte systému alebo reštarte.
$ sudo systemctl spustí sshguard. $ sudo systemctl povoliť sshguard.
Určite si to overte SSHGuard beží podľa očakávania.
$ sudo systemctl status sshguard.
SSHGuard aktívne monitoruje /var/log/auth.log, /var/log/secure systemd journal a syslog-ng protokolové súbory pre neúspešné pokusy o prihlásenie.
Za každý neúspešný pokus o prihlásenie je vzdialený hostiteľ zakázaný na obmedzený čas, ktorý je štandardne nastavený na 120 sekúnd. Potom sa čas zákazu predĺži o faktor 1,5 s každým ďalším neúspešným pokusom o prihlásenie.
Čas zakázania porušujúcich hostiteľov je okrem iných parametrov špecifikovaný v sshguard.conf súbor. Ku konfiguračnému súboru môžete pristupovať pomocou editor vim ako je znázornené.
$ sudo vim /etc/sshguard/sshguard.conf.
V distribúciách založených na RHEL sa konfiguračný súbor nachádza v nasledujúcej ceste.
$ sudo vim /etc/sshguard.conf.
Tu je ukážka konfiguračného súboru pri pohľade z Ubuntu / Debian.
Zamerajme sa na hlavnú možnosť.
Na odvrátenie hrubou silou útokov, musíte nakonfigurovať nasledujúce brány firewall, s ktorými budete pracovať sshguard.
Ak máte UFW nainštalovaný a povolený na tvojom Ubuntu / Debian systém, upravte /etc/ufw/before.rules súbor.
$ sudo vim atď/ufw/before.rules.
Nasledujúce riadky pridajte hneď za povoliť všetko v slučke
oddiele.
# povoliť všetko v slučke. -A ufw-pred-vstupom -i lo -j PRIJAŤ. -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.
Uložte súbor a reštartujte UFW.
$ sudo systemctl reštart ufw.
Teraz sa pokúste prihlásiť na server z iného systému s nesprávnymi prihlasovacími údajmi a všimnite si, že budete zablokovaní na 120 sekúnd po prvom neúspešnom pokuse o prihlásenie.
Môžete si to overiť zaškrtnutím auth.log log súbor.
$ sudo tail -f /var/log/auth.log.
Po ďalšom neúspešnom pokuse o protokol sa čas blokovania zvýši na 240 sekúnd, potom 480 sekúnd, potom 960 sekundy a tak ďalej.
Ak ste beží firewalld, uistite sa, že je nastavený a povolený. Potom vykonajte nasledujúci príkaz na aktiváciu sshguard vo vašej preferovanej zóne.
$ sudo firewall-cmd --permanent --zone=public --add-rich-rule="zdroj pravidla ipset=sshguard4 drop"
Ak chcete použiť zmeny, znova načítajte Firewall a sshguard.
$ sudo firewall-cmd --reload. $ sudo systemctl reštartujte sshguard.
Potom overte pravidlo takto:
$ sudo firewall-cmd —-info-ipset=sshguard4.
Ak stále používate iptables, najprv vytvorte nové pravidlo reťazca pre sshguard v iptables začať blokovať zlých ľudí.
# iptables -N sshguard.
Ďalej aktualizujte VSTUP reťaz na nasmerovanie dopravy na sshguard a zablokovať všetku premávku od nekalých strán.
# iptables -A INPUT -j sshguard.
Na blokovanie konkrétnych portov ako napr SSH, POPa IMAP od zneužívateľov spustite príkaz:
# iptables -A INPUT -m multiport -p tcp --destination-ports 22 110 143 -j sshguard.
A nakoniec pravidlo uložte, aby zmeny nadobudli účinnosť.
# iptables-save < /etc/iptables/iptables.rules.
Ak chcete blokovaného hostiteľa pridať na bielu listinu, jednoducho zadajte jeho názov hostiteľa alebo IP adresu v súbore bielej listiny, ktorý sa nachádza v:
/etc/sshguard/whitelist - Ubuntu/Debian /etc/sshguard.whitelist - distribúcie založené na RHEL
Potom nezabudnite reštartovať sshguard démona a backend firewallu, aby sa zmeny uplatnili.
V tejto príručke sme vám ukázali, ako môžete blokovať SSH Pomocou útokov Bruteforce SSHGuard démon na serveroch Linux. Vaša spätná väzba je vítaná.