Sådan finder du alle mislykkede SSH-loginforsøg i Linux
Hvert forsøg på at logge ind på SSH-server spores og registreres i en logfil med grep-kommandoen.
For at få vist en liste over de mislykkede SSH-logins i Linux, skal du udstede nogle af de kommandoer, der er præsenteret i denne vejledning. Sørg for, at disse kommandoer udføres med root-rettigheder.
Den mest enkle kommando til at liste alle mislykkede SSH-logins er den, der er vist nedenfor.
# grep "Failed password" /var/log/auth.log
Det samme resultat kan også opnås ved at udstede kat-kommandoen.
# cat /var/log/auth.log | grep "Failed password"
For at få vist ekstra information om de mislykkede SSH-login, skal du udstede kommandoen som vist i nedenstående eksempel.
# egrep "Failed|Failure" /var/log/auth.log
I CentOS eller RHEL registreres de mislykkede SSH-sessioner i/var/log/sikker fil. Udsted ovenstående kommando mod denne logfil for at identificere mislykkede SSH-login.
# egrep "Failed|Failure" /var/log/secure
En let modificeret version af ovenstående kommando til at vise mislykkede SSH-login i CentOS eller RHEL er som følger.
# grep "Failed" /var/log/secure # grep "authentication failure" /var/log/secure
For at få vist en liste over alle IP-adresser, der forsøgte og ikke kunne logge ind på SSH-serveren sammen med antallet af mislykkede forsøg for hver IP-adresse, skal du udstede kommandoen nedenfor.
# grep "Failed password" /var/log/auth.log | awk ‘{print $11}’ | uniq -c | sort -nr
På nyere Linux-distributioner kan du forespørge om runtime-logfilen, der vedligeholdes af Systemd-dæmonen via journalctl-kommandoen. For at få vist alle mislykkede SSH-loginforsøg skal du føre resultatet via grep-filter, som illustreret i nedenstående kommandoeksempler.
# journalctl _SYSTEMD_UNIT=ssh.service | egrep "Failed|Failure" # journalctl _SYSTEMD_UNIT=sshd.service | egrep "Failed|Failure" #In RHEL, CentOS
I CentOS eller RHEL skal du udskifte SSH-dæmonenheden med sshd.service, som vist i nedenstående kommandoeksempler.
# journalctl _SYSTEMD_UNIT=sshd.service | grep "failure" # journalctl _SYSTEMD_UNIT=sshd.service | grep "Failed"
Når du har identificeret de IP-adresser, der ofte rammer din SSH-server for at logge ind på systemet med mistænkelige brugerkonti eller ugyldige brugerkonti, skal du opdatere dine systemfirewallregler til fail2ban for at administrere disse angreb.