Come imposto una politica di complessità della password?


14

Devo configurare un server Ubuntu per seguire una severa politica di password aziendale che specifica quanto segue:

  • almeno una maiuscola
  • almeno una minuscola
  • almeno una cifra
  • almeno un personaggio speciale

Ho dato un'occhiata in giro e tutto ciò che ho trovato sono le istruzioni per specificare la lunghezza della password; ma, devo ancora trovare qualcosa che si riferisce alla specifica del contenuto della password per quanto riguarda i punti di cui sopra.

Qualsiasi aiuto sarebbe apprezzato.

Risposte:


19

La complessità della password viene applicata dal pam_cracklibmodulo.

Per modificare la politica della password per il tuo computer locale, dovrai modificare il tuo /etc/pam.d/common-passwordfile.

Da una finestra del terminale ( Ctrl+ Alt+ T), immettere il seguente comando:

sudo -i gedit /etc/pam.d/common-password

Aggiungere la seguente riga al file (prima pam_unix.soo qualunque modulo PAM sia utilizzato principalmente per l'autenticazione, come si può vedere dagli esempi nella manpage) e salvare il file:

password requisite pam_cracklib.so ucredit=-1 lcredit=-1 dcredit=-1  ocredit=-1

Questa dichiarazione implementa i seguenti requisiti di password:

  • dcredit == cifra
  • ucredit == carattere maiuscolo
  • lcredit == carattere minuscolo
  • ocredit== altro carattere (caratteri speciali, incluso ! , @ # $ %)

Questo dovrebbe soddisfare le tue esigenze.

È inoltre possibile utilizzare le variabili minlengthe retrieslimitare ulteriormente i requisiti della password.

Ecco un altro buon esempio di come modificare una politica di password in questo modo sarebbe inserire la seguente riga nel /etc/pam.d/common-passwordfile:

password requisite pam_cracklib.so retry=3 minlen=10 difok=3 ucredit=-1 lcredit=-1 dcredit=-1  ocredit=-1

Questa voce imposterà un massimo di tre tentativi per ottenere una password accettabile con una lunghezza minima di 10 caratteri.

Questo imposta il requisito per gli utenti di avere almeno tre caratteri diversi dall'ultima password.

Ciò soddisferà anche il requisito di avere una password che contenga almeno una cifra, un carattere minuscolo e uno maiuscolo.

Vedi anche questo articolo sull'impostazione di regole di policy password più forti in Linux .


3
Risposta eccellente! Aggiungerei, per quanto riguarda i tentativi, che è importante fare attenzione quando si considera un criterio per impedire agli utenti di accedere che hanno troppi recenti tentativi di accesso falliti. Questo può portare alla fattibilità di uno degli attacchi denial of service più semplici ed eseguiti più facilmente su un account (prova a non riuscire ad accedere X il numero di volte fino a quando l'account non viene "bloccato" e quindi l'utente legittimo non può entrare) .
Eliah Kagan,

Risposta fantastica, grazie :) Una domanda però, sembra che l' rootutente sia in grado di ignorare i requisiti della password ... È possibile imporre questo anche per l'utente root?
Stephen RC,

@Valorin Quale parte dei requisiti della password non viene rispettata dall'utente root?
Kevin Bowen il

@maggotbrain Qualunque cosa, emette un avviso ma lo salva ancora, questa era la password 'rullante': paste.ubuntu.com/1543154
Stephen RC,

@Valorin Quindi, hai abilitato l'account chiamato 'root' e puoi usare questo account con questa password, giusto? Quali avvisi ricevi? Sfortunatamente, non ho una macchina con un account root abilitato per testarlo da solo. Sembra un bug, ma hanno bisogno di maggiori informazioni.
Kevin Bowen,

0

C'è un fork di pam_cracklib di Tomas Mraz: pam_pwquality con opzioni leggermente migliori.

Aggiungilo con apt install libpam-pwquality o passwd si lamenterà:

Il modulo è sconosciuto

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.