Creació d'una política de contrasenyes a Linux

Hola de nou! Demà comencen les classes del nou grup del curs "Administrador Linux", en aquest sentit, publiquem un article útil sobre el tema.

Creació d'una política de contrasenyes a Linux

En el tutorial anterior us vam explicar com utilitzar-lo pam_cracklibper fer que les contrasenyes dels sistemes siguin més complexes Barret vermell 6 o CentOS. A Red Hat 7 pam_pwquality reemplaçat cracklib en qualitat pam mòdul predeterminat per comprovar les contrasenyes. Mòdul pam_pwquality també és compatible amb Ubuntu i CentOS, així com molts altres sistemes operatius. Aquest mòdul facilita la creació de polítiques de contrasenya per garantir que els usuaris acceptin els estàndards de seguretat de la vostra contrasenya.

Durant molt de temps, l'enfocament habitual de les contrasenyes va ser obligar l'usuari a utilitzar majúscules, minúscules, números o altres símbols. Aquestes regles bàsiques per a la complexitat de la contrasenya s'han promocionat àmpliament durant els darrers deu anys. Hi ha hagut molta discussió sobre si aquesta és una bona pràctica o no. L'argument principal en contra d'establir condicions tan complexes era que els usuaris escriurien les contrasenyes en trossos de paper i les emmagatzemen de manera insegura.

Una altra política que s'ha posat en dubte recentment obliga els usuaris a canviar les seves contrasenyes cada x dies. Hi ha alguns estudis que han demostrat que això també és perjudicial per a la seguretat.

S'han escrit molts articles sobre el tema d'aquestes discussions, que corroboren un punt de vista o un altre. Però això no és el que parlarem en aquest article. Aquest article parlarà de com configurar correctament la complexitat de la contrasenya en lloc de gestionar la política de seguretat.

Configuració de la política de contrasenyes

A continuació, veureu les opcions de política de contrasenyes i una breu descripció de cadascuna. Molts d'ells són similars als paràmetres del mòdul cracklib. Aquest enfocament fa que sigui més fàcil portar les vostres polítiques des del sistema heretat.

  • ho sento – El nombre de caràcters de la contrasenya nova que NO haurien d'estar presents a la contrasenya antiga. (5 per defecte)
  • minlen – Longitud mínima de la contrasenya. (9 per defecte)
  • ucredit – El nombre màxim de crèdits per utilitzar caràcters en majúscules (si el paràmetre és > 0) o el nombre mínim requerit de caràcters en majúscules (si el paràmetre < 0). El valor per defecte és 1.
  • lcrèdit — El nombre màxim de crèdits per utilitzar caràcters en minúscules (si el paràmetre és > 0) o el nombre mínim requerit de caràcters en minúscules (si el paràmetre < 0). El valor per defecte és 1.
  • dcrèdit — El nombre màxim de crèdits per utilitzar dígits (si el paràmetre és > 0) o el nombre mínim requerit de dígits (si el paràmetre < 0). El valor per defecte és 1.
  • ell creu — El nombre màxim de crèdits per utilitzar altres símbols (si el paràmetre > 0), o el nombre mínim requerit d'altres símbols (si el paràmetre < 0). El valor per defecte és 1.
  • minclass – Estableix el nombre de classes necessàries. Les classes inclouen els paràmetres anteriors (caràcters en majúscules, caràcters en minúscules, números, altres caràcters). El valor per defecte és 0.
  • repetició màxima – El nombre màxim de vegades que es pot repetir un caràcter en una contrasenya. El valor per defecte és 0.
  • maxclassrepeat — El nombre màxim de caràcters consecutius en una classe. El valor per defecte és 0.
  • gecoscheck – Comprova si la contrasenya conté paraules de les cadenes GECOS de l'usuari. (Informació de l'usuari, és a dir, nom real, ubicació, etc.) El valor per defecte és 0 (desactivat).
  • dictpath – Anem als diccionaris cracklib.
  • paraulotes – Paraules separades per espais que estan prohibides a les contrasenyes (Nom de l'empresa, la paraula “contrasenya”, etc.).

Si el concepte de préstec sona estrany, està bé, és normal. En parlarem més sobre això a les seccions següents.

Configuració de la política de contrasenyes

Abans de començar a editar els fitxers de configuració, és una bona pràctica escriure una política bàsica de contrasenyes per endavant. Per exemple, utilitzarem les següents regles de dificultat:

  • La contrasenya ha de tenir una longitud mínima de 15 caràcters.
  • El mateix caràcter no s'ha de repetir més de dues vegades a la contrasenya.
  • Les classes de caràcters es poden repetir fins a quatre vegades en una contrasenya.
  • La contrasenya ha de contenir caràcters de cada classe.
  • La contrasenya nova ha de tenir 5 caràcters nous en comparació amb l'antiga.
  • Activa la comprovació GECOS.
  • Prohibir les paraules "contrasenya, passar, paraula, putorius"

Ara que hem establert la política, podem editar el fitxer /etc/security/pwquality.confper augmentar els requisits de complexitat de la contrasenya. A continuació es mostra un fitxer d'exemple amb comentaris per a una millor comprensió.

# 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 putorius

Com haureu notat, alguns paràmetres del nostre fitxer són redundants. Per exemple, el paràmetre minclass és redundant ja que ja utilitzem com a mínim dos caràcters de la classe utilitzant camps [u,l,d,o]credit. La nostra llista de paraules que no es poden utilitzar també és redundant, ja que hem prohibit repetir qualsevol classe 4 vegades (totes les paraules de la nostra llista estan escrites en minúscules). He inclòs aquestes opcions només per demostrar com utilitzar-les per configurar la vostra política de contrasenyes.
Un cop hàgiu creat la vostra política, podeu obligar els usuaris a canviar les seves contrasenyes la propera vegada que iniciïn sessió. el sistema.

Una altra cosa estranya que potser heu notat és que els camps [u,l,d,o]credit conté un nombre negatiu. Això es deu al fet que els números superiors o iguals a 0 donaran crèdit per utilitzar el caràcter de la contrasenya. Si el camp conté un nombre negatiu, vol dir que es requereix una determinada quantitat.

Què són els préstecs?

Els anomeno préstecs perquè això transmet el seu propòsit amb la màxima precisió possible. Si el valor del paràmetre és superior a 0, afegiu un nombre de "crèdits de caràcters" igual a "x" a la longitud de la contrasenya. Per exemple, si tots els paràmetres (u,l,d,o)credit establert a 1 i la longitud de la contrasenya requerida era 6, llavors necessitareu 6 caràcters per satisfer el requisit de longitud perquè cada majúscula, minúscula, dígit o un altre caràcter us donarà un crèdit.

Si instal·leu dcredit a 2, teòricament podríeu utilitzar una contrasenya de 9 caràcters i obtenir 2 crèdits de caràcters per als números, i llavors la longitud de la contrasenya ja podria ser de 10.

Mireu aquest exemple. Vaig establir la longitud de la contrasenya a 13, el dcredit a 2 i tota la resta a 0.

$ pwscore
 Thisistwelve
 Password quality check failed:
  The password is shorter than 13 characters

$ pwscore
 Th1sistwelve
 18

La meva primera comprovació ha fallat perquè la contrasenya tenia menys de 13 caràcters. La propera vegada vaig canviar la lletra "I" pel número "1" i vaig rebre dos crèdits pels números, que van fer que la contrasenya fos igual a 13.

Prova de contrasenya

Paquet libpwquality proporciona la funcionalitat descrita a l'article. També ve amb un programa pwscore, que està dissenyat per comprovar la complexitat de la contrasenya. L'hem utilitzat més amunt per comprovar els préstecs.
Utilitat pwscore llegeix de stdin. Només heu d'executar la utilitat i escriure la vostra contrasenya, mostrarà un error o un valor de 0 a 100.

La puntuació de qualitat de la contrasenya està relacionada amb el paràmetre minlen al fitxer de configuració. En general, una puntuació inferior a 50 es considera una "contrasenya normal" i una puntuació per sobre es considera una "contrasenya segura". Qualsevol contrasenya que superi les comprovacions de qualitat (especialment la verificació forçada cracklib) ha de suportar atacs de diccionari i una contrasenya amb una puntuació superior a 50 amb la configuració minlen fins i tot per defecte brute force atacs.

Conclusió

ajust pwquality - és fàcil i senzill en comparació amb les molèsties d'ús cracklib amb edició directa de fitxers pam. En aquesta guia, hem cobert tot el que necessitareu per configurar polítiques de contrasenyes a Red Hat 7, CentOS 7 i fins i tot sistemes Ubuntu. També vam parlar del concepte de préstecs, del qual rarament s'escriu amb detall, de manera que aquest tema sovint no quedava clar per a aquells que no l'havien trobat anteriorment.

Fonts:

pàgina de manual de pwquality
pàgina de manual pam_pwquality
pàgina de manual de pwscore

Enllaços útils:

Selecció de contrasenyes segures - Bruce Schneier
Lorrie Faith Cranor parla dels seus estudis de contrasenyes a CMU
La caricatura infame xkcd sobre Entropia

Font: www.habr.com

Afegeix comentari