Hvernig á að loka á SSH Brute Force árásir með því að nota SSHGUARD
SSHGuard er opinn uppspretta púki sem verndar hýsinga fyrir árásum með grimmdarkrafti. Það nær þessu með því að fylgjast með og safna saman kerfisskrám, greina árásir og hindra árásarmenn með því að nota einn af Linux eldveggjum: iptables, FirewallD, pf og ipfw.
Upphaflega hannað til að veita aukið lag af vernd fyrir OpenSSH þjónustuna, SSHGuard verndar einnig fjölbreytt úrval þjónustu eins og Vsftpd og Postfix. Það þekkir nokkur annálasnið þar á meðal Syslog, Syslog-ng og hráar annálaskrár.
[Þér gæti líka líkað við: Hvernig á að tryggja og herða OpenSSH Server ]
SSHGuard er frekar svipað Fail2ban aðeins að það er skrifað í C (Fail2ban er skrifað í Python), er léttara og veitir færri eiginleika.
Í þessari handbók munum við sýna hvernig þú getur sett upp og stillt SSHGuard til að hindra SSH brute force árásir á Linux netþjóninum þínum.
Skref 1: Settu upp SSHGuard á Linux
Við byrjum með uppsetningu SSHGuard á Linux.
Uppfærðu fyrst pakkalistana og settu síðan upp SSHGuard frá sjálfgefnum geymslum með því að nota viðeigandi pakkastjóra.
$ sudo apt update
$ sudo apt install sshguard
Þegar SSHGuard þjónustan hefur verið sett upp byrjar hún sjálfkrafa og þú getur staðfest þetta með skipuninni:
$ sudo systemctl status sshguard

Fyrir RHEL-undirstaða dreifingar eins og CentOS, Rocky og AlmaLinux, byrjaðu á því að setja upp EPEL geymsluna eins og kveðið er á um í skipuninni hér að neðan.
$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
OR
$ sudo dnf install epel-release
Með EPEL á sínum stað skaltu halda áfram og setja upp SSHGuard með dnf pakkastjóranum.
$ sudo dnf install sshguard
Þegar það hefur verið sett upp skaltu ræsa og stilla SSHGuard til að byrja við ræsingu eða endurræsingu kerfisins.
$ sudo systemctl start sshguard
$ sudo systemctl enable sshguard
Vertu viss um að staðfesta að SSHGuard sé í gangi eins og búist var við.
$ sudo systemctl status sshguard

Skref 2: SSHGuard stillingar á Linux
SSHGuard fylgist virkan með /var/log/auth.log, /var/log/secure systemd journal og syslog-ng annálaskrám fyrir misheppnaðar innskráningartilraunir.
Fyrir hverja misheppnaða innskráningartilraun er ytri gestgjafi bannaður í takmarkaðan tíma sem sjálfgefið er stilltur á 120 sekúndur. Eftir það hækkar banntíminn um stuðulinn 1,5 við hverja misheppnaða innskráningartilraun í röð.
Tíminn sem hýsingar eru bannaðar, auk annarra breytu, er tilgreindur í sshguard.conf skránni. Þú getur fengið aðgang að stillingarskránni með því að nota vim ritilinn eins og sýnt er.
$ sudo vim /etc/sshguard/sshguard.conf
Í dreifingum sem byggja á RHEL er stillingarskráin staðsett á eftirfarandi slóð.
$ sudo vim /etc/sshguard.conf
Hér er sýnishorn af stillingarskránni þegar hún er skoðuð frá Ubuntu/Debian.

