Habilitación de firmas LDAP en Windows Server

En este artículo se describe cómo habilitar la firma LDAP en Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows 10 y Windows 11.

Se aplica a: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 11: todas las ediciones, Windows 10: todas las ediciones
Número KB original: 935834

Resumen

Puede mejorar significativamente la seguridad de un servidor de directorios al configurar el servidor para rechazar los enlaces LDAP del Nivel de seguridad y autenticación simples (SASL) que no solicitan la firma (comprobación de integridad), o para rechazar los enlaces LDAP simples que se realizan en una conexión de texto no cifrado (no SSL/TLS). Los enlaces SASL pueden incluir protocolos como Negotiate, Kerberos, NTLM y Digest.

El tráfico de red sin firmar es susceptible a reproducir ataques. En estos ataques, un intruso intercepta el intento de autenticación y la emisión de un vale. El intruso puede reutilizar el vale para suplantar al usuario legítimo. Además, el tráfico de red sin firmar es susceptible a ataques de tipo man-in-the-middle (MIM) en los que un intruso captura paquetes entre el cliente y el servidor, cambia los paquetes y luego los reenvía al servidor. Si esto ocurre en un servidor LDAP, un atacante puede hacer que un servidor tome decisiones basadas en solicitudes falsificadas del cliente LDAP.

Cómo detectar clientes que no usan la opción Requerir firma

Después de realizar este cambio de configuración, los clientes que dependen de enlaces LDAP de SASL sin firmar (Negotiate, Kerberos, NTLM o Digest) o en enlaces LDAP simples a través de una conexión que no es SSL/TLS dejan de funcionar. Para ayudar a identificar estos clientes, el servidor de directorios de Active Directory Domain Services (AD DS) o servidor de directorio ligero (LDS) registra un identificador de evento 2887 de resumen una vez cada 24 horas para indicar cuántos enlaces de este tipo se produjeron. Recomendamos configurar estos clientes para que no usen estos enlaces. Después de que no se observe ningún evento de este tipo durante un período prolongado, recomendamos configurar el servidor para rechazar dichos enlaces.

Si necesita más información para identificar dichos clientes, puede configurar el servidor de directorios para proporcionar registros más detallados. Este registro adicional registrará un identificador de evento 2889 cuando un cliente intente realizar un enlace LDAP sin firmar. La entrada de registro muestra la dirección IP del cliente y la identidad que el cliente intentó usar para autenticarse. Para habilitar este registro adicional, establezca la configuración de diagnóstico 16 Eventos de interfaz LDAP en 2 (básico). Para obtener más información sobre cómo cambiar la configuración de diagnóstico, vea Cómo configurar el registro de eventos de diagnóstico de Active Directory y LDS.

Si el servidor de directorios está configurado para rechazar los enlaces LDAP de SASL sin firmar o los enlaces LDAP simples a través de una conexión que no sea SSL/TLS, el servidor de directorio registra un identificador de evento 2888 de resumen una vez cada 24 horas cuando se producen dichos intentos de enlace.

Configuración del directorio para que requiera la firma del servidor LDAP para AD DS

Para obtener información sobre los posibles efectos de cambiar la configuración de seguridad, consulte Si cambia la configuración de seguridad y las asignaciones de derechos de usuario, puede experimentar problemas en sus programas, sus servicios o sus clientes.

Usar la directiva de grupo

Cómo establecer el requisito de firmas LDAP del servidor

  1. Seleccione Inicio>Ejecutar, escriba mmc.exe y luego seleccione Aceptar.
  2. Seleccione Archivo>Agregar o quitar complemento, seleccione Editor de administración de directivas de grupo y luego seleccione Agregar.
  3. Seleccione Objeto de directiva de grupo>Examinar.
  4. En el cuadro de diálogo Buscar un objeto directiva de grupo, seleccione Directiva de controlador de dominio predeterminada en el área Dominios, unidades organizativas y objetos directiva de grupo vinculados y luego seleccione Aceptar.
  5. Seleccione Finalizar.
  6. Seleccione Aceptar.
  7. Seleccione Directiva de controlador de dominio predeterminada>Configuración del equipo>Directivas>Configuración de Windows>Configuración de seguridad>Directivas locales y luego seleccione Opciones de seguridad.
  8. Haga clic con el botón derecho en Controlador de dominio: requisitos de firma de servidor LDAP y luego seleccione Propiedades.
  9. En el cuadro de diálogo de propiedades de Controlador de dominio: requisitos de firma de servidor LDAP, habilite Definir esta configuración de directiva, seleccione Requerir firma de la lista Definir esta configuración de directiva y luego seleccione Aceptar.
  10. En el cuadro de diálogo Confirmar cambio de configuración, seleccione .

