Ghid de securitate · Moldova

Cum securizez accesul SSH la un server Linux?

SSH este ușa principală a serverului. Într-o firmă de outsourcing cu zece dezvoltatori, un contabil extern și un administrator plecat anul trecut, întrebarea nu este dacă ușa e încuiată, ci cine mai are cheie și dacă știi asta.

Actualizat la

Răspuns scurt

  1. Securizezi accesul SSH trecând complet pe autentificare cu chei, dezactivând parolele și interzicând conectarea directă ca root.
  2. Generează chei ed25519 per persoană, protejate cu frază de acces, și nu partaja niciodată o cheie între doi oameni.
  3. Restricționează cine se poate conecta cu AllowUsers sau AllowGroups și, unde poți, din ce adrese.
  4. Instalează fail2ban pentru a bloca adresele care insistă și păstrează jurnalul de autentificare centralizat.
  5. Revocă cheile la plecarea unui coleg, în aceeași zi, din authorized_keys de pe fiecare server.
Tip de cheie recomandat
ed25519, cu frază de acces
Setări obligatorii în sshd_config
PermitRootLogin no, PasswordAuthentication no
Implicit OpenSSH 7.0+
PermitRootLogin prohibit-password
Blocare automată
fail2ban, jail sshd

Ce controlează cu adevărat accesul

Două setări fac diferența: PasswordAuthentication no și PermitRootLogin no. Prima elimină complet atacurile prin ghicirea parolei, indiferent cât de insistenți sunt boții. A doua obligă fiecare persoană să intre pe contul propriu și să obțină drepturi prin sudo, deci jurnalul arată cine a făcut ce. Cheia ed25519 este scurtă, rapidă și fără parametri de configurat greșit. Fraza de acces protejează laptopul furat; agentul SSH o cere o dată pe sesiune. Tot restul, inclusiv portul, este zgomot redus, nu securitate.

Portul non-standard și alte măsuri de confort

Mutarea SSH de pe portul 22 reduce mult numărul de încercări din jurnal, fiindcă boții simpli scanează doar porturile uzuale. Un atacator interesat de serverul tău scanează toate porturile în câteva secunde. Deci portul schimbat ține jurnalul curat, nu ține intrușii afară. fail2ban este util fiindcă limitează cererile și reduce încărcarea, dar fără parole activate nu mai are ce proteja. Ordinea corectă: chei, apoi root interzis, apoi restul.

Cine are voie: AllowUsers și chei pe persoană

Într-o echipă, riscul real nu sunt boții, ci cheile uitate. Un fost coleg cu cheia încă în authorized_keys pe serverul de producție are acces oricând. Regula: o cheie pe persoană și pe dispozitiv, comentariu cu numele și data, și un inventar al cheilor pe fiecare server. AllowUsers sau AllowGroups restrânge lista de conturi care pot măcar încerca să se conecteze. Pentru conturile de deploy automatizat, limitează cheia la o comandă fixă cu opțiunea command= și interzice forwarding-ul.

Setări sshd_config recomandate pentru un server de producție
SetareValoare recomandatăCe oprește
PasswordAuthenticationnoghicirea parolelor, indiferent de volum
PermitRootLoginnoacțiuni anonime ca root, țintă fixă pentru boți
AllowUsers / AllowGroupslista explicită de conturiîncercări pe conturi de sistem
MaxAuthTries3sesiuni lungi de încercări repetate
X11Forwardingnosuprafață inutilă pe un server

Comenzi și configurări

Cheie ed25519 pe stația de lucru și copiere pe server
ssh-keygen -t ed25519 -a 64 -C "ion.popescu@exemplu.md 2026-09"
ssh-copy-id -i ~/.ssh/id_ed25519.pub deploy@exemplu.md
Fragment din /etc/ssh/sshd_config.d/10-hardening.conf (funcționează doar dacă sshd_config are linia Include)
PasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
AllowGroups ssh-users
MaxAuthTries 3
X11Forwarding no
# apoi: sshd -t && systemctl reload ssh
fail2ban pentru sshd
apt install fail2ban
printf '[sshd]\nenabled = true\nmaxretry = 4\nbantime = 1h\n' > /etc/fail2ban/jail.d/sshd.local
systemctl restart fail2ban && fail2ban-client status sshd

Exemple din practică

Echipă de outsourcing din Chișinău cu 12 dezvoltatori

Toți foloseau contul root cu o singură cheie partajată prin chat. După trecerea pe conturi individuale cu sudo, un audit cerut de clientul olandez a putut arăta exact cine s-a conectat și când. Cheia comună a fost revocată în aceeași zi.

Retailer din Bălți cu contabil extern

Contabilul avea acces SSH cu parolă pentru a descărca exporturi pentru SFS. Serverul primea zeci de mii de încercări pe zi. Acum are un cont limitat la o comandă de export, cu cheie proprie, iar parolele sunt dezactivate.

Greșeli frecvente

  • Schimbi portul SSH și consideri problema rezolvată, dar lași parolele active.
  • Partajezi o cheie privată între colegi, deci nu mai știi cine a intrat.
  • Uiți cheile foștilor colaboratori în authorized_keys pe serverele mai vechi.
  • Testezi noua configurație închizând sesiunea curentă, fără o a doua sesiune deschisă de rezervă.

Cum te ajută 4hosting

  • Hardening-ul SSH intră în serviciul Hardening & Compliance; pe VPS și dedicate poți folosi orele de CyberSecurity incluse, cerute din panoul de client.
  • SIEM & Incident Response centralizează jurnalul de autentificare de pe toate serverele și alertează la conectări din adrese sau ore neobișnuite.
  • Pe VPS-urile noastre ai acces root de la început, deci aplici configurația recomandată în prima oră; suport în română și rusă.

Întrebări conexe

  • Ce fac dacă am nevoie de acces SSH cu parolă pentru un client care nu știe să folosească chei?

    Nu activa parolele pe server. Generează tu perechea de chei, trimite-i partea privată pe un canal sigur și fraza de acces pe altul, sau folosește un panou web pentru ce are nevoie. O excepție pentru un singur cont deschide ușa pentru toți.

  • Merită 2FA pe SSH dacă folosesc deja chei?

    Pentru serverele cu date sensibile, da: un al doilea factor protejează situația în care laptopul cu cheia și fraza salvată în agent este compromis. Pentru conturile de deploy automatizat nu are sens; acolo limitezi cheia la o comandă și la o adresă sursă.

Cere o verificare de securitate

Acest ghid adună într-un singur loc măsurile care contează pentru un server de producție al unei firme din Moldova: de la cheia SSH până la copia de backup pe care nimeni nu o poate șterge. Fiecare capitol trimite la o pagină de întrebare cu pași, comenzi și exemple. Este scris pentru echipe care livrează clienților din UE, raportează la instituții locale sau vând online și nu își permit o zi de indisponibilitate.

Ghiduri pentru firme din Moldova