Kako pronaći sve neuspjele SSH pokušaje prijave u Linuxu


Svaki pokušaj prijave na SSH server prati se i snima u log datoteku od strane rsyslog demona u Linuxu. Najosnovniji mehanizam za popis svih neuspjelih pokušaja SSH prijave u Linuxu je kombinacija prikazivanja i filtriranja log datoteka uz pomoć naredbe cat ili grep.

Da biste prikazali listu neuspjelih SSH prijava u Linuxu, izdajte neke od naredbi predstavljenih u ovom vodiču. Uvjerite se da se ove naredbe izvršavaju s root privilegijama.

Najjednostavnija naredba za popis svih neuspjelih SSH prijava je ona prikazana ispod.

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

Isti rezultat se može postići i izdavanjem naredbe cat.

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

Da biste prikazali dodatne informacije o neuspjelim SSH prijavama, izdajte naredbu kao što je prikazano u primjeru ispod.

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

U CentOS ili RHEL, neuspjele SSH sesije se snimaju u datoteku /var/log/secure. Izdajte gornju naredbu protiv ove datoteke evidencije da biste identificirali neuspjele SSH prijave.

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

Malo izmijenjena verzija gornje naredbe za prikaz neuspjelih SSH prijava u CentOS ili RHEL je sljedeća.

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

Da biste prikazali listu svih IP adresa koje su pokušale i nisu uspjele da se prijave na SSH server zajedno sa brojem neuspjelih pokušaja svake IP adrese, izdajte naredbu ispod.

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

Na novijim distribucijama Linuxa možete zatražiti datoteku dnevnika vremena izvršavanja koju održava Systemd demon putem naredbe journalctl. Da biste prikazali sve neuspjele pokušaje prijave na SSH, trebali biste prenijeti rezultat preko grep filtera, kao što je ilustrovano u primjerima naredbi ispod.

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

U CentOS ili RHEL, zamijenite SSH demon jedinicu sa sshd.service, kao što je prikazano u primjerima naredbi ispod.

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

Nakon što ste identifikovali IP adrese koje često pogađaju vaš SSH server da biste se prijavili na sistem sa sumnjivim korisničkim nalozima ili nevažećim korisničkim nalozima, trebalo bi da ažurirate pravila vašeg sistemskog zaštitnog zida da blokirate IP adrese neuspešnih pokušaja SSH ili koristite specijalizovanu softver, kao što je fail2ban za upravljanje ovim napadima.