Aplicar políticas de contraseñas
Linux ofrece varias herramientas para aplicar políticas de contraseñas, lo que ayuda a mantener la seguridad del sistema al garantizar que los usuarios elijan contraseñas fuertes. En este paso, aprenderás cómo implementar políticas básicas de contraseñas.
Establecer la expiración de la contraseña
El comando chage
permite a los administradores establecer políticas de expiración de contraseñas. Navega hasta tu directorio de proyecto:
cd ~/project
Establezcamos la edad máxima de la contraseña para nuestra cuenta cyberuser
en 90 días:
sudo chage -M 90 cyberuser
Este comando establece el número máximo de días que una contraseña es válida antes de que se requiera al usuario cambiarla.
También puedes establecer una edad mínima de la contraseña, lo que impide que los usuarios cambien sus contraseñas demasiado frecuentemente:
sudo chage -m 7 cyberuser
Este comando requiere que el usuario espere al menos 7 días antes de cambiar su contraseña nuevamente.
Verifica los cambios que has realizado:
sudo chage -l cyberuser
Deberías ver la información actualizada de la política de contraseñas:
Last password change : Jul 15, 2023
Password expires : Oct 13, 2023
Password inactive : never
Account expires : never
Minimum number of days between password change : 7
Maximum number of days between password change : 90
Number of days of warning before password expires : 7
Crear un script de política de contraseñas
Ahora, creemos un script que implementará políticas de contraseñas más avanzadas. Crea un nuevo archivo llamado cyberpolicy.sh
:
nano ~/project/cyberpolicy.sh
Agrega el siguiente contenido al archivo:
#!/bin/bash
## Enforce password complexity
echo "password requisite pam_pwquality.so retry=3 minlen=8 difok=3" | sudo tee -a /etc/pam.d/common-password
## Set password expiration policy for all new users
echo "PASS_MAX_DAYS 90" | sudo tee -a /etc/login.defs
echo "PASS_MIN_DAYS 7" | sudo tee -a /etc/login.defs
echo "PASS_WARN_AGE 7" | sudo tee -a /etc/login.defs
echo "Password policy has been updated successfully."
Guarda el archivo presionando Ctrl+O
, luego Enter
, y sal de nano con Ctrl+X
.
Haz el script ejecutable:
chmod +x ~/project/cyberpolicy.sh
Este script establece las siguientes políticas de contraseñas:
- Complejidad de la contraseña: Mínimo 8 caracteres, al menos 3 caracteres diferentes de la contraseña anterior, con 3 intentos permitidos
- Expiración de la contraseña: Edad máxima de la contraseña de 90 días
- Restricción de cambio de contraseña: Edad mínima de la contraseña de 7 días
- Advertencia de contraseña: 7 días antes de la expiración de la contraseña
En un entorno de producción, ejecutarías este script para aplicar estas políticas. Sin embargo, para este laboratorio, simplemente examinaremos el contenido para entender cómo se pueden implementar las políticas de contraseñas.