Primul și cel mai important pas către securizarea serverelor și sistemelor Linux este prevenirea accesului nenecesar al părților rău intenționate. Controlul adecvat al contului de utilizator este una dintre multele modalități de a îmbunătăți securitatea sistemului dumneavoastră.
Un cont de utilizator consolidat previne sistemul de la cele mai comune metode de atac de escaladare a privilegiilor orizontale sau verticale. Prin urmare, în calitate de administrator de sistem Linux, sunteți, de asemenea, responsabil pentru protejarea serverului dvs. prin tehnici de securitate eficiente.
Acest articol acoperă câteva controale de bază de securitate a contului de utilizator pentru a preveni accesul inutil și pentru a remedia eventualele lacune pentru compromiterea sistemului.
1. Restricționați accesul la contul rădăcină
În mod implicit, fiecare instalare de sistem Linux creează un cont rădăcină accesibil oricui din exterior prin SSH. Cu toate acestea, accesul la contul root prin SSH sau accesul cu mai mulți utilizatori în interiorul sistemului poate cauza probleme de repudiere.
De exemplu, un atacator poate forța brută să se conecteze ca utilizator root și să obțină acces la sistem.
Pentru a restricționa accesul root inutil din interiorul/din exteriorul sistemului Linux, puteți:
- Adăugați un alt utilizator și acordați-i privilegii root
- Dezactivați autentificarea rădăcină SSH
Creați un nou superutilizator
La acordați permisiuni sudo sau root la un cont de utilizator Linux obișnuit, adăugați utilizatorul la sudo grupați după cum urmează:
usermod -aG sudo nume de utilizator
Acum comutați la contul de utilizator utilizând comanda su și verificați privilegiile sale root prin lansarea unei comenzi accesibile numai utilizatorului root:
su - nume de utilizator
sudo systemctl restart sshd
Activarea permisiunilor sudo oferă câteva beneficii bune de securitate, cum ar fi:
- Nu trebuie să partajați parolele root cu utilizatorii obișnuiți.
- Vă ajută să verificați toate comenzile rulate de utilizatorii obișnuiți, ceea ce înseamnă că stochează detaliile despre execuția comenzilor despre cine, când și unde în /var/log/secure fişier.
- În plus, puteți edita /etc/sudoers fișier pentru a limita permisiunile de superutilizator ale utilizatorilor obișnuiți. Puteți folosi comanda su -l pentru a verifica permisiunile root actuale ale unui utilizator.
Dezactivați autentificarea SSH rădăcină
Pentru a dezactiva accesul root SSH pe sistemul dvs., deschideți mai întâi fișierul de configurare principal.
sudo vim /etc/ssh/sshd_config
Acum decomentați următoarea linie pentru a seta permisiunile de conectare la root Nu:
PermitRootLogin nr
Salvați fișierul și reporniți sshd serviciu tastând:
sudo systemctl restart sshd
Acum, ori de câte ori încercați să faceți SSH în sistem ca utilizator root, veți primi următorul mesaj de eroare:
Permisiune refuzată, vă rugăm să încercați din nou.
2. Setați date de expirare pentru conturi
O altă modalitate eficientă de a controla accesul inutil este setarea unor date de expirare pentru conturile create pentru utilizare temporară.
De exemplu, dacă un stagiar sau un angajat are nevoie de acces la sistem, puteți seta o dată de expirare în timpul creării contului. Este o măsură de precauție în cazul în care uitați să eliminați sau să ștergeți manual contul după ce părăsesc organizația.
Folosește chage comanda cu utilitarul grep pentru a prelua detaliile de expirare a contului pentru utilizator:
chage -l nume de utilizator| cont grep
Ieșire:
Contul expiră: niciodată
După cum se arată mai sus, nu afișează nicio dată de expirare. Acum folosiți usermod comanda cu -e flag pentru a seta data de expirare în AAAA-LL-ZZ formatați și verificați modificarea utilizând comanda chage de mai sus.
usermod -e 2021-01-25 nume de utilizator
chage -l nume de utilizator| cont grep
3. Îmbunătățiți securitatea parolei contului
Aplicarea unei politici puternice de parole este un aspect important al securizării conturilor de utilizator, deoarece parolele slabe permit atacatorilor să pătrundă cu ușurință în sistemele dvs. forta brutaatacuri, dicționar sau tabel curcubeu.
Alegerea unei parole ușor de reținut poate oferi o oarecare comoditate, dar deschide și oportunități pentru atacatori de a ghici parolele cu ajutorul instrumentelor și listelor de cuvinte disponibile online.
Setați data de expirare a parolei
Mai mult, Linux oferă câteva opțiuni implicite în interior /etc/logins.defs fișier care vă permite să setați vechimea parolei contului. Folosește chage comandă și grep detaliile de expirare a parolei, după cum urmează:
chage -l nume de utilizator | grep zile
Variabile | Valoare implicită | Utilizare | Valoare ideală |
---|---|---|---|
PASS_MAX_DAYS | 9999 | Numărul implicit de zile pentru a utiliza o parolă, care depinde de tipul de configurare a contului dvs | 40 |
PASS_MIN_DAYS | 0 | Împiedică utilizatorii să-și schimbe imediat parola | 5 |
PASS_MIN_LEN | 5 | Forțează utilizatorul să seteze parole de o anumită lungime | 15 |
PASS_WARN_AGE | 0 | Avertizează utilizatorul să schimbe parola înainte de a fi forțat să facă acest lucru | 7 |
Pentru conturile în uz, puteți controla îmbătrânirea parolei cu ajutorul chage comandă pentru a seta PASS_MAX_DAYS, PASS_MIN_DAYS și PASS_WARN_AGE la 40, 5 și 7.
chage -M 40 -m 5 -W 7 nume de utilizator
Hash-uri parole
O altă modalitate de a întări securitatea parolei contului este stocarea hash-urilor parolei în interior fișierul /etc/shadow. Hashe-urile sunt funcții matematice unidirecționale care iau parola ca intrare și scot un șir nereversibil.
Anterior, pe sistemele Linux, ori de câte ori un utilizator introducea parola pentru a se conecta, sistemul își genera hash-ul și îl verifica cu cel stocat în /etc/passwd fişier.
Cu toate acestea, există o problemă cu accesul la permisiunea fișierului passwd, adică oricine are acces la sistem poate citi fișierul și poate sparge hash-ul cu tabelele curcubeu.
Prin urmare, Linux salvează acum hashurile din interiorul /etc/shadow fișier cu următorul set de permisiuni de acces:
ls -l /etc/shadow
1 rădăcină rădăcină 1626 7 ianuarie 13:56 /etc/shadow
Este încă posibil să instalați Linux cu vechile moduri de stocare hash-uri. Puteți modifica asta rulând programul pwconv comandă, astfel încât va salva automat hash-urile parolei în /etc/shadow fişier. În mod similar, puteți activa cealaltă metodă (/etc/passwd fișier) folosind pwunconv comanda.
4. Eliminați conturile de utilizator neutilizate
Un actor rău poate exploata conturile neutilizate și expirate în sistem, reînnoind acel cont și făcându-l să pară ca un utilizator legitim. Pentru a elimina un cont inactiv și datele asociate ori de câte ori un utilizator părăsește organizația, mai întâi, găsiți toate fișierele legate de utilizator:
găsi / -nume de utilizator
Apoi, dezactivați contul sau setați o dată de expirare, așa cum sa discutat mai sus. Nu uitați să faceți copii de rezervă ale fișierelor deținute de utilizator. Puteți alege fie să atribuiți fișiere unui nou proprietar, fie să le eliminați din sistem.
În cele din urmă, ștergeți contul de utilizator folosind comanda userdel.
userdel -f nume de utilizator
5. Restricționați accesul de la distanță la un anumit grup de utilizatori
Dacă găzduiți un server web pe computerul dvs. Linux, poate fi necesar să permiteți numai anumitor utilizatori să acceseze SSH la distanță în sistem. OpenSSL vă permite să limitați utilizatorii verificând dacă aceștia aparțin unui anumit grup.
Pentru aceasta, creați un grup de utilizatori numit ssh_gp, adăugați utilizatorii cărora doriți să acordați acces de la distanță la grup și enumerați informațiile grupului de utilizatori după cum urmează:
sudo groupadd ssh_gp
sudo gpasswd -un nume de utilizator ssh_gp
nume de utilizator pentru grupuri
Acum, deschideți fișierul de configurare principal OpenSSL pentru a include grupul de utilizatori permis ssh_gp.
sudo vim /etc/ssh/sshd_config
AllowGroups ssh_gp
Nu uitați să anulați comentariul pentru a asigura includerea cu succes a grupului. Când ați terminat, salvați și ieșiți din fișier și reporniți serviciul:
sudo systemctl restart sshd
Menținerea securității contului de utilizator pe Linux
În zilele noastre, majoritatea organizațiilor găzduiesc infrastructuri critice precum servere web, firewall-uri și baze de date Linux și compromisul oricărei componente interne reprezintă o amenințare semnificativă pentru întreg infrastructură.
Având în vedere importanța instalării, gestionarea și securizarea conturilor de utilizator este o provocare fundamentală cu care se confruntă administratorii Linux. Acest articol a enumerat câteva măsuri de securitate pe care un administrator de cont trebuie să le ia pentru a proteja sistemul împotriva potențialelor amenințări datorate conturilor de utilizator neprotejate.
Gestionarea utilizatorilor este o sarcină crucială pe care fiecare administrator de sistem Linux ar trebui să fie competent. Iată ghidul suprem de gestionare a utilizatorilor pentru Linux.
Citiți în continuare
- Linux
- Securitate
- Controlul contului utilizatorului
- Securitate
- Sfaturi de securitate

Rumaisa este un scriitor independent la MUO. Ea a purtat multe pălării, de la un matematician la un pasionat de securitate a informațiilor, iar acum lucrează ca analist SOC. Interesele ei includ citirea și scrierea despre noile tehnologii, distribuțiile Linux și orice despre securitatea informațiilor.
Aboneaza-te la newsletter-ul nostru
Alăturați-vă buletinului nostru informativ pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!
Click aici pentru a te abona