Við skulum einbeita okkur að aðalvalkostinum.
- BACKEND tilskipunin bendir á alla slóð bakenda keyrsluefnisins. Í þessu dæmi sjáum við að IPtables er stillt sem sjálfgefinn eldveggsbakendi.
- THRESHOLD tilskipunin hindrar árásarmenn þegar sóknarstig þeirra fer yfir tilgreint gildi.
- BLOCK_TIME valkosturinn er fjöldi sekúndna sem árásarmaður er lokaður á eftir hverja misheppnaða innskráningartilraun. Sjálfgefið er þetta stillt á 120 eftir fyrstu tilraun. Þetta eykst með hverri misheppnuðu innskráningartilraun í röð.
- DETECTION_TIME valmöguleikinn vísar til þess tíma í sekúndum sem árásarmaðurinn er skráður eða man eftir kerfinu áður en stig hans er endurstillt.
- WHITELIST_file valmöguleikinn bendir á alla slóð hvítlistaskrárinnar sem inniheldur hýsil sem ekki er ætlað að vera á svartan lista./li>
Skref 3: Stilltu SSHGuard til að loka á SSH Brute Force árásir
Til að koma í veg fyrir brute-force árásir þarftu að stilla á eftirfarandi eldveggi til að vinna með sshguard.
Ef þú ert með UFW uppsett og virkt á Ubuntu/Debian kerfinu þínu skaltu breyta /etc/ufw/before.rules skránni.
$ sudo vim etc/ufw/before.rules
Bættu við eftirfarandi línum rétt á eftir alllow all on loopback hlutanum.
# 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
Vistaðu skrána og endurræstu UFW.
$ sudo systemctl restart ufw
Reyndu nú að skrá þig inn á netþjóninn frá öðru kerfi með röng skilríki og taktu eftir því að þú verður læstur úti í 120 sekúndur eftir fyrstu misheppnuðu innskráningartilraunina.
Þú getur staðfest þetta með því að athuga auth.log annálaskrána.
$ sudo tail -f /var/log/auth.log
Eftir næstu misheppnuðu tilraun til að logga eykst blokkunartíminn í 240 sekúndur, síðan 480 sekúndur, síðan 960 sekúndur, og svo framvegis.
Ef þú ert að keyra eldvegg, vertu viss um að hann sé settur upp og virkur. Framkvæmdu síðan eftirfarandi skipun til að virkja sshguard á valinu þínu.
$ sudo firewall-cmd --permanent --zone=public --add-rich-rule="rule source ipset=sshguard4 drop"
Til að beita breytingunum skaltu endurhlaða Firewalld og sshguard.
$ sudo firewall-cmd --reload
$ sudo systemctl restart sshguard
Staðfestu síðan regluna sem hér segir:
$ sudo firewall-cmd —-info-ipset=sshguard4

Ef þú ert enn að nota Iptables skaltu fyrst búa til nýja keðjureglu fyrir sshguard í Iptables til að byrja að loka á vondu kallana.
# iptables -N sshguard
Næst skaltu uppfæra INPUT keðjuna til að beina umferð að sshguard og loka fyrir alla umferð frá glæpsamlegum aðilum.
# iptables -A INPUT -j sshguard
Til að loka fyrir tilteknar höfn eins og SSH, POP og IMAP frá misnotendum skaltu keyra skipunina:
# iptables -A INPUT -m multiport -p tcp --destination-ports 22,110,143 -j sshguard
Og að lokum skaltu vista regluna til að breytingarnar taki gildi.
# iptables-save > /etc/iptables/iptables.rules
Skref 4: Hvernig á að hvítlista SSH lokaða gestgjafa
Til að hvítlista lokaðan gestgjafa skaltu einfaldlega tilgreina hýsingarheiti hans eða IP-tölu í hvítlistaskránni sem er staðsett í:
/etc/sshguard/whitelist - Ubuntu/Debian
/etc/sshguard.whitelist - RHEL-based distros
Eftir það, vertu viss um að endurræsa sshguard púkann og eldvegg bakendann til að breytingarnar eigi við.
Í þessari handbók höfum við sýnt hvernig þú getur lokað á SSH Bruteforce árásir með því að nota SSHGuard púkinn á Linux netþjónum. Álit þitt er vel þegið.