Hola de nuevo Las clases comenzarán mañana en el nuevo grupo del curso de
Administrador de Linux , y en este sentido estamos publicando un artículo útil sobre el tema.

En el último tutorial, hablamos sobre cómo usar
pam_cracklib
para complicar las contraseñas en los sistemas
Red Hat 6 o CentOS. En Red Hat 7,
pam_pwquality
reemplazó
cracklib
como el módulo de
pam
para la verificación de contraseña. El módulo
pam_pwquality
también
pam_pwquality
compatible con Ubuntu y CentOS, así como en muchos otros sistemas operativos. Este módulo facilita la creación de políticas de contraseña para garantizar que los usuarios acepten sus estándares de complejidad de contraseña.
Durante mucho tiempo, el enfoque habitual de las contraseñas fue obligar al usuario a utilizar mayúsculas y minúsculas, números u otros caracteres en ellas. Estas reglas básicas de complejidad de contraseña se han promovido activamente en los últimos diez años. Ha habido mucha discusión sobre si esto es una buena práctica o no. El argumento principal en contra de establecer condiciones tan difíciles fue que los usuarios escriben contraseñas en papel y las almacenan de forma insegura.
Otra política recientemente cuestionada obliga a los usuarios a cambiar sus contraseñas cada x días. Se han llevado a cabo varios estudios que han demostrado que esto también es perjudicial para la seguridad.
Se han escrito muchos artículos sobre el tema de estas discusiones que justifican este o aquel punto de vista. Pero esto no es lo que discutiremos en este artículo. Este artículo le dirá cómo configurar correctamente la complejidad de la contraseña y no administrar la política de seguridad.
Configuración de la política de contraseñaA continuación, verá la configuración de la política de contraseñas y una breve descripción de cada una de ellas. Muchos de ellos son similares a los parámetros en el módulo
cracklib
. Este enfoque facilita la transferencia de sus políticas desde el sistema anterior.
- difok : el número de caracteres en su nueva contraseña que NO debe estar presente en su contraseña anterior. (El valor predeterminado es 5)
- minlen : la longitud mínima de la contraseña. (El valor predeterminado es 9)
- ucredit : el número máximo de créditos por usar caracteres en mayúscula (si parámetro> 0), o el número mínimo requerido de caracteres en mayúscula (si parámetro <0). El valor predeterminado es 1.
- lcredit : el número máximo de créditos por usar caracteres en minúscula (si parámetro> 0), o el número mínimo requerido de caracteres en minúscula (si parámetro <0). El valor predeterminado es 1.
- dcredit : el número máximo de créditos por usar dígitos (si parámetro> 0), o el número mínimo requerido de dígitos (si parámetro <0). El valor predeterminado es 1.
- ocrédito : el número máximo de créditos por usar otros símbolos (si el parámetro> 0), o el número mínimo requerido de otros símbolos (si el parámetro <0). El valor predeterminado es 1.
- minclass : establece el número de clases requeridas. Las clases incluyen los parámetros anteriores (mayúsculas, minúsculas, números, otros caracteres). El valor predeterminado es 0.
- maxrepeat : la cantidad máxima de veces que se repite un carácter en una contraseña. El valor predeterminado es 0.
- maxclassrepeat : el número máximo de caracteres consecutivos en una sola clase. El valor predeterminado es 0.
- gecoscheck : comprueba si la contraseña contiene alguna palabra de las líneas GECOS del usuario. (Información del usuario, es decir, nombre real, ubicación, etc.) Predeterminado 0 (desactivado).
- dictpath - Let a cracklib diccionarios.
- malas palabras: palabras separadas por espacios que están prohibidas en las contraseñas (nombre de la empresa, palabra "contraseña", etc.).
Si el concepto de préstamos suena extraño, está bien, está bien. Hablaremos de esto con más detalle en las siguientes secciones.
Configuración de la política de contraseñaAntes de comenzar a editar archivos de configuración, es una buena práctica escribir previamente la política de contraseña básica. Por ejemplo, utilizaremos las siguientes reglas de complejidad:
- La contraseña debe tener una longitud mínima de 15 caracteres.
- En la contraseña, el mismo carácter no debe repetirse más de dos veces.
- En una contraseña, las clases de caracteres se pueden repetir hasta cuatro veces.
- La contraseña debe contener caracteres de cada clase.
- La nueva contraseña debe tener 5 caracteres nuevos en comparación con la anterior.
- Habilite la validación de GECOS.
- Niegue las palabras "contraseña, pase, palabra, putorius"
Ahora, tan pronto como establezcamos la política, podemos editar el archivo
/etc/security/pwquality.conf
para fortalecer los requisitos de complejidad de la contraseña. A continuación se muestra un archivo de comentarios de ejemplo para una mejor comprensión.
Como habrás notado, algunos parámetros en nuestro archivo son redundantes. Por ejemplo, el parámetro
minclass
redundante, ya que ya usamos al menos dos caracteres de la clase usando los campos de
[u,l,d,o]credit
. Nuestra lista de palabras que no se pueden usar también es redundante, ya que hemos prohibido la repetición de cualquier clase 4 veces (todas las palabras en nuestra lista están escritas en minúsculas). He incluido estas opciones solo para demostrar cómo usarlas para configurar una política de contraseña.
Una vez que haya creado su política, puede obligar a los usuarios a cambiar sus contraseñas la próxima vez que inicien sesión.
Otra cosa extraña que puede haber notado es que los campos de
[u,l,d,o]credit
contienen un número negativo. Esto se debe a que los números mayores o iguales a 0 darán crédito por usar el carácter en su contraseña. Si el campo contiene un número negativo, significa que se requiere una cierta cantidad.
¿Qué son los préstamos?Los llamo préstamos, porque transmiten con precisión su propósito. Si el valor del parámetro es mayor que 0, agrega la cantidad de "créditos por caracteres" igual a "x" a la longitud de la contraseña. Por ejemplo, si todos los parámetros
(u,l,d,o)credit
establecidos en 1, y la longitud de contraseña requerida es 6, entonces necesitará 6 caracteres para satisfacer el requisito de longitud, porque cada carácter es mayúscula, minúscula, dígito u otro carácter le dará un préstamo
Si establece
dcredit
en 2, en teoría podría usar una contraseña con una longitud de 9 caracteres y obtener 2 créditos por caracteres para los números, y luego la contraseña ya puede ser 10.
Echa un vistazo a este ejemplo. Configuré la longitud de la contraseña en 13, configuré dcredit en 2 y todo lo demás en 0.
$ pwscore Thisistwelve Password quality check failed: The password is shorter than 13 characters $ pwscore Th1sistwelve 18
Mi primera comprobación falló porque la contraseña tenía menos de 13 caracteres. La próxima vez que cambié la letra "I" por el número "1" y recibí dos créditos por los números, lo que equivalía a la contraseña a 13.
Prueba de contraseñaEl paquete
libpwquality
proporciona la funcionalidad descrita en el artículo. También viene con el programa
pwscore
, que está diseñado para verificar la complejidad de la contraseña. Lo usamos arriba para verificar préstamos.
La utilidad
pwscore
lee desde
stdin . Simplemente ejecute la utilidad y escriba su contraseña, dará un error o un valor de 0 a 100.
El puntaje de calidad de la contraseña está relacionado con el parámetro
minlen
en el archivo de configuración. En general, un indicador de menos de 50 se considera como una "contraseña normal" y arriba como una "contraseña segura". Cualquier contraseña que pase los controles de calidad (especialmente los controles forzados
cracklib
) debe resistir los ataques del diccionario, y una contraseña con una puntuación superior a 50 con la configuración predeterminada de
minlen
incluso tendrá un
brute force
.
ConclusiónConfigurar
pwquality
es
pwquality
y fácil en comparación con los inconvenientes de usar
cracklib
con la edición directa de archivos
pam
. En esta guía, hemos cubierto todo lo que necesita para configurar políticas de contraseña en Red Hat 7, CentOS 7 e incluso en sistemas Ubuntu. También hablamos sobre el concepto de préstamos, que rara vez se escriben en detalle, por lo que este tema a menudo seguía siendo incomprensible para aquellos que no lo habían encontrado antes.
Fuentes:página de manual de pwqualityPágina del manual de pam_pwqualitypwscore man pageEnlaces utiles:Elección de contraseñas seguras - Bruce SchneierLorrie Faith Cranor habla sobre sus estudios de contraseñas en CMULa infame caricatura de xkcd sobre Entropía