Cómo establecer el requisito de firmas LDAP del cliente mediante la directiva de equipo local

  1. Seleccione Inicio>Ejecutar, escriba mmc.exe y luego seleccione Aceptar.
  2. Seleccione Archivo>Agregar o quitar complementos.
  3. En el cuadro de diálogo Agregar o quitar complementos, seleccione Editor de objetos de directiva de grupo y Agregar.
  4. Seleccione Finalizar.
  5. Seleccione Aceptar.
  6. Seleccione Directiva de equipo local>Configuración del equipo>Directivas>Configuración de Windows>Configuración de seguridad>Directivas locales y, después, Opciones de seguridad.
  7. Haga clic con el botón derecho en Seguridad de red: requisitos de firma de cliente LDAP y seleccione Propiedades.
  8. En el cuadro de diálogo Seguridad de red: requisitos de firma de cliente LDAP, seleccione Requerir firma en la lista y Aceptar.
  9. En el cuadro de diálogo Confirmar cambio de configuración, seleccione .

Cómo establecer el requisito de firma de cliente LDAP mediante un objeto de directiva de grupo del dominio

  1. Seleccione Inicio>Ejecutar, escriba mmc.exe y luego seleccione Aceptar.
  2. Seleccione Archivo>Agregar o quitar complementos.
  3. En el cuadro de diálogo Agregar o quitar complementos, seleccione Editor de objetos de directiva de grupo y Agregar.
  4. Seleccione Examinar y Directiva predeterminada de dominio (o el objeto de directiva de grupo para el que desea habilitar la firma LDAP de cliente).
  5. Seleccione Aceptar.
  6. Seleccione Finalizar.
  7. Seleccione Cerrar.
  8. Seleccione Aceptar.
  9. Seleccione Directiva predeterminada de dominio>Configuración del equipo>Configuración de Windows>Configuración de seguridad>Directivas locales y Opciones de seguridad.
  10. En el cuadro de diálogo Seguridad de red: requisitos de firma de cliente LDAP, seleccione Requerir firma en la lista y Aceptar.
  11. En el cuadro de diálogo Confirmar cambio de configuración, seleccione .

Cómo establecer el requisito de firma LDAP de cliente mediante claves del Registro

Importante

Siga atentamente los pasos de esta sección. La modificación incorrecta del Registro puede producir graves problemas. Antes de modificarlo, realice una copia de seguridad del Registro para efectuar una restauración en caso de que surjan problemas.

De forma predeterminada, para Active Directory Lightweight Directory Services (AD LDS), la clave del Registro no está disponible. Por lo tanto, debe crear una entrada del Registro LDAPServerIntegrity del tipo REG_DWORD en la subclave del Registro siguiente:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<InstanceName>\Parameters

Nota:

El marcador de posición <InstanceName> representa el nombre de la instancia de AD LDS que desea cambiar.

La entrada del Registro tiene los siguientes valores posibles:

  • 0: la firma está deshabilitada.
  • 2: la firma está habilitada.

Al cambiar este valor, el nuevo valor surte efecto inmediatamente. No tiene que reiniciar el equipo.

Cómo comprobar los cambios de configuración

  1. Inicie sesión en un equipo que tenga instaladas las herramientas de Administración de AD DS.

  2. Seleccione Inicio>Ejecutar, escriba ldp.exe y, luego, Aceptar.

  3. Seleccione Conexión>Conectar.

  4. En Servidor y en Puerto, escriba el nombre del servidor y el puerto no SSL/TLS del servidor de directorio y, después, seleccione Aceptar.

    Nota:

    Para un controlador de dominio de Active Directory, el puerto aplicable es el 389.

  5. Una vez establecida una conexión, seleccione Conexión>Enlazar.

  6. En Tipo de enlace, seleccione Enlace simple.

  7. Escriba el nombre de usuario y la contraseña y seleccione Aceptar.

    Si recibe el siguiente mensaje de error, ha configurado correctamente el servidor de directorio:

    Ldap_simple_bind_s() failed: Se requiere autenticación sólida

Referencia de eventos para los requisitos de firma LDAP

Id. de evento 2886

Después de iniciar los servicios DS, el identificador de evento 2886 se registra para recordar a los administradores que habiliten los requisitos de firma:

