Logurile de autentificare îți arată cine a încercat să intre pe sistem, când, de unde și prin ce metodă. Pe un server Linux expus la internet, mai ales cu SSH activ, este normal să vezi încercări automate de autentificare. Important este să știi să le citești corect și să faci diferența între zgomot obișnuit, configurare greșită și risc real.
Pe Ubuntu și Debian, multe evenimente de autentificare apar în /var/log/auth.log. Pe distribuții care folosesc puternic systemd journal, poți folosi journalctl pentru a filtra logurile serviciului SSH. journalctl este instrumentul standard pentru citirea logurilor din systemd journal, iar Ubuntu documentează OpenSSH Server ca serviciul folosit pentru acces remote securizat pe server.
Începe cu verificarea serviciului SSH
Înainte să analizezi loguri, vezi dacă SSH rulează:
systemctl status ssh
Pe unele distribuții serviciul se numește sshd:
systemctl status sshd
Verifică și dacă ascultă pe port:
sudo ss -tulpen | grep ':22'
Dacă SSH nu rulează sau portul nu apare, nu vei vedea autentificări remote recente.
Citește ultimele evenimente din auth.log
Pe Ubuntu/Debian:
sudo tail -n 100 /var/log/auth.log
Pentru doar SSH:
sudo grep 'sshd' /var/log/auth.log | tail -n 50
Caută expresii importante:
sudo grep -i 'failed password' /var/log/auth.log
sudo grep -i 'invalid user' /var/log/auth.log
sudo grep -i 'accepted' /var/log/auth.log
sudo grep -i 'authentication failure' /var/log/auth.log
Ce înseamnă concret:
Failed password — cineva a încercat parolă greșită.Invalid user — s-a încercat autentificarea cu un utilizator care nu există.Accepted password — autentificare reușită cu parolă.Accepted publickey — autentificare reușită cu cheie SSH.authentication failure — eveniment de autentificare eșuată, de obicei prin PAM.
O singură încercare eșuată nu înseamnă incident. Zeci sau sute de încercări de la același IP, mai ales cu utilizatori precum root, admin, test, oracle, ubuntu, pot indica scanare automată sau brute-force.
Folosește journalctl pentru SSH
Dacă sistemul tău folosește journalctl, rulează:
sudo journalctl -u ssh -b
sau:
sudo journalctl -u sshd -b
Pentru ultimele 100 de linii:
sudo journalctl -u ssh -n 100
Pentru erori din bootul curent:
sudo journalctl -u ssh -p warning -b
Manualul journalctl include filtrarea după unități systemd cu -u și după boot cu -b, ceea ce îl face util când investighezi un serviciu concret, cum este SSH.
Identifică IP-urile care repetă încercările
Ca să vezi IP-urile din încercările eșuate:
sudo grep 'Failed password' /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr | head
Această comandă îți arată de câte ori apare fiecare IP în liniile cu Failed password. Nu lua decizii majore doar pe baza unei singure comenzi, dar folosește rezultatul ca punct de plecare.
Pentru utilizatori inexistenți:
sudo grep 'Invalid user' /var/log/auth.log | awk '{print $8}' | sort | uniq -c | sort -nr | head
Dacă vezi multe încercări pe utilizatori inexistenți, serverul este probabil atins de scanări automate.
Verifică autentificările reușite
Nu te uita doar la eșecuri. Cele mai importante sunt autentificările reușite:
sudo grep -i 'Accepted' /var/log/auth.log
Verifică utilizatorul, IP-ul și ora. Dacă vezi un login reușit de la un IP necunoscut sau într-un interval ciudat, investighează imediat.
Comenzi utile:
last
lastlog
who
lastlog afișează ultima autentificare pentru utilizatorii sistemului, folosind fișierul /var/log/lastlog, iar faillog poate raporta autentificări eșuate în sistemele unde este folosit.
Ce faci dacă vezi activitate suspectă
Nu șterge logurile. Nu reporni serverul imediat. Notează ora, IP-ul, utilizatorul și tipul evenimentului.
Pași defensivi:
sudo grep -i 'Accepted' /var/log/auth.log
getent passwd
getent group sudo
sudo ufw status verbose
Verifică dacă există utilizatori necunoscuți, cine are sudo și dacă SSH este expus către toată lumea. Dacă folosești parolă pentru SSH, treci la chei SSH și dezactivează login-ul prin parolă doar după ce ai testat conectarea cu cheia într-o sesiune separată.
Setări importante în /etc/ssh/sshd_config:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
După modificări:
sudo sshd -t
sudo systemctl reload ssh
Analiza logurilor de autentificare nu este despre panică. Este despre metodă: verifici SSH, citești logurile, separi eșecurile de autentificările reușite, identifici IP-uri repetitive, verifici utilizatorii și aplici măsuri defensive clare.
Surse folosite
Ubuntu Server Documentation — OpenSSH Server.
Linux man-pages — journalctl, citirea și filtrarea logurilor systemd.
Linux man-pages — lastlog, ultima autentificare a utilizatorilor.
Linux man-pages — faillog, raportarea autentificărilor eșuate.

















































