Kaip rasti visus nepavykusius SSH prisijungimo bandymus sistemoje „Linux“.


Kiekvieną bandymą prisijungti prie SSH serverio seka ir įrašo į žurnalo failą rsyslog demonas Linux sistemoje. Pats paprasčiausias visų nesėkmingų SSH prisijungimo bandymų sąrašo mechanizmas sistemoje „Linux“ yra žurnalo failų rodymo ir filtravimo derinys, naudojant komandą cat arba grep.

Kad būtų rodomas nesėkmingų SSH prisijungimų sistemoje „Linux“ sąrašas, išduokite kai kurias šiame vadove pateiktas komandas. Įsitikinkite, kad šios komandos vykdomos su root teisėmis.

Paprasčiausia komanda, skirta išvardyti visus nepavykusius SSH prisijungimus, yra tokia, kuri parodyta žemiau.

grep "Failed password" /var/log/auth.log

Tą patį rezultatą galima pasiekti ir išduodant katės komandą.

cat /var/log/auth.log | grep "Failed password"

Kad būtų rodoma papildoma informacija apie nepavykusius SSH prisijungimus, išduokite komandą, kaip parodyta toliau pateiktame pavyzdyje.

egrep "Failed|Failure" /var/log/auth.log

Sistemoje CentOS arba RHEL nesėkmingi SSH seansai įrašomi į /var/log/secure failą. Išduokite aukščiau pateiktą komandą šiam žurnalo failui, kad nustatytumėte nesėkmingus SSH prisijungimus.

egrep "Failed|Failure" /var/log/secure

Šiek tiek pakeista aukščiau pateiktos komandos versija, skirta rodyti nesėkmingus SSH prisijungimus CentOS arba RHEL, yra tokia.

grep "Failed" /var/log/secure
grep "authentication failure" /var/log/secure

Norėdami parodyti visų IP adresų, kurie bandė prisijungti prie SSH serverio ir kuriems nepavyko prisijungti, sąrašą kartu su kiekvieno IP adreso nesėkmingų bandymų skaičiumi, išduokite toliau pateiktą komandą.

grep "Failed password" /var/log/auth.log | awk ‘{print $11}’ | uniq -c | sort -nr

Naujesniuose „Linux“ platinimuose galite pateikti užklausą vykdymo laiko žurnalo failo, kurį palaiko Systemd demonas, naudodami komandą journalctl. Kad būtų rodomi visi nesėkmingi SSH prisijungimo bandymai, turėtumėte pervesti rezultatą naudodami grep filtrą, kaip parodyta toliau pateiktuose komandų pavyzdžiuose.

journalctl _SYSTEMD_UNIT=ssh.service | egrep "Failed|Failure"
journalctl _SYSTEMD_UNIT=sshd.service | egrep "Failed|Failure"  #In RHEL, CentOS 

Sistemoje CentOS arba RHEL pakeiskite SSH demono bloką į sshd.service, kaip parodyta toliau pateiktuose komandų pavyzdžiuose.

journalctl _SYSTEMD_UNIT=sshd.service | grep "failure"
journalctl _SYSTEMD_UNIT=sshd.service | grep "Failed"

Nustačius IP adresus, kurie dažnai patenka į jūsų SSH serverį, norėdami prisijungti prie sistemos naudodami įtartinas vartotojų paskyras arba netinkamas naudotojų paskyras, turėtumėte atnaujinti sistemos ugniasienės taisykles, kad užblokuotumėte nepavykusių SSH bandymų IP adresus arba naudokite specializuotą programinė įranga, pvz., fail2ban, skirta šioms atakoms valdyti.