Kuinka löytää kaikki epäonnistuneet SSH-kirjautumisyritykset Linuxissa


Linuxissa rsyslog-daemon seuraa jokaista yritystä kirjautua SSH-palvelimelle ja tallentaa lokitiedostoon. Yleisin mekanismi kaikkien epäonnistuneiden SSH-kirjautumisyritysten luetteloimiseksi Linuxissa on yhdistelmä lokitiedostojen näyttämistä ja suodattamista cat- tai grep-komennon avulla.

Jos haluat näyttää luettelon epäonnistuneista SSH-kirjautumisista Linuxissa, anna joitain tässä oppaassa esitetyistä komennoista. Varmista, että nämä komennot suoritetaan pääkäyttäjän oikeuksin.

Yksinkertaisin komento kaikkien epäonnistuneiden SSH-kirjautumisten luetteloimiseksi on alla näkyvä komento.

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

Sama tulos voidaan saavuttaa myös antamalla kissakomento.

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

Jos haluat näyttää lisätietoja epäonnistuneista SSH-kirjautumisista, anna komento alla olevan esimerkin mukaisesti.

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

CentOS:ssä tai RHEL:ssä epäonnistuneet SSH-istunnot tallennetaan /var/log/secure-tiedostoon. Anna yllä oleva komento tälle lokitiedostolle tunnistaaksesi epäonnistuneet SSH-kirjautumiset.

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

Hieman muokattu versio yllä olevasta komennosta näyttää epäonnistuneet SSH-kirjautumiset CentOS:ssä tai RHEL:ssä on seuraava.

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

Anna alla oleva komento näyttääksesi luettelon kaikista IP-osoitteista, jotka yrittivät kirjautua SSH-palvelimelle ja jotka eivät onnistuneet kirjautumaan sisään, sekä kunkin IP-osoitteen epäonnistuneiden yritysten lukumäärän.

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

Uudemmissa Linux-jakeluissa voit kysyä Systemd-daemonin ylläpitämää ajonaikaista lokitiedostoa komennolla journalctl. Jotta voit näyttää kaikki epäonnistuneet SSH-kirjautumisyritykset, sinun tulee syöttää tulos grep-suodattimen kautta, kuten alla olevissa komento-esimerkeissä on kuvattu.

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

Korvaa SSH-daemon-yksikkö CentOS:ssä tai RHEL:llä sshd.service, kuten alla olevissa komento-esimerkeissä näkyy.

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

Kun olet tunnistanut IP-osoitteet, jotka usein osuvat SSH-palvelimeesi kirjautuaksesi järjestelmään epäilyttävillä käyttäjätileillä tai virheellisillä käyttäjätileillä, päivitä järjestelmän palomuurisäännöt estääksesi epäonnistuneet SSH-yritykset IP-osoitteet tai käytä erityistä ohjelmistoja, kuten fail2ban, hallitsemaan näitä hyökkäyksiä.