Cómo proteger Active Directory bloqueando contraseñas comunes

Gestionar contraseñas débiles o fáciles de adivinar en Active Directory puede ser un verdadero dolor de cabeza. La política de contraseñas predeterminada de AD solo impone requisitos básicos como longitud y cierta complejidad, pero no impide que los usuarios elijan contraseñas como Qwerty123456o P@ssw0rd. Estas, técnicamente, cumplen las reglas, pero siguen siendo muy vulnerables. Por ello, esta guía analiza mejores maneras de bloquear estas contraseñas débiles o comprometidas (como crear listas de contraseñas prohibidas o incluso usar herramientas empresariales) para garantizar que los usuarios no elijan una seguridad de segunda categoría a propósito.

Cómo mantener las contraseñas débiles fuera de Active Directory

Método 1: Usar PassFiltEx para bloquear contraseñas débiles comunes

Este método es bastante fácil de hacer, pero funciona con bastante fiabilidad una vez configurado.PassFiltEx es una biblioteca ligera de código abierto que se integra con el proceso de filtrado de contraseñas de Windows. Permite precargar una lista de contraseñas que se desean bloquear, de modo que los usuarios no puedan simplemente añadir «contraseña» u otras opciones obvias. Esto resulta especialmente útil si se sospecha que se usan contraseñas sencillas y comunes.

Básicamente, cuando un usuario cambia su contraseña, Windows la compara con los filtros. Con PassFiltEx configurado, rechazará las contraseñas que coincidan con cualquier patrón de la lista negra. En algunas configuraciones, es un poco complicado, así que no se sorprenda si necesita reiniciar el controlador de dominio (DC) o modificar el registro.

Comience por obtener los archivos del repositorio de GitHub del proyecto ( https://github.com/ryanries/PassFiltEx ).Necesitará PassFiltEx.dllun archivo de texto de lista negra, por ejemplo PassFiltExBlacklist.txt. Cópielos en el directorio %SystemRoot%\System32 de cada controlador de dominio.

  • PassFiltEx.dll : la biblioteca de filtrado principal
  • PassFiltExBlacklist.txt : una lista de texto sin formato de las contraseñas que desea bloquear, una por línea

Consejos rápidos: PassFiltEx recarga esta lista negra cada 60 segundos, por lo que las actualizaciones no requieren reinicio. No distingue entre mayúsculas y minúsculas, por lo que passwordy Passwordse tratan de la misma manera. Actualmente no se admiten caracteres Unicode, así que use ASCII simple.

A continuación, abra el Editor del Registro y vaya a HKLM\SYSTEM\CurrentControlSet\Control\Lsa. Debe agregar un nuevo valor de cadena llamado Paquetes de Notificación si aún no está ahí e incluirlo PassFiltExen la lista. Es un valor multicadena, así que simplemente agréguelo como una nueva entrada.

Después, reinicie el controlador de dominio para asegurarse de que se cargue el nuevo filtro. Para verificar su funcionamiento, ejecute tasklist /m PassFiltEx.dllel comando en el símbolo del sistema. Cuando un usuario intenta cambiar su contraseña por una de la lista negra, Windows mostrará un mensaje de error indicando que la contraseña no cumple los requisitos. Recuerde que, en varios controladores de dominio, deberá hacer esto en todas partes. De lo contrario, un usuario podría cambiar a otro controlador de dominio y, aun así, elegir una contraseña débil.

Para controles avanzados, puedes ajustar las opciones del registro en [nombre HKLM\SOFTWARE\PassFiltExdel archivo], como cambiar la ruta de la lista negra, establecer un porcentaje mínimo de coincidencia o habilitar el modo de depuración para los registros. Sinceramente, en algunas configuraciones, he visto que el bloqueo no se activa al instante; normalmente es cuestión de esperar a que se actualice la caché o se reinicie el servicio. Pero, en general, es una forma bastante práctica de añadir una capa adicional de seguridad de contraseñas.

Método 2: Aplicación de contraseñas con Lithnet Password Protection

¿Buscas algo más empresarial? Lithnet Password Protection (LPP) es una herramienta sólida y con soporte, diseñada para grandes organizaciones. Amplía las políticas de AD habituales bloqueando no solo contraseñas vulnerables, sino también las comprometidas, robadas en filtraciones de datos o que coinciden con los patrones que definas. Incluso se sincroniza con servicios como » Have I Been Pwned » para evitar que los usuarios accedan a contraseñas filtradas.

Para comenzar, instale el agente de Lithnet en cada controlador de dominio. El proyecto está alojado en GitHub ( https://github.com/lithnet/ad-password-protection ) e incluye instrucciones de configuración. Una vez en ejecución, utilice la directiva de grupo o PowerShell para cargar palabras, patrones o hashes prohibidos en el sistema. Algunos ejemplos de comandos son:

Import-Module LithnetPasswordProtection
Add-BannedWord -Value "admin"
Import-BannedWords -Filename "C:\temp\blacklist.txt"

En la práctica, querrá importar una lista de contraseñas incorrectas, quizás extraída de «¿Me han engañado?» o de su propia investigación. Cuando un usuario intenta cambiar o establecer una contraseña, el sistema la verifica en la base de datos y la bloquea si encuentra una coincidencia o un patrón similar.

También permite importar contraseñas comprometidas directamente a su base de datos. La ejecución Sync-HashesFromHibpperiódica mantiene actualizada la lista de bloqueados, lo cual es muy útil. En cada controlador de dominio, el filtro de contraseñas se ejecuta silenciosamente en segundo plano, deteniendo las contraseñas incorrectas incluso antes de que salgan de la pantalla del usuario. Es como tener un guardia de seguridad para la selección de contraseñas, algo así como un filtro antispam de contraseñas.

Si todo lo demás falla o desea reforzar aún más la seguridad, puede configurar GPO con sus plantillas ADMX para controlar la configuración de políticas. De esta forma, dispone de una forma centralizada de aplicar restricciones de contraseñas sin tener que modificar demasiado el Registro en cada controlador de dominio.

Resumen

  • Implemente PassFiltEx para bloquear contraseñas débiles comunes con listas negras personalizadas. Fácil de configurar, pero requiere algunos ajustes del registro y reinicios del controlador de dominio.
  • Para empresas, Lithnet Password Protection ofrece mayor control, incluyendo la prevención de contraseñas comprometidas y la integración con bases de datos externas. Es un poco más complejo, pero mucho más potente.

Resumen

En resumen, estos métodos pueden mejorar significativamente la seguridad de tus contraseñas de AD. Si se configuran correctamente, ayudan a evitar que se filtren contraseñas débiles, reutilizadas o filtradas. No todo es infalible (los usuarios suelen encontrar soluciones alternativas), así que combina esto con una buena formación del usuario y otras medidas de seguridad. Ojalá esto ayude a evitar otra pesadilla relacionada con las contraseñas.