E bentornati! Domani iniziano le lezioni nel nuovo gruppo del corso , pertanto pubblichiamo un articolo utile sull'argomento.

Nel tutorial precedente abbiamo parlato di come utilizzare pam_cracklib, per complicare le password nei sistemi o CentOS. In Red Hat 7 pam_pwquality ha sostituito cracklib come pam modulo predefinito per il controllo delle password. Il modulo pam_pwquality è supportato anche in Ubuntu e CentOS, così come in molti altri OS. Questo modulo semplifica la creazione delle politiche delle password, per garantire che gli utenti seguano i vostri standard di complessità delle password.
A lungo, l'approccio comune alle password è stato quello di costringere l'utente a utilizzare caratteri maiuscoli e minuscoli, numeri o altri caratteri. Queste regole base sulla complessità delle password sono state attivamente promosse negli ultimi dieci anni. Ci sono stati molti dibattiti su se sia una buona pratica o meno. L'argomento principale contro la creazione di tali requisiti complessi era che gli utenti scrivono le password su pezzi di carta e le conservano in modo insicuro.
Un'altra politica, recentemente messa in discussione, costringe gli utenti a cambiare le proprie password ogni x giorni. Sono stati condotti alcuni studi che hanno dimostrato che questo danneggia anche la sicurezza.
Su questi dibattiti sono stati scritti molti articoli che giustificavano un punto di vista o l'altro. Ma questo non è ciò di cui parleremo in questo articolo. Questo articolo parlerà di come impostare correttamente la complessità della password, non di gestire la politica di sicurezza.
Parametri della politica delle password
Di seguito vedrete i parametri della politica delle password e una breve descrizione di ciascuno di essi. Molti di essi sono simili ai parametri nel modulo cracklib. Questo approccio semplifica il trasferimento delle vostre politiche da un vecchio sistema.
- difok – Numero di caratteri nella vostra nuova password che NON devono essere presenti nella vostra vecchia password. (Predefinito 5)
- minlen – Lunghezza minima della password. (Predefinito 9)
- ucredit – Numero massimo di crediti per l'uso di caratteri maiuscoli (se il parametro > 0), o numero minimo richiesto di caratteri maiuscoli (se il parametro < 0). Predefinito 1.
- lcredit — Numero massimo di crediti per l'utilizzo di caratteri minuscoli (se il parametro > 0), o numero minimo richiesto di caratteri minuscoli (se il parametro < 0). Di default 1.
- dcredit — Numero massimo di crediti per l'utilizzo di numeri (se il parametro > 0), o numero minimo richiesto di numeri (se il parametro < 0). Di default 1.
- ocredit — Numero massimo di crediti per l'utilizzo di altri caratteri (se il parametro > 0), o numero minimo richiesto di altri caratteri (se il parametro < 0). Di default 1.
- minclass – Imposta il numero di classi richieste. Le classi includono i parametri sopra menzionati (caratteri maiuscoli, minuscoli, numeri, altri caratteri). Di default 0.
- maxrepeat – Numero massimo di ripetizioni di un carattere nella password. Di default 0.
- maxclassrepeat — Numero massimo di caratteri consecutivi in una classe. Di default 0.
- gecoscheck – Controlla se la password contiene parole dalle righe GECOS dell'utente. (Informazioni sull'utente, cioè nome reale, posizione ecc.) Di default 0 (disattivato).
- dictpath – Percorso ai dizionari cracklib.
- badwords – Parole disallowed nella password separate da spazi (nome dell'azienda, parola "password" ecc.).
Se il concetto di crediti sembra strano, non preoccuparti, è normale. Ne parleremo più dettagliatamente nei prossimi paragrafi.
Configurazione della politica delle password
Prima di iniziare a modificare i file di configurazione, è buona pratica annotare in anticipo la politica di base delle password. Ad esempio, utilizzeremo le seguenti regole di complessità:
- La password deve avere una lunghezza minima di 15 caratteri.
- Nella password lo stesso carattere non deve ripetersi più di due volte.
- Nella password le classi di caratteri possono ripetersi fino a quattro volte.
- La password deve contenere caratteri di ciascuna classe.
- La nuova password deve avere 5 nuovi caratteri rispetto alla vecchia.
- Attivare il controllo GECOS.
- Vietare le parole "password, pass, word, putorius"
Ora, una volta esposta la politica, possiamo modificare il file /etc/security/pwquality.conf, per rafforzare i requisiti di complessità della password. Di seguito è riportato un esempio di file con commenti per una migliore comprensione.
# Make sure 5 characters in new password are new compared to old password
difok = 5
# Set the minimum length acceptable for new passwords
minlen = 15
# Require at least 2 digits
dcredit = -2
# Require at least 2 upper case letters
ucredit = -2
# Require at least 2 lower case letters
lcredit = -2
# Require at least 2 special characters (non-alphanumeric)
ocredit = -2
# Require a character from every class (upper, lower, digit, other)
minclass = 4
# Only allow each character to be repeated twice, avoid things like LLL
maxrepeat = 2
# Only allow a class to be repeated 4 times
maxclassrepeat = 4
# Check user information (Real name, etc) to ensure it is not used in password
gecoscheck = 1
# Leave default dictionary path
dictpath =
# Forbid the following words in passwords
badwords = password pass word putoriusCome puoi notare, alcuni parametri nel nostro file sono ridondanti. Ad esempio, il parametro minclass è eccessivo, poiché stiamo già utilizzando almeno due simboli dalla classe, utilizzando i campi [u,l,d,o]credit. La nostra lista di parole che non possono essere utilizzate è anche eccessiva, poiché abbiamo vietato la ripetizione di qualsiasi classe 4 volte (tutte le parole nella nostra lista sono scritte in caratteri minuscoli). Ho incluso questi parametri solo per dimostrare come usarli per configurare la politica delle password.
Una volta creata la tua politica, puoi forzare gli utenti a cambiare le proprie password al prossimo accesso in .
Un'altra cosa strana che potresti aver notato è che i campi [u,l,d,o]credit contengono un numero negativo. Questo perché i numeri maggiori o uguali a 0 daranno credito per l'uso del simbolo nella tua password. Se il campo contiene un numero negativo, significa che è richiesto un certo numero.
Cosa sono i crediti (credit)?
Li chiamo crediti perché rappresentano al meglio il loro scopo. Se il valore del parametro è maggiore di 0, aggiungi il numero di "crediti per simbolo" pari a "x" alla lunghezza della password. Ad esempio, se tutti i parametri (u,l,d,o)credit sono impostati a 1, e la lunghezza richiesta della password è 6, avrai bisogno di 6 simboli per soddisfare il requisito di lunghezza, poiché ogni simbolo maiuscolo, minuscolo, cifra o altro simbolo ti darà un credito.
Se imposti dcredit a 2, potresti teoricamente usare una password lunga 9 simboli e ottenere 2 crediti per simbolo per le cifre, quindi la lunghezza della password potrebbe già essere 10.
Guarda questo esempio. Ho impostato la lunghezza della password a 13, impostato dcredit a 2 e tutto il resto a 0.
$ pwscore
Thisistwelve
Controllo qualità password non riuscito:
La password è più corta di 13 caratteri
$ pwscore
Th1sistwelve
18Il mio primo controllo è fallito, poiché la lunghezza della password era inferiore a 13 caratteri. La prossima volta ho cambiato la lettera “I” in cifra “1” e ho ottenuto due crediti per le cifre, che equivalgono a 13.
Test della password
Pacchetto libpwquality fornisce la funzionalità descritta nell'articolo. Viene anche fornito il programma pwscore, progettato per controllare la complessità della password. L'abbiamo usato sopra, per controllare i crediti.
Utilità pwscore legge da . Basta eseguire l'utilità e scrivere la propria password, essa restituirà un errore o un valore da 0 a 100.
L'indice di qualità della password è correlato al parametro minlen nel file di configurazione. In generale, un punteggio inferiore a 50 è considerato "password normale", mentre un punteggio superiore è considerato "password sicura". Qualsiasi password che supera i controlli di qualità (in particolare il controllo forzato cracklib) deve resistere agli attacchi di dizionario, mentre una password con un punteggio superiore a 50 con l'impostazione minlen predefinita anche attacchi brute force. pwquality
Conclusione
Configurazione è facile e semplice rispetto agli inconvenienti nell'utilizzo della modifica diretta dei file. cracklib In questa guida abbiamo esaminato tutto ciò di cui avrete bisogno per configurare le politiche delle password in Red Hat 7, CentOS 7 e persino in sistemi Ubuntu. Abbiamo anche discusso del concetto di crediti, di cui si scrive raramente in modo dettagliato, quindi questo argomento è spesso rimasto poco chiaro per chi non vi si è mai confrontato. pamman page di pwquality
Fonti:
Link utili:
Fonte: habr.com
