floure.ARCHIVO / Tecnologías de la información
← Volver a la colección3 MIN DE LECTURA

Tecnologías de la información

Hardening Linux 3 - Reglas

Sistemas Operativos / Linux

Estas políticas sirven como ejercicio de PAM. Exigir cierta cantidad de mayúsculas no debe presentarse como la política ideal para cualquier sistema; el contexto y la versión del módulo importan.

Índice

  1. Política de Contraseña mínimo 3 mayúsculas
  2. Política de Contraseña 3 números y 2 intentos fallidos
  3. SSH

Política de Contraseña: mínimo 3 mayúsculas

Aplicaremos una política que exija al menos 3 mayúsculas. En Ubuntu deberiamos tener el archivo /etc/security/pwquality.conf

La ausencia de ese archivo no demuestra que no haya ninguna política de contraseñas. Para este ejercicio usaremos libpam-pwquality y revisaremos también la configuración efectiva de PAM (Pluggable Authentication Modules).

sudo apt-get update sudo apt-get install libpam-pwquality

Antes

Despues

Los pasos son los siguientes:

  1. Abrir el archivo sudo nano /etc/security/pwquality.conf

  2. Agregar o editar una línea en específico ucredit=-3 Con esto forzamos que sean al menos 3 mayúsculas

  3. Guardar y cerrar

  4. Probar: passwd <usuario> Ejemplo público de laboratorio: no guardar ni reutilizar contraseñas reales dentro de los apuntes.


Política de Contraseña: 3 números y 2 intentos fallidos

  1. Volvemos al mismo archivo: sudo nano /etc/security/pwquality.conf

  2. Agregamos o modificamos la línea dcredit = -3

  3. Con eso tenemos el requisito de 3 números.

Para los 2 intentos debemos ir a otro archivo: /etc/pam.d/common-auth y agregamos lo siguiente en versiones antiguas de Ubuntu: auth required pam_tally2.so deny=2 unlock_time=10 onerr=fail

Importante: verificar qué versión estamos porque no basta un corte por versión 20.04: comprobar paquetes, módulos disponibles y la pila PAM efectiva antes de escoger pam_faillock o material histórico de pam_tally2 Como es mi caso, usamos faillock así que lo agregamos de la siguiente forma:

  1. Verificamos: Contraseña con menos de 3 dígitos

Intentos fallidos nota: usamos faillock para ver los intentos inválidos y validos registrados


SSH

Esto es una continuación básicamente de un Ejercicio de SSH que había realizado previamente así que se asume que el lector tiene acceso a él.

Debemos primero instalar el servidor SSH si no lo está: sudo apt update && sudo apt install openssh-server -y y verificamos con sudo systemctl status ssh Abrimos el archivo sudo nano /etc/ssh/sshd_config y cambiamos la línea del puerto:

Ahora: podemos realizar verificaciones de varias formas pero la más común es: sudo netstat -tulnp | grep ":44"

En mi instalación no estaba disponible netstat; para consultar sockets utilicé sudo ss -tulnp | grep ":44"

Sin embargo... dada las configuraciones realizadas en el ejercicio de Hardening previo, la regla anterior acepta TCP/22, pero por sí sola no demuestra que solo ese puerto esté permitido: depende de la política y del resto de reglas. Obviamente tenemos un conflicto porque SSH está ahora en el :44. Esto nos lleva a mi conclusión previa sobre las configuraciones causando conflicto entre ellas, por lo cual es importante llevar documentación acorde (como esta).

La verdad es que no lo voy a cambiar en este momento, pero a modo gráfico con este pantallazo vemos que la configuración está hecha y activa en el puerto 44:

Alcance del ejercicio: las reglas de composición anteriores son una práctica de configuración, no una recomendación universal. NIST SP 800-63B-4 prioriza longitud, listas de contraseñas bloqueadas y limitación de intentos, y no exige mezclas obligatorias de tipos de caracteres. No trasladar estas reglas de laboratorio a una política sin revisar su contexto.

Política del ejercicio: las cuotas de mayúsculas y números permiten practicar configuración, pero no representan por sí solas una buena política actual. Contrastar longitud, contraseñas comprometidas y limitación de intentos con NIST SP 800-63B-4.

Contraste: pam_faillock, pwquality.conf, OpenSSH. Los créditos negativos exigen mínimos cuando pam_pwquality está integrado y aplica al cambio de contraseña; la política para root puede diferir. Faillock requiere orden y llamadas apropiadas en auth/account: una línea aislada no es receta universal. Bloqueos de dos intentos pueden permitir denegación de servicio. Cambiar Port exige validar configuración efectiva y reiniciar/recargar el servicio o socket correspondiente antes de inspeccionar; grep :44 también coincide con otros puertos.

+----------------------------------------+
| Floure &                               |
| Tachibana's guild                      |
| [Hikari · Nozomi · Vesper]             |
| SEAL: sha256/12: d765fa6d02d8          |
| STATUS: LITURGY_IN_PROGRESS            |
+----------------------------------------+

Conexiones

Abrir red completa ↗
✳

Fin del apunte

Seguir explorando ↗