¿Qué es eso de NTLM?
¿Cómo funciona?
1.- El cliente envía al servidor un nombre de usuario
2.- El servidor, como respuesta, envía un desafío al cliente en forma de numero aleatorio
3.- Según el procedimiento, el cliente crea hash a partir del numero aleatorio y la contraseña del nombre del usuario. Este hash es enviado de vuelta al servidor.
4.- De forma equivalente, el servidor realiza esta misma acción, crea el hash a partir del numero aleatorio y la contraseña del usuario que tiene registrada.
5.- Ambos valores son comparados. Si son iguales la autenticación se dará como satisfactoria y, en caso contrario, se rechazara la conexión.
(Si no lo habéis visto, en esta entrada del blog hablamos de criptografía. Tiene un poquito de relación no? 😉 )
Inconvenientes y soluciones
Debido a estas vulnerabilidades, apareció NTLMv2 como evolución y solución de algunos de estos problemas, incluyendo características como un hashing mas fuerte o un timestamp en el desafío. Aun así, esta segunda versión no tiene porque ser utilizada por defecto, por lo que será necesario configurarlo manualmente.
Restringir NTLMv2 en el dominio
Por ello, se puede crear una política de dominio en la ubicación,
Configuración de equipo > Configuración de Windows > Configuración de seguridad > Directivas locales > Opciones de seguridad > Seguridad de red: nivel de autenticación LAN Manager
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Lsa
Creamos (o modificamos si ya está disponible) una entrada DWORD llamada “LmCompatibilityLevel” y la establecemos en valor 5.