Come imposti i requisiti (come la lunghezza minima) per le password?


18

Esiste un modo per impostare requisiti minimi di passcode, come una lunghezza minima, requisiti di caratteri alfanumerici a caso misto e almeno 1 simbolo nel passcode e imporre che al cambio del passcode?

Risposte:


21

La complessità della password in Ubuntu è controllata da PAM. Sfortunatamente, PAM è "tipicamente Unix" come nel suo approccio. Ciò significa che diffonde la sua configurazione attraverso un gran numero di file molto confusi.

Il file che controlla la complessità della password è:

/etc/pam.d/common-password

C'è una linea:

password [success=1 default=ignore] pam_unix.so obscure sha512

Che definisce le regole di base per la complessità della password. È possibile aggiungere una sostituzione di lunghezza minima modificandola in:

password [success=1 default=ignore] pam_unix.so obscure sha512 minlen=12

o qualunque minimo tu voglia. Come puoi vedere, il default definisce già alcune regole di oscurità di base. Queste regole di base sono disponibili in:

man pam_unix

Cerca "oscuro".

Esistono numerosi moduli pam che possono essere installati.

apt-cache search libpam-

Dovresti mostrarteli.

Avrai bisogno di dare la caccia alla documentazione per loro, temo. Ma il "cracklib" è un'aggiunta comune.

AGGIORNAMENTO: Avrei dovuto sottolineare che il parametro "oscuro" predefinito include test di complessità basati su password e semplicità precedenti (lunghezza, numero di diversi tipi di carattere). L'esempio nella manpage mostra cracklib in azione. Installa libpam_cracklib per farlo funzionare.

Inoltre, una volta che hai capito cosa cambiare, le modifiche sono le stesse in altri file in modo da poter applicare gli stessi (o diversi) controlli password per SSH e altre applicazioni.


In base alla ricerca man pam_unix, la lunghezza minima predefinita della password è di 6 caratteri minlen.
Timo,

questo non funziona per Ubuntu 18.04 - anche con questa impostazione posso mettere qualsiasi password che voglio (breve, palindromo, ..) - Devo solo ripetere tale password 4x :(
xhudik,

Quando dici "non funziona", non è chiaro cosa intendi. Vuoi dire che non lavoro, ma che ripetere la password breve 4 volte è una sorta di "bypass" - in caso affermativo, con rispetto, vi sbagliate, che è ancora un codice di protezione forte. Altrimenti, potresti chiarire, per favore?
Julian Knight,

1

I valori della password sono controllati nel file

/etc/pam.d/common-password

Per ulteriori informazioni su come modificare il file, consultare la manpage pam_unix


1
Hai elencato pam_unix (5), la pagina corretta è pam_unix (8) linux.die.net/man/8/pam_unix . In effetti, le versioni online della manpage, per qualche motivo, non sembrano elencare la sezione importante sul parametro "oscuro" - quella che ho incluso nella mia risposta. Se fai un man pam_unix, sarai in grado di vederlo però.
Julian Knight,

1
@JulianKnight Grazie per il commento. Ho corretto il collegamento :)
Mitch

1

I moduli PAM preinstallati consentono di impostare requisiti di base alla luce della complessità. C'è un bel modulo che è il successore del modulo pam_cracklib - pam_pwquality. Per installarlo digitare quanto segue

apt-get install libpam-pwquality

quindi familiarizzare con questo

man pam_pwquality

soprattutto con la sezione "Opzioni".

Ora puoi modificare la password comune in /etc/pam.d/

vi /etc/pam.d/common-password

trova la riga che contiene la seguente istruzione "password richiesta pam_pwquality.so" e dopo pam_pwquality.so allega le tue opzioni in questo modo

password        requisite         pam_pwquality.so minlen=16 ucredit=-4 retry=3

che significa "la dimensione minima della password è di 16 caratteri, di cui almeno 4 in maiuscolo. Richiedi la password all'utente 3 volte.

pam_pwquality ti consente di creare requisiti di password molto più complessi in combinazione con altri moduli come pam_pwhistory. In bocca al lupo

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.