Cum să forțați utilizatorii să-și schimbe parolele pe Linux

Parolele reprezintă elementul fundamental al securității conturilor. Acest articol explorează metodele de resetare, configurare a perioadelor de expirare și impunerea modificărilor parolelor în cadrul rețelelor Linux.

Scurt Istoric al Parolălor

De aproape șase decenii, parolele sunt folosite ca metodă de autentificare, introduse pentru prima dată la mijlocul anilor ’60. Sistemul de partajare a timpului, dezvoltat la Institutul de Tehnologie din Massachusetts, a fost primul care a necesitat o metodă de identificare a utilizatorilor și de protejare a fișierelor acestora.

Fernando J. Corbató a implementat un sistem prin care fiecărui utilizator i se aloca un nume unic, iar accesul la cont era protejat printr-o parolă privată, personală. Această practică a devenit rapid standardul.

O problemă majoră cu parolele este asemănarea lor cu o cheie fizică: oricine o deține, poate accesa contul. Dacă o parolă este descoperită, ghicită sau aflată, contul este compromis. Până când autentificarea multifactorială va deveni universală, parolele rămân principalul mijloc de protecție împotriva accesului neautorizat.

Deși conexiunile la distanță prin SSH pot folosi chei SSH, eliminând necesitatea parolelor, aceasta nu acoperă autentificările locale. Astfel, gestionarea eficientă a parolelor devine o necesitate vitală.

Elementele Cheie ale unei Parole Sigure

O parolă sigură ar trebui să îndeplinească următoarele criterii:

  • Să fie imposibil de ghicit sau de dedus.
  • Să nu fie folosită pe alte platforme.
  • Să nu fi fost implicată în vreo breșă de securitate.

Platforme precum Have I Been Pwned (HIBP) au înregistrat peste 10 miliarde de acreditări compromise, indicând un risc semnificativ de a folosi o parolă deja compromisă, chiar dacă contul specific nu a fost vizat. Parolele existente în baza de date HIBP sunt vulnerabile la atacurile de tip „brute force” și „dictionary attacks”.

Parolele complet aleatorii sunt aproape invulnerabile, dar dificil de memorat. Utilizarea unui manager de parole este recomandată pentru conturile online, generând parole complexe și unice pentru fiecare cont. Pentru conturile locale, fiecare utilizator trebuie să își genereze propria parolă, în conformitate cu politicile de securitate ale organizației. Aceste politici specifică de obicei cerințe precum lungimea minimă, combinarea majusculelor și minusculelor, simbolurilor și semnelor de punctuație.

Un studiu recent de la Universitatea Carnegie Mellon sugerează că lungimea parolei, de cel puțin 12 caractere, și complexitatea acesteia sunt factorii cheie pentru o parolă sigură. O expresie de acces formată din trei sau patru cuvinte fără legătură, separate prin semne de punctuație, poate fi o alternativă eficientă și ușor de memorat la o parolă complexă. De exemplu, „chimney.purple.bag” este mult mai greu de spart decât „chicago99”, deși are doar 18 caractere și este ușor de reținut.

Gestionarea Parolălor în Linux

Verificarea Setărilor Actuale ale Parolălor

Înainte de a modifica setările parolelor, este esențial să verificăm setările actuale ale acestora. Comanda `passwd` cu opțiunea `-S` (stare) permite vizualizarea acestor setări. Această comandă necesită utilizarea `sudo` dacă se modifică setările altui utilizator.

sudo passwd -S mary

Rezultatul comenzii va afișa informații despre:

  • Numele de conectare al utilizatorului.
  • Starea parolei (P – validă, L – blocată, NP – nesetat).
  • Data ultimei modificări a parolei.
  • Vârsta minimă a parolei (zile).
  • Vârsta maximă a parolei (zile).
  • Perioada de avertizare privind modificarea parolei (zile).
  • Perioada de inactivitate a parolei (zile).

Setarea Duratei Maxime de Viață a Parolei

Pentru a seta o perioadă de timp după care parola trebuie resetată, se utilizează opțiunea `-x` (maximum de zile):

sudo passwd -x45 mary

În acest exemplu, parola utilizatorului `mary` va trebui schimbată după 45 de zile. Utilizarea opțiunii `-S` va confirma noua valoare. Mementourile pentru schimbarea parolei vor începe cu șapte zile înainte de expirarea acesteia, iar dacă nu se efectuează schimbarea, contul va fi blocat.

Impunerea Schimbării Imediate a Parolei

Pentru a impune utilizatorilor să-și schimbe parolele la următoarea autentificare, se folosește opțiunea `-e` (expire):

sudo passwd -e mary

Această comandă va reseta data ultimei modificări a parolei la o dată implicită (1 ianuarie 1970), forțând utilizatorul să își schimbe parola la următoarea conectare.

Practicile Recomandate pentru Securitatea Parolălor

Deși impunerea schimbărilor regulate de parole a fost o practică obișnuită, abordarea modernă este diferită. Organizații precum Centrul Național de Securitate Cibernetică din Marea Britanie și Institutul Național de Standarde și Tehnologie din SUA descurajează această practică, recomandând schimbarea parolei doar în cazul unei suspiciuni de compromitere.

Schimbarea frecventă a parolelor poate duce la parole slabe sau la reutilizarea parolelor pe diferite conturi, ceea ce crește vulnerabilitatea la atacuri cibernetice.

Recomandările actuale pentru securitatea parolelor sunt:

  • Utilizarea unui manager de parole pentru conturile online și locale.
  • Activarea autentificării cu doi factori.
  • Utilizarea de expresii de acces puternice pentru conturile care nu sunt compatibile cu managerii de parole.
  • Evitarea reutilizării parolelor.

Comanda `chage`

Comanda `chage` oferă posibilitatea de a modifica setările legate de expirarea parolei, excluzând procesul de creare a parolei. Opțiunea `-l` (listă) afișează informațiile despre vechimea parolei într-un format mai ușor de citit.

sudo chage -l eric

Opțiunea `-E` (expirare) permite setarea unei date de expirare a contului:

sudo chage eric -E 2020-11-30

Această comandă va bloca accesul la contul lui `eric` după data de 30 noiembrie 2020. Opțiunea `-M` (maximum de zile) este folosită pentru a seta o perioadă maximă de valabilitate a parolei:

sudo chage -M 45 mary

Această comandă impune schimbarea parolei utilizatorului `mary` la fiecare 45 de zile.

Modificarea Setărilor Implicite ale Parolelor

Setările implicite pentru vechimea parolelor sunt stocate în fișierul `/etc/login.defs`. Pentru a vizualiza și modifica aceste setări:

sudo gedit /etc/login.defs

Se pot modifica valorile pentru durata minimă, maximă și de avertizare a parolelor. Aceste modificări vor afecta conturile noi create.

Schimbarea Duratei de Viață a Parolălor pentru Toți Utilizatorii

Pentru a modifica durata de viață a parolelor pentru toți utilizatorii existenți, se poate folosi un script. Se va crea un fișier numit `password-date.sh`:

sudo gedit password-date.sh

Cu conținutul:

#!/bin/bash

reset_days=28

for username in $(ls /home)
do
  sudo chage $username -M $reset_days
  echo $username password expiry changed to $reset_days
done

Scriptul va modifica durata de viață a parolelor tuturor utilizatorilor la 28 de zile. Scriptul trebuie să fie făcut executabil:

chmod +x password-date.sh

Și apoi rulat:

sudo ./password-date.sh

În concluzie, gestionarea eficientă a parolelor este crucială pentru securitatea sistemelor Linux. Acest articol a prezentat metodele și instrumentele necesare pentru a gestiona parolele într-un mod eficient și sigur.