Skip to main content

Cyber AI România

Luni, 28 septembrie 2026

Cum limitezi accesul SSH doar pentru anumiți utilizatori sau anumite IP-uri

Un server Linux poate avea mai multe conturi locale, dar asta nu înseamnă că toate trebuie să se poată conecta prin SSH. Poți permite accesul doar administratorilor autorizați, doar membrilor unui grup sau numai conexiunilor venite din anumite adrese IP.

Restricția poate fi aplicată în două locuri: în configurația OpenSSH, pentru control după utilizator, și în firewall, pentru blocarea traficului înainte să ajungă la serviciul SSH. Pe un server important este util să le combini.

Păstrează sesiunea SSH actuală deschisă până când testezi configurația dintr-un al doilea terminal. O regulă greșită te poate bloca în afara serverului.

Verifică utilizatorii care au nevoie de acces

Să presupunem că numai utilizatorii ion și maria trebuie să administreze serverul.

Verifică existența conturilor:

id ion
id maria

Vezi cine este conectat acum:

who

Înainte de modificare, caută reguli SSH deja existente:

sudo grep -RniE \
'^(Allow|Deny)(Users|Groups)' \
/etc/ssh/sshd_config \
/etc/ssh/sshd_config.d/

Acest pas este important deoarece regulile existente se pot combina cu cele noi.

Permite SSH doar anumitor utilizatori

Pe Ubuntu, configurațiile personalizate pot fi păstrate separat în /etc/ssh/sshd_config.d/, fără să modifici direct fișierul principal. OpenSSH oferă directiva AllowUsers, care permite autentificarea numai utilizatorilor enumerați.

Creează fișierul:

sudo nano /etc/ssh/sshd_config.d/00-access-control.conf

Adaugă:

AllowUsers ion maria
PermitRootLogin no

Din acel moment, alte conturi locale nu vor mai putea intra prin SSH, chiar dacă au parolă sau cheie configurată. Accesul local prin consolă nu este eliminat.

Verifică sintaxa înainte să aplici modificările:

sudo sshd -t

Dacă nu apare nicio eroare, reîncarcă serviciul:

sudo systemctl reload ssh

Ubuntu recomandă testarea configurației cu sshd -t înainte de restart sau reload, tocmai pentru a evita pierderea accesului remote.

Folosește un grup dedicat administratorilor

Pentru mai multe persoane, un grup este mai ușor de administrat decât o listă lungă de utilizatori.

Creează grupul:

sudo groupadd ssh-admins

Adaugă administratorii:

sudo usermod -aG ssh-admins ion
sudo usermod -aG ssh-admins maria

Verifică:

getent group ssh-admins

În configurația SSH folosește:

AllowGroups ssh-admins
PermitRootLogin no

Directiva AllowGroups permite autentificarea numai utilizatorilor care aparțin grupurilor indicate. Sunt luate în calcul atât grupul principal, cât și grupurile suplimentare ale utilizatorului.

Nu folosi simultan AllowUsers și AllowGroups fără să înțelegi efectul: utilizatorul trebuie să treacă toate restricțiile aplicabile.

Restricționează un utilizator la o anumită adresă IP

AllowUsers acceptă și forma UTILIZATOR@ADRESĂ. Poți permite accesul utilizatorului ion numai dintr-un IP fix:

AllowUsers ion@203.0.113.10

Pentru o rețea întreagă:

AllowUsers ion@203.0.113.0/24

Pentru doi administratori din locații diferite:

AllowUsers ion@203.0.113.10 maria@198.51.100.0/24

OpenSSH acceptă în această regulă atât adrese individuale, cât și rețele exprimate în format CIDR.

Folosește IP-uri reale, verificate. Adresele din exemple sunt rezervate documentației și nu trebuie copiate ca atare.

Limitează portul SSH și prin UFW

Firewall-ul este locul mai potrivit pentru blocarea conexiunilor venite din exterior. Mai întâi adaugă regula nouă:

sudo ufw allow from IP_ADMIN \
to any port 22 proto tcp

Exemplu pentru o rețea:

sudo ufw allow from 192.0.2.0/24 \
to any port 22 proto tcp

Verifică regulile numerotate:

sudo ufw status numbered

Testează conectarea dintr-un terminal nou. Numai după confirmare elimină regula generală care permite SSH de oriunde:

sudo ufw delete allow OpenSSH

UFW permite reguli care combină adresa sursă cu un anumit serviciu sau port.

Verifică separat și firewall-ul furnizorului VPS, Security Group-ul sau regulile cloud. O regulă locală corectă nu compensează un port 22 permis global în infrastructura furnizorului.

Confirmă că restricția funcționează

Dintr-un IP permis:

ssh ion@IP_SERVER

Dintr-un utilizator nepermis, autentificarea trebuie refuzată:

ssh test@IP_SERVER

Verifică logurile:

sudo journalctl -u ssh -n 50 --no-pager

sau, pe Ubuntu și Debian:

sudo tail -n 50 /var/log/auth.log

Dacă ai adresă IP dinamică, nu limita SSH la un singur IP rezidențial fără să ai consolă de recuperare. O variantă mai sigură este accesul prin VPN, o rețea de administrare sau un IP fix.

Configurația recomandată pentru un server de firmă este clară: cont separat pentru fiecare administrator, grup SSH dedicat, autentificare prin chei, root login dezactivat și portul 22 permis numai din sursele necesare.

Surse folosite

OpenSSH Manual — AllowUsers, AllowGroups, adrese CIDR și blocuri condiționale.

Ubuntu Server Documentation — configurarea OpenSSH și testarea cu sshd -t.

Ubuntu Server Documentation — reguli UFW limitate după adresa sursă.

Facebook
X
WhatsApp

Te-ar putea interesa si: