Come forzare gli utenti a cambiare le loro password su Linux
Pubblicato: 2022-01-29Le password sono la chiave di volta per la sicurezza dell'account. Ti mostreremo come reimpostare le password, impostare i periodi di scadenza delle password e applicare le modifiche alle password sulla tua rete Linux.
La password esiste da quasi 60 anni
Abbiamo dimostrato ai computer che siamo chi diciamo di essere dalla metà degli anni '60, quando la password è stata introdotta per la prima volta. Essendo la necessità la madre dell'invenzione, il sistema di condivisione del tempo compatibile sviluppato presso il Massachusetts Institute of Technology aveva bisogno di un modo per identificare le diverse persone sul sistema. Doveva anche impedire alle persone di vedere i file degli altri.
Fernando J. Corbato ha proposto uno schema che assegnasse un nome utente univoco a ciascuna persona. Per dimostrare che qualcuno era quello che dicevano di essere, hanno dovuto usare una password privata e personale per accedere al proprio account.
Il problema con le password è che funzionano proprio come una chiave. Chiunque abbia una chiave può usarla. Se qualcuno trova, indovina o scopre la tua password, quella persona può accedere al tuo account. Fino a quando l'autenticazione a più fattori non sarà universalmente disponibile, la password è l'unica cosa che tiene le persone non autorizzate (attori di minacce, in termini di sicurezza informatica) lontane dal tuo sistema.
Le connessioni remote effettuate da Secure Shell (SSH) possono essere configurate per utilizzare le chiavi SSH invece delle password, ed è fantastico. Tuttavia, questo è solo un metodo di connessione e non copre gli accessi locali.
Chiaramente, la gestione delle password è fondamentale, così come la gestione delle persone che le utilizzano.
CORRELATI: Come creare e installare chiavi SSH dalla shell di Linux
L'anatomia di una password
Cosa rende buona una password, comunque? Bene, una buona password dovrebbe avere tutti i seguenti attributi:
- È impossibile indovinare o capire.
- Non l'hai usato da nessun'altra parte.
- Non è stato coinvolto in una violazione dei dati.
Il sito Web Have I Been Pwned (HIBP) contiene oltre 10 miliardi di set di credenziali violate. Con cifre così alte, è probabile che qualcun altro abbia utilizzato la tua stessa password. Ciò significa che la tua password potrebbe essere nel database, anche se non è stato il tuo account a essere violato.
Se la tua password si trova sul sito Web HIBP, significa che è nell'elenco delle password che gli strumenti di attacco a forza bruta e dizionario degli attori delle minacce utilizzano quando tentano di violare un account.
Una password veramente casuale (come 4HW@HpJDBr%*Wt@#b~aP) è praticamente invulnerabile, ma, ovviamente, non la ricorderesti mai. Ti consigliamo vivamente di utilizzare un gestore di password per gli account online. Generano password complesse e casuali per tutti i tuoi account online e non devi ricordarle: il gestore delle password ti fornisce la password corretta.
Per gli account locali, ogni persona deve generare la propria password. Dovranno anche sapere qual è una password accettabile e cosa no. Dovrà essere detto loro di non riutilizzare le password su altri account e così via.
Queste informazioni si trovano in genere nella politica delle password di un'organizzazione. Indica alle persone di utilizzare un numero minimo di caratteri, mescolare lettere maiuscole e minuscole, includere simboli e punteggiatura e così via.
Tuttavia, secondo un nuovissimo documento di un team della Carnegie Mellon University, tutti questi trucchi aggiungono poco o nulla alla robustezza di una password. I ricercatori hanno scoperto che i due fattori chiave per la robustezza delle password sono che sono lunghe almeno 12 caratteri e sufficientemente forti. Hanno misurato la sicurezza della password utilizzando una serie di programmi di cracker software, tecniche statistiche e reti neurali.
All'inizio un minimo di 12 caratteri potrebbe sembrare scoraggiante. Tuttavia, non pensare in termini di password, ma piuttosto di una passphrase di tre o quattro parole non correlate separate da punteggiatura.
Ad esempio, Experte Password Checker ha affermato che ci sarebbero voluti 42 minuti per decifrare "chicago99", ma 400 miliardi di anni per decifrare "chimney.purple.bag". È anche facile da ricordare e digitare e contiene solo 18 caratteri.
CORRELATI: Perché dovresti usare un gestore di password e come iniziare
Revisione delle impostazioni correnti
Prima di modificare qualsiasi cosa che abbia a che fare con la password di una persona, è prudente dare un'occhiata alle sue impostazioni correnti. Con il comando passwd
, puoi rivedere le loro impostazioni correnti con la sua opzione -S
(stato). Nota che dovrai anche usare sudo
con passwd
se stai lavorando con le impostazioni della password di qualcun altro.
Digitiamo quanto segue:
sudo passwd -S mary
Una singola riga di informazioni viene stampata sulla finestra del terminale, come mostrato di seguito.
Vedi le seguenti informazioni (da sinistra a destra) in quella breve risposta:
- Il nome di accesso della persona.
- Qui compare uno dei tre possibili indicatori seguenti:
- P: indica che l'account ha una password valida e funzionante.
- L: Significa che l'account è stato bloccato dal proprietario dell'account root.
- NP: Non è stata impostata una password.
- La data dell'ultima modifica della password.
- Età minima password: il periodo di tempo minimo (in giorni) che deve trascorrere tra la reimpostazione della password eseguita dal proprietario dell'account. Il proprietario dell'account root, tuttavia, può sempre modificare la password di chiunque. Se questo valore è 0 (zero), non vi è alcuna restrizione sulla frequenza delle modifiche della password.
- Età massima della password: al proprietario dell'account viene richiesto di modificare la propria password quando raggiunge questa età. Questo valore è espresso in giorni, quindi un valore di 99.999 significa che la password non scade mai.
- Periodo di avviso per la modifica della password: se viene applicata un'età massima della password, il proprietario dell'account riceverà promemoria per modificare la propria password. Il primo di questi verrà inviato il numero di giorni qui indicato prima della data di ripristino.
- Periodo di inattività per la password: se qualcuno non accede al sistema per un periodo di tempo che coincide con la scadenza per la reimpostazione della password, la password di questa persona non verrà modificata. Questo valore indica quanti giorni il periodo di grazia segue la data di scadenza della password. Se l'account rimane inattivo per questo numero di giorni dopo la scadenza di una password, l'account viene bloccato. Un valore di -1 disabilita il periodo di grazia.
Impostazione di un'età massima della password
Per impostare un periodo di reimpostazione della password, puoi utilizzare l'opzione -x
(giorni massimi) con un numero di giorni. Non lasci uno spazio tra -x
e le cifre, quindi dovresti digitarlo come segue:
sudo passwd -x45 mary
Ci è stato detto che il valore di scadenza è stato modificato, come mostrato di seguito.
Utilizzare l'opzione -S
(stato) per verificare che il valore sia ora 45:
sudo passwd -S mary
Ora, tra 45 giorni, è necessario impostare una nuova password per questo account. I promemoria inizieranno sette giorni prima. Se una nuova password non viene impostata in tempo, questo account verrà bloccato immediatamente.
Imporre una modifica immediata della password
Puoi anche usare un comando in modo che gli altri sulla tua rete debbano cambiare le loro password la prossima volta che accedono. Per fare ciò, dovresti usare l'opzione -e
(scadenza), come segue:
sudo passwd -e mary
Ci viene quindi detto che le informazioni sulla scadenza della password sono cambiate.
Controlliamo con l'opzione -S
e vediamo cosa è successo:
sudo passwd -S mary
La data dell'ultima modifica della password è fissata al primo giorno del 1970. La prossima volta che questa persona proverà ad accedere, dovrà cambiare la propria password. Devono inoltre fornire la password corrente prima di poterne digitare una nuova.
Dovresti applicare le modifiche alla password?
Obbligare le persone a cambiare regolarmente le proprie password era un fatto di buon senso. Era uno dei passaggi di sicurezza di routine per la maggior parte delle installazioni ed era considerato una buona pratica commerciale.
Il pensiero ora è l'esatto opposto. Nel Regno Unito, il National Cyber Security Center sconsiglia vivamente di imporre il rinnovo regolare delle password e il National Institute of Standards and Technology negli Stati Uniti è d'accordo. Entrambe le organizzazioni consigliano di imporre una modifica della password solo se si conosce o si sospetta che una esistente sia nota ad altri.
Costringere le persone a cambiare le proprie password diventa monotono e incoraggia password deboli. Le persone di solito iniziano a riutilizzare una password di base con una data o un altro numero etichettati su di essa. Oppure li scriveranno perché devono cambiarli così spesso che non riescono a ricordarli.
Le due organizzazioni che abbiamo menzionato sopra raccomandano le seguenti linee guida per la sicurezza delle password:
- Usa un gestore di password: sia per gli account online che per quelli locali.
- Attiva l'autenticazione a due fattori: ovunque questa sia un'opzione, usala.
- Usa una passphrase forte: un'ottima alternativa per quegli account che non funzionano con un gestore di password. Tre o più parole separate da segni di punteggiatura o simboli sono un buon modello da seguire.
- Non riutilizzare mai una password: evita di utilizzare la stessa password che usi per un altro account e sicuramente non usarne una elencata in Have I Been Pwned.
I suggerimenti di cui sopra ti permetteranno di stabilire un mezzo sicuro per accedere ai tuoi account. Una volta che hai queste linee guida in atto, attieniti ad esse. Perché cambiare la password se è forte e sicura? Se cade nelle mani sbagliate, o sospetti che sia successo, puoi cambiarlo.
A volte, questa decisione è fuori dalle tue mani, però. Se i poteri che impongono le modifiche alla password, non hai molta scelta. Puoi perorare la tua causa e rendere nota la tua posizione, ma a meno che tu non sia il capo, dovrai seguire la politica aziendale.
CORRELATI: Dovresti cambiare le tue password regolarmente?
Il comando di cambio
È possibile utilizzare il comando chage
per modificare le impostazioni relative all'invecchiamento della password. Questo comando prende il nome da "cambia invecchiamento". È come il comando passwd
con gli elementi di creazione della password rimossi.
L'opzione -l
(list) presenta le stesse informazioni del comando passwd -S
, ma in modo più amichevole.
Digitiamo quanto segue:
sudo chage -l eric
Un altro tocco di classe è che puoi impostare una data di scadenza dell'account utilizzando l'opzione -E
(scadenza). Passeremo una data (nel formato anno-mese-data) per impostare una data di scadenza del 30 novembre 2020. In quella data, l'account verrà bloccato.
Digitiamo quanto segue:
sudo chage eric -E 2020-11-30
Quindi, digitiamo quanto segue per assicurarci che questa modifica sia stata eseguita:
sudo chage -l eric
Vediamo che la data di scadenza dell'account è cambiata da "mai" al 30 novembre 2020.
Per impostare un periodo di scadenza della password, puoi utilizzare l'opzione -M
(giorni massimi), insieme al numero massimo di giorni che una password può utilizzare prima che debba essere modificata.
Digitiamo quanto segue:
sudo chage -M 45 mary
Digitiamo quanto segue, usando l'opzione -l
(list), per vedere l'effetto del nostro comando:
sudo chage -l mary
La data di scadenza della password è ora impostata a 45 giorni dalla data in cui l'abbiamo impostata, che, come mostrato, sarà l'8 dicembre 2020.
Apportare modifiche alla password per tutti su una rete
Quando vengono creati gli account, per le password viene utilizzata una serie di valori predefiniti. È possibile definire quali sono le impostazioni predefinite per i giorni minimo, massimo e di avviso. Questi vengono quindi conservati in un file chiamato "/etc/login.defs".
Puoi digitare quanto segue per aprire questo file in gedit
:
sudo gedit /etc/login.defs
Scorri fino ai controlli di invecchiamento della password.
Puoi modificarli in base alle tue esigenze, salvare le modifiche e quindi chiudere l'editor. La prossima volta che crei un account utente, questi valori predefiniti verranno applicati.
Se desideri modificare tutte le date di scadenza delle password per gli account utente esistenti, puoi farlo facilmente con uno script. Basta digitare quanto segue per aprire l'editor gedit
e creare un file chiamato "password-date.sh":
sudo gedit password-date.sh
Quindi, copia il seguente testo nel tuo editor, salva il file e quindi chiudi gedit
:
#!/bin/bash reset_giorni=28 per nome utente in $(ls /home) fare sudo chage $nomeutente -M $reset_giorni echo $username scadenza password modificata in $reset_days fatto
Ciò modificherà il numero massimo di giorni per ciascun account utente a 28 e, di conseguenza, la frequenza di reimpostazione della password. È possibile regolare il valore della variabile reset_days
per adattarlo.
Innanzitutto, digitiamo quanto segue per rendere eseguibile il nostro script:
chmod +x password-data.sh
Ora possiamo digitare quanto segue per eseguire il nostro script:
sudo ./password-date.sh
Ogni account viene quindi elaborato, come mostrato di seguito.
Digitiamo quanto segue per controllare l'account per "mary":
sudo change -l mary
Il valore massimo dei giorni è stato impostato su 28 e ci è stato detto che cadrà il 21 novembre 2020. Puoi anche modificare facilmente lo script e aggiungere più comandi chage
o passwd
.
La gestione delle password è qualcosa che deve essere presa sul serio. Ora hai gli strumenti di cui hai bisogno per prendere il controllo.