Introducción

Una contraseña segura es uno de los elementos más importantes de una infraestructura sólida y segura de tecnología de la información y las comunicaciones (TIC).

Una buena contraseña debe ser capaz de resistir una fuerza bruta o un ataque de diccionario, o al menos difícil de adivinar para una persona malintencionada.

Hoy en día, con el aumento de la infraestructura alojada en la nube, el acceso remoto a clientes o servidores a través de SSH / RDP es común. Esto requiere que tenga una contraseña segura para evitar el acceso no autorizado a datos críticos. Una buena contraseña debe:

  • Tener al menos 8 caracteres.
  • Contener al menos una letra mayúscula.
  • Contiene al menos una letra minuscula.
  • Contener al menos un número
  • Contener al menos un carácter especial.

Antes de que empieces

  • Un VPS o servidor dedicado que ejecute Ubuntu 18.04.
  • Un usuario no root configurado con privilegios sudo.

pasos

Actualizar paquetes del sistema

$ sudo apt update -y && sudo apt upgrade -y

Instale el paquete pam_cracklib

Esta es una biblioteca que se usa para comparar las contraseñas ingresadas con un diccionario del sistema para hacer cumplir el cumplimiento. Mide la fuerza y, según los resultados, puede aceptar o rechazar la contraseña para evitar ingresar contraseñas débiles.

$ sudo apt install -y libpam-pwquality

Las configuraciones realizadas con una contraseña pueden incluir el número máximo de días que una contraseña puede “vivir” antes de que se le solicite que la cambie. Esta configuración se encuentra en el archivo /etc/login.defs

$ sudo vim /etc/login.defs

Desde la línea 160, puede optar por utilizar el número de días establecido a continuación o el número de días que le resulte más conveniente.

En la línea PASS_MAX_DAYS, especifique el número máximo de días que se puede usar una contraseña.

Establezca el número mínimo de días que debe usarse una contraseña antes de realizar otro cambio (PASS_MIN_DAYS).

Especifique la cantidad de días después de los cuales debe recibir una advertencia antes de que caduque la contraseña (PASS_WARN_AGE).

PASS_MAX_DAYS   30
PASS_MIN_DAYS   0
PASS_WARN_AGE   7

Establezca el número mínimo de caracteres en una contraseña.

El número predeterminado de caracteres en un sistema operativo Ubuntu 18.04 es 6. Puede cambiarlo en el propagar-archivo de contraseña en la carpeta /etc/pam.d.

$ sudo vim /etc/pam.d/common-password

Establezca la longitud mínima de la contraseña en línea25

password        requisite       pam_pwquality.so retry=3 minlen=9

Defina la frecuencia con la que una sola contraseña no debe repetirse al menos después de cambiarla en línea.

 password        [success=1 default=ignore]      pam_unix.so obscure use_authtok try_first_pass sha512 remember=5

Como se discutió en la introducción, debemos asegurarnos de que las propiedades se cumplan al ingresar una nueva contraseña; Letras mayúsculas, minúsculas, números y caracteres especiales. Aplicaremos al menos 3 propiedades para un criterio de prueba de seguridad de contraseña en línea25.

password        requisite        pam_pwquality.so retry=3 minclass=2

Otras configuraciones que se pueden agregar en el la finalde La línea 25 contiene:

maxrepeat=3

Intente cambiar la contraseña para confirmar la implementación de su política de contraseñas.

$ passwdChanging password for linuxuser.
(current) UNIX password: 
New password: 
BAD PASSWORD: The password is shorter than 8 characters
New password:

Conclusión

Ha cambiado correctamente las comprobaciones de su política de contraseñas. No se puede enfatizar lo suficiente lo bueno que es el desarrollo y la implementación de la política de contraseñas. Alternativamente, puede cambiar la política de contraseñas para un usuario individual usando el comando sudo chage NOMBRE DE USUARIO mientras reemplaza el NOMBRE DE USUARIO con el apropiado. Siga las instrucciones a continuación y confirme con el comando sudo chage -l NOMBRE DE USUARIO.