Log Name:      Directory Service
Source:        Microsoft-Windows-ActiveDirectory_DomainService
Event ID:      2886
Task Category: LDAP Interface
Level:         Warning
Keywords:      Classic
Description:
The security of this directory server can be significantly enhanced by configuring the server to reject SASL (Negotiate, Kerberos, NTLM, or Digest) LDAP binds that do not request signing (integrity verification) and LDAP simple binds that are performed on a clear text (non-SSL/TLS-encrypted) connection. Even if no clients are using such binds, configuring the server to reject them will improve the security of this server. 
 
Some clients may currently be relying on unsigned SASL binds or LDAP simple binds over a non-SSL/TLS connection, and will stop working if this configuration change is made. To assist in identifying these clients, if such binds occur this directory server will log a summary event once every 24 hours indicating how many such binds occurred. You are encouraged to configure those clients to not use such binds. Once no such events are observed for an extended period, it is recommended that you configure the server to reject such binds. 
 
For more details and information on how to make this configuration change to the server, please see http://go.microsoft.com/fwlink/?LinkID=87923. 
 
You can enable additional logging to log an event each time a client makes such a bind, including information on which client made the bind. To do so, please raise the setting for the "LDAP Interface Events" event logging category to level 2 or higher.

Id. de evento 2887

Cuando se detecta un cliente problemático pero se permite, se registra un evento de resumen (id. de evento 2887) de las últimas 24 horas:

Log Name:      Directory Service
Source:        Microsoft-Windows-ActiveDirectory_DomainService
Event ID:      2887
Task Category: LDAP Interface
Level:         Warning
Keywords:      Classic
Description:
During the previous 24 hour period, some clients attempted to perform LDAP binds that were either:
(1) A SASL (Negotiate, Kerberos, NTLM, or Digest) LDAP bind that did not request signing (integrity validation), or
(2) A LDAP simple bind that was performed on a clear text (non-SSL/TLS-encrypted) connection

This directory server is not currently configured to reject such binds. The security of this directory server can be significantly enhanced by configuring the server to reject such binds. For more details and information on how to make this configuration change to the server, please see http://go.microsoft.com/fwlink/?LinkID=87923.

Summary information on the number of these binds received within the past 24 hours is below.

You can enable additional logging to log an event each time a client makes such a bind, including information on which client made the bind. To do so, please raise the setting for the "LDAP Interface Events" event logging category to level 2 or higher.

Number of simple binds performed without SSL/TLS: <count of binds>
Number of Negotiate/Kerberos/NTLM/Digest binds performed without signing: <count of binds>

Id. de evento 2888

Cuando se rechaza un cliente problemático, se registra un evento de resumen (id. de evento 2888) de las últimas 24 horas:

Log Name:      Directory Service
Source:        Microsoft-Windows-ActiveDirectory_DomainService
Event ID:      2888
Task Category: LDAP Interface
Level:         Information
Keywords:      Classic
Description:
During the previous 24 hour period, some clients attempted to perform LDAP binds that were either:
(1) A SASL (Negotiate, Kerberos, NTLM, or Digest) LDAP bind that did not request signing (integrity validation), or
(2) A LDAP simple bind that was performed on a clear text (non-SSL/TLS-encrypted) connection

This directory server is configured to reject such binds.  This is the recommended configuration setting, and significantly enhances the security of this server. For more details, please see http://go.microsoft.com/fwlink/?LinkID=87923.

Summary information on the number of such binds received within the past 24 hours is below.

You can enable additional logging to log an event each time a client makes such a bind, including information on which client made the bind. To do so, please raise the setting for the "LDAP Interface Events" event logging category to level 2 or higher.

Number of simple binds rejected because they were performed without SSL/TLS: <count of binds>
Number of Negotiate/Kerberos/NTLM/Digest binds rejected because they were performed without signing: <count of binds>

Id. de evento 2889

Cuando un cliente problemático intenta conectarse, se registra el identificador de evento 2889:

Log Name:      Directory Service
Source:        Microsoft-Windows-ActiveDirectory_DomainService
Event ID:      2889
Task Category: LDAP Interface
Level:         Information
Keywords:      Classic
Description:
The following client performed a SASL (Negotiate/Kerberos/NTLM/Digest) LDAP bind without requesting signing (integrity verification), or performed a simple bind over a clear text (non-SSL/TLS-encrypted) LDAP connection. 
 
Client IP address:
<IP address>:<TCP port>
Identity the client attempted to authenticate as:
contoso\<username>
Binding Type:
0 – Simple Bind that does not support signing
1 – SASL Bind that does not use signing

Referencias