Cum să detectezi intruși în serverul tău VPS: ghid complet de securitate
Detectarea intruşilor în serverul tău VPS necesită monitorizarea încercărilor de autentificare, verificarea logurilor de sistem, identificarea fișierelor modificate și analiza proceselor care rulează pentru activitate suspectă. Fiecare acces la serverul tău lasă urme pe care le poți găsi și analiza.
Administratorii de sistem profesioniști folosesc mai multe metode de detectare care funcționează împreună. Ei verifică logurile de autentificare pentru autentificări eșuate, revizuiesc bazele de date utilizatori pentru conturi neautorizate, monitorizează porturile de rețea pentru ascultători suspicioși și implementează instrumente automate care alertează când fișierele se schimbă neașteptat.
Securitatea serverului urmează principii de apărare stratificate unde fiecare măsură de protecție presupune că toate celelalte au eșuat. Aceasta creează multiple bariere între atacatori și datele tale.
Înțelegerea abordării de securitate stratificată
Securitatea nu ar trebui să se bazeze niciodată pe un singur mecanism de protecție. Securitatea stratificată presupune că fiecare apărare va eșua în cele din urmă și proiectează fiecare strat ca și cum ar fi ultima linie de protecție.
Această abordare separă apărările astfel încât să opereze independent fără să depindă una de alta. Securitatea cuprinzătoare protejează mai multe niveluri:
- Protecția datelor: criptare, ascundere, backup-uri
- Protecția aplicațiilor: actualizări, monitorizare, loguri
- Protecția serviciilor: baze de date, load balancers
- Protecția punctelor terminale: firewall-uri, utilizatori, autorizații
- Protecția conexiunilor: WiFi, VLAN-uri, segmentare rețea
- Elementul uman: training, politici, proceduri
Modelul de securitate zero-trust întruchipează această filozofie cerând fiecărei componente de sistem să verifice fiecare altă componentă. Deși implementarea perfectă zero-trust rămâne imposibilă, principiul ghidează deciziile de arhitectură de securitate.
Fiecare strat de securitate trebuie să funcționeze eficient chiar și când toate celelalte straturi au fost ocolite. Această redundanță asigură că atacatorii trebuie să înfrângă mai multe apărări independente în loc să exploateze un singur punct slab.
Semne că cineva a accesat serverul tău
Fiecare acces la un computer lasă urme undeva în sistem. Atacatorii pot intra prin mai multe metode:
- Metode standard de autentificare precum SSH
- Exploit-uri care ocolesc controalele de securitate
- Backdoor-uri instalate în timpul intruziunilor anterioare
- Acces fizic prin furtul hard disk-urilor
Înțelegerea tuturor acestor vectori de acces te ajută să știi unde să cauți dovezi. Începe prin examinarea logurilor pentru semne de intruziuni, backdoor-uri sau orice neobișnuit.
Verificarea autentificărilor curente și trecute
Metodele standard de autentificare sunt înregistrate în logurile de sistem. Metodele non-standard precum backdoor-urile și exploit-urile ocolesc autentificarea normală și pot să nu apară în logurile standard.
Verifică cine este conectat în prezent:
w
Aceasta afișează sesiunile active ale utilizatorilor cu timpii de conectare și activitățile curente. Revizuiește acest output pentru utilizatori neașteptați, timpi de conectare neobișnuiți în afara orelor de lucru sau conexiuni de la adrese IP necunoscute.
Revizuiește înregistrările istorice de autentificare:
last
Această comandă arată toate sesiunile de autentificare trecute incluzând:
- Autentificări SSH remote
- Acces consola locală
- Reporniri sistem
- Evenimente de oprire
Comanda citește fișiere log binare care urmăresc autentificarea:
- /var/log/utmp: Status curent sistem și utilizatori activi
- /var/log/wtmp: Înregistrări istorice ale tuturor sesiunilor de autentificare
- /var/log/btmp: Încercări eșuate de autentificare
Verifică încercările eșuate de autentificare:
lastb
Volume mari de încercări eșuate de la aceeași adresă IP indică instrumente automate de atac care scanează pentru parole slabe.
Vezi când s-a conectat ultima dată fiecare utilizator:
lastlog
Aceasta ajută la identificarea conturilor dormante care devin brusc active sau conturi care nu au fost niciodată folosite legitim.
Examinarea bazelor de date utilizatori și parole
Informațiile despre conturile utilizatorilor există în două fișiere critice:
- /etc/passwd: Detalii utilizatori (citibil de toată lumea)
- /etc/shadow: Hash-uri parole (citibil doar de root)
Inspectează fișierul shadow:
cat /etc/shadow
Câmpul parolă folosește un format: algoritm-ID.factor-cost.salt.hash
Sistemele moderne folosesc algoritmi puternici de hashing:
- y = yescrypt (recomandat)
- 6 = SHA-512
- 5 = SHA-256
- 1 = MD5 (depășit, nesigur)
Simboluri importante în câmpul parolă:
- * = Nicio parolă atribuită, contul nu se poate autentifica
- ! = Cont temporar dezactivat
- Format invalid = Autentificare împiedicată
Revizuiește /etc/shadow pentru conturi utilizator neautorizate, în special cele cu UID 0 care acordă privilegii root, sau conturi cu valori suspecte ale parolei.
Identificarea proceselor suspecte
Atacatorii execută cod malițios care rulează ca procese în memoria sistemului. Aceste procese continuă să ruleze chiar dacă fișierul binar original este șters de pe disc.
Afișează toate procesele care rulează:
ps afxu
Aceasta afișează proprietatea utilizatorului, utilizarea CPU, consumul de memorie și liniile de comandă.
Folosește instrumente interactive de monitorizare:
htop
# sau
btop
Ce să cauți:
- Nume de procese necunoscute
- Procese deținute de utilizatori neașteptați
- Procese care rulează din directoarele /tmp sau /var/tmp
- Procesele legitime rulează de obicei din /usr/bin, /usr/sbin sau /bin
Termină procesele suspecte:
kill -9 <process_id>
Semnalul -9 forțează terminarea imediată pe care procesele nu o pot intercepta sau ignora.
Omoară toate procesele unui utilizator specific:
killall -u <username>
Analiza logurilor de autentificare
Toate logurile de sistem Linux se concentrează în directorul /var/log/. Informațiile de autentificare apar în fișiere log specifice pe care ar trebui să le verifici regulat.
Verifică logurile de autentificare:
grep user /var/log/auth.log | grep -vi cron | less
Găsește încercări eșuate de parolă:
grep -i "Failed password" /var/log/auth.log
Verifică logurile la nivel de sistem:
cat /var/log/syslog | less
Pentru loguri rotite comprimate:
zgrep user /var/log/auth.log.2.gz | grep -vi cron | less
Ce să cauți în loguri:
- Timpi neobișnuiți de autentificare (mijlocul nopții, weekend-uri)
- Modele geografice inconsistente cu utilizarea legitimă
- Creșteri bruște în încercările eșuate de autentificare
- Autentificări reușite imediat după multe eșecuri
Găsirea fișierelor modificate recent
Cunoașterea fișierelor care s-au schimbat după un atac se dovedește critică pentru evaluarea daunelor. Comanda find caută fișiere pe baza timpului de modificare.
Fișiere modificate în ultimele 24 de ore:
find / -mtime 0 -ls | grep -v "proc\|sys" | less
Fișiere modificate în ultimele 48 de ore:
find / -mtime -2 -ls | grep -v "proc\|sys" | less
Fișiere modificate în ultima săptămână:
find / -mtime -7 -ls | grep -v "proc\|sys" | less
Înțelegerea sintaxei -mtime:
- -mtime 0: Exact ultimele 24 de ore
- -mtime -N: Mai puțin de N zile în urmă
- -mtime +N: Mai mult de N zile în urmă
Verifică timestamp-urile detaliate ale fișierelor:
stat /etc/passwd
Aceasta arată timpul de acces, timpul de modificare, timpul de schimbare și timpul de naștere.
Directoare critice de monitorizat:
- /etc: Fișiere de configurare
- /bin și /usr/bin: Executabile
- /root și /home: Date utilizator
- Rădăcinile documentelor serverului web
Verificarea pentru backdoor-uri
Backdoor-urile permit atacatorilor să recâștige acces după ce punctul lor inițial de intrare este descoperit și închis. Verifică mai multe locații unde backdoor-urile se ascund în mod obișnuit.
Verifică cheile autorizate SSH:
cat ~/.ssh/authorized_keys
Cheile neautorizate în acest fișier acordă acces silențios ocolind cerințele de parolă.
Verifică script-urile de pornire:
less /etc/rc.local
less /etc/profile
ls /etc/profile.d/*
cat ~/.bashrc
cat ~/.zshrc
Revizuiește job-urile cron:
# Crontabs utilizator
crontab -l
# Crontabs sistem
cat /etc/crontab
ls /etc/cron.d/
ls /etc/cron.daily/
ls /etc/cron.hourly/
ls /etc/cron.weekly/
ls /etc/cron.monthly/
Verifică serviciile systemd:
systemctl list-unit-files --type=service | grep enabled
Verifică porturile de rețea deschise:
ss -anpult
Ce să cauți:
- Procese LISTEN în TCP
- Orice procese UDP
- Porturi neașteptate (în special porturi cu numere mari)
- Procese fără scop legitim clar
Întărirea accesului SSH
SSH reprezintă metoda primară de acces la distanță pentru serverele VPS, făcând securitatea SSH critică. Configurează SSH prin /etc/ssh/sshd_config cu setări care restricționează accesul și impun autentificare puternică.
Generează chei SSH pe computerul tău local:
ssh-keygen
Copiază cheia publică pe server:
ssh-copy-id -p 22 root@serverul-tau.com
Editează configurația SSH:
vi /etc/ssh/sshd_config
Setări critice de securitate SSH:
- PasswordAuthentication no - Forțează autentificarea cu cheie publică
- PermitRootLogin no - Previne autentificarea directă root
- AllowUsers username - Restricționează la utilizatori specifici
- DenyUsers username - Blochează explicit anumiți utilizatori
- AllowGroups sshusers - Permite doar grupuri specifice
Reîncarcă SSH (nu restart!):
/etc/init.d/ssh reload
Important: Testează întotdeauna cu o conexiune de backup deschisă! Dacă setările noi împiedică conexiunea, poți reveni prin sesiunea ta de backup.
Impune parole puternice:
vi /etc/pam.d/common-password
Adaugă această linie:
password requisite pam_pwquality.so retry=3 minlen=20 difok=3 dcredit=3 ucredit=3 lcredit=3
Parametrii explicați:
- retry=3: Limita de încercări
- minlen=20: Lungime minimă
- difok=3: Maxim caractere reutilizate din parola veche
- dcredit=3: Minim cifre necesare
- ucredit=3: Minim caractere majuscule
- lcredit=3: Minim caractere minuscule
Configurarea permisiunilor fișierelor
Permisiunile fișierelor Linux controlează accesul de citire, scriere și executare separat pentru proprietarul fișierului, membrii grupului și toți ceilalți utilizatori.
Verifică permisiunile:
ls -alh /etc
Tipuri de permisiuni:
- r (read): Vizualizează conținutul fișierului sau listează directorul
- w (write): Modifică fișierul sau creează/șterge fișiere în director
- x (execute): Rulează executabilul sau intră în director
Schimbă permisiunile:
chmod u+x filename # Adaugă execute pentru utilizator
chmod go-w filename # Elimină write de la grup și alții
chmod 644 filename # Setează permisiuni specifice (rw-r--r--)
Recomandări critice pentru permisiuni fișiere:
- /etc/shadow: 600 (doar root)
- /etc/passwd: 644 (citibil de toți)
- Directoare home: 700 sau 750
- Fișiere web: 644 pentru fișiere, 755 pentru directoare
Înțelegerea umask
Umask setează permisiunile implicite pentru fișierele și directoarele nou create la nivel de sistem.
Verifică umask curent:
umask
# sau
umask -S # Notație simbolică
Setează umask nou:
umask 026
Cum funcționează umask:
- Fișierele au implicit permisiuni 666
- Directoarele au implicit permisiuni 777
- Umask se scade din aceste valori implicite
- Exemplu: 666 - 026 = 640 (rw-r-----)
Atribute fișiere și atribute extinse
Atributele fișierelor oferă metadate care controlează ce operațiuni sunt permise dincolo de permisiunile standard.
Vizualizează atributele:
lsattr filename
Atribute utile:
- a: Append-only (fișierul poate fi doar adăugat)
- i: Immutable (nu poate fi modificat sau șters)
- A: No atime update (îmbunătățește performanța)
- s: Secure deletion (suprascrie la ștergere)
Schimbă atributele:
chattr +i filename # Face immutable
chattr -i filename # Elimină immutable
Atribute extinse (spațiu utilizator):
setfattr -n user.note -v "acesta e al meu" file.txt
getfattr -n user.note file.txt
getfattr -d file.txt # Arată toate atributele
Liste de Control Acces (ACL)
ACL-urile oferă control de permisiuni mai specific decât permisiunile Unix tradiționale, permițând mai mulți utilizatori și grupuri cu niveluri diferite de acces.
Vizualizează ACL-uri:
getfacl filename
Setează ACL pentru utilizator specific:
setfacl -m u:username:rwx /path/to/directory
Elimină intrare ACL:
setfacl -x u:username /path/to/directory
ACL-uri implicite pentru directoare:
setfacl -d -m u:username:rwx /path/to/directory
Simbolul + după permisiuni în ls -l indică existența intrărilor ACL.
Detectare automată de intruziuni cu AIDE
AIDE (Advanced Intrusion Detection Environment) automatizează verificarea integrității fișierelor prin crearea de baze de date snapshot ale proprietăților fișierelor. Detectează adăugări, ștergeri și modificări neautorizate.
Instalează AIDE:
apt install aide
Inițializează baza de date:
aide --init --config=/etc/aide/aide.conf
Acest lucru poate dura ore pe sisteme mari. Fii răbdător!
Activează baza de date:
cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db
Rulează verificări:
aide --check --config=/etc/aide/aide.conf
Indicatori output AIDE:
- + = Fișiere adăugate
- - = Fișiere eliminate
- Atribute schimbate: p=permisiuni, u=utilizator, g=grup, m=timp modificare, c=timp schimbare, C=checksums
Actualizează baza de date după modificări legitime:
aide --update --config=/etc/aide/aide.conf
cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db
Programează verificări zilnice cu cron:
crontab -e
Adaugă:
0 2 * * * /usr/bin/aide --check --config=/etc/aide/aide.conf
Important: Stochează bazele de date baseline offline! Atacatorii cu acces root pot modifica bazele de date AIDE locale pentru a-și ascunde urmele.
Audit automat de securitate cu Lynis
Lynis efectuează audituri automate de securitate cuprinzătoare scanând pentru vulnerabilități, configurări greșite și puncte slabe de securitate.
Instalează Lynis:
git clone https://github.com/CISOfy/lynis.git
cd lynis
Rulează audit complet:
./lynis audit system
Ce verifică Lynis:
- Politici de parole
- Configurații firewall
- Servicii care rulează
- Parametri kernel
- Configurare logging
- Instrumente de securitate instalate
Lynis generează un scor index de întărire reflectând postura generală de securitate. Scoruri mai mari indică configurații mai bune.
Beneficii Lynis:
- Rulează în siguranță fără a modifica setările
- Generează rapoarte detaliate cu evaluări de severitate
- Oferă recomandări specifice de întărire
- Sigur pentru medii de producție
Programează audituri Lynis lunar sau după modificări majore de sistem pentru a urmări postura de securitate în timp.
Analiza logurilor cu Logwatch
Logwatch analizează automat logurile de sistem generând rapoarte lizibile de către om care rezumă evenimente importante.
Instalează Logwatch:
apt install logwatch
Rulează analiză cuprinzătoare:
logwatch --service all --detail High --range All
Niveluri de detaliu:
- Low: Doar evenimente critice
- Medium: Avertismente importante
- High: Toate intrările notabile
Intervale de timp:
- Today: Ultimele 24 ore
- Yesterday: Ziua precedentă
- All: Analiză istorică completă
Ce evidențiază rapoartele Logwatch:
- Încercări eșuate de autentificare
- Erori de servicii
- Probleme spațiu disc
- Evenimente neobișnuite de sistem
- Activități relevante pentru securitate
Configurează Logwatch să trimită rezumate zilnice prin email administratorilor pentru conștientizare de securitate de rutină fără a necesita revizuirea manuală a logurilor.
Cum ENGINYRING VPS sprijină securitatea
Planurile VPS ENGINYRING oferă acces root complet permițând control total asupra configurațiilor de securitate. Poți instala și configura orice instrumente de securitate necesare pentru mediul tău.
Avantaje de securitate:
- Control complet: Întărire SSH, reguli firewall, detectare intruziuni
- Mediu izolat: Măsurile tale de securitate protejează doar resursele tale
- Protecție DDoS: Filtrare la nivel de rețea înainte ca traficul să ajungă la VPS
- Backup-uri automate: Puncte de recuperare pentru restaurare după incidente
- Resurse dedicate: CPU garantat, memorie, throughput disc
- Suport tehnic: Asistență instalare și îndrumare răspuns la incidente
Combinația dintre control administrativ complet și infrastructură robustă creează condiții optime pentru implementarea practicilor de securitate de nivel enterprise.
Menținerea vigilenței continue de securitate
Securitatea nu este o configurare unică ci un proces continuu care necesită vigilență și adaptare constantă.
Program regulat de securitate:
- Zilnic: Verificări AIDE, revizuire loguri cu Logwatch
- Săptămânal: Analiză manuală loguri, revizuire procese
- Lunar: Audituri securitate Lynis, audituri permisiuni
- La nevoie: Actualizări software, patch-uri critice securitate
Documentează linia de bază securitate:
- Utilizatori autorizați și nivelurile lor de acces
- Servicii necesare și porturi de ascultare
- Surse legitime acces remote (adrese IP)
- Modele normale trafic și timpi utilizare
Această linie de bază documentată face detectarea anomaliilor semnificativ mai ușoară. Când apare ceva neobișnuit, compară cu linia ta de bază pentru a determina rapid dacă este legitim sau suspect.
Practică răspunsul la incidente:
- Rulează exerciții tabletop simulând scenarii de atac
- Testează restaurarea backup înainte să ai nevoie în timpul incidentelor
- Verifică că alertele de monitorizare ajung la personalul corespunzător
- Documentează procedurile de răspuns și actualizează regulat
Securitatea eficientă combină controale tehnice cu disciplină procedurală și învățare continuă despre amenințări în evoluție și tehnici defensive.
Sursă și Atribuire
Aceast articol se bazează pe date originale ale ENGINYRING.COM. Pentru metodologia completă și pentru a asigura integritatea datelor, articolul original trebuie citat. Sursa canonică este disponibilă la: Cum să detectezi intruși în serverul tău VPS: ghid complet de securitate.