No se puede ENLAZAR a Active Directory a través de LDAPS

No se puede ENLAZAR a Active Directory a través de LDAPS

Tengo un DC que se ejecuta en Windows Server 2019 y tiene instalada la función de Servicios de dominio. Tengo una CA de varios niveles configurada en el mismo dominio usando la función AD CS (raíz apagada, intermedia apagada, emisión encendida y unida al dominio).

Tengo problemas para lograr que clientes de terceros (es decir, máquinas y/o aplicaciones web no unidas a un dominio) se BIND a través de LDAPS/636. Funcionan perfectamente bien sobre LDAP/389, y algunos funcionan con StartTLS, aunque eso no siempre es una opción, y mi preferencia es usar LDAPS adecuado.

Generé un certificado para el servidor AD y me aseguré de usar su FQDN en el Asunto del certificado, además de incluir su nombre de host DNS y dirección IP como SAN para cubrir todas las bases. También me aseguré de que se haya seleccionado "Autenticación del servidor" en la extensión Uso mejorado de claves.

Todavía tengo que verificar esto porque no tengo acceso remoto al entorno, pero supongamos que el certificado se generó utilizando Schannel CSP según la documentación de Microsoft. El certificado está firmado por la CA emisora ​​correcta, y los clientes tienen toda la cadena de CA instalada y pueden verificar el certificado de AD localmente (si exporto el certificado de AD y lo copio a uno de los clientes)

Aquí es donde se vuelve extraño: si me subo al servidor AD, lo abro ldp.exe, puedo conectarme a través de LDAPS/636 usando SSL y Host supports SSL, SSL cipher strength = 256 bitsaparece en la vista de salida/consola. Sin embargo, si me subo a uno de los clientes (digamos, una máquina Linux) e intento conectarme usando openssl:

openssl s_client -showcerts -state -connect <AD_FQDN>:636

No recibo un certificado; En su lugar, aparece esto (tuve que escribir esto en lugar de copiar y pegar debido a la naturaleza de la red, por lo que podría haber ligeras imprecisiones):

CONNECTED (00000003)
write: errno = 104
---
no peer certificate available
---
No client cert CA names sent
---
SSL handshake has read 0 bytes and written 324 bytes
Verification: OK
---
<snip>

De hecho, si intento configurar un cliente para que use LDAPS para la autenticación, todavía no puedo hacerlo funcionar. Por lo general, veo algo parecido a este error inútil: SSL_Certificate error: Connection closed by peerque, según mi experiencia, generalmente indica un problema de verificación/confianza del certificado (lo que tendría sentido si el cliente ni siquiera obtiene un certificado para verificar). Algunos otros clientes son incluso menos útiles y simplemente dicen "Error al BIND al servidor LDAP"

El DC definitivamente está escuchando en el puerto 636 y puedo conectarme externamente desde los clientes (es decir, no solo en loopback dentro de la máquina DC), lo cual he verificado usando netcat.

nc -vz <AD_FQDN> 636

¿Alguna idea de qué podría estar causando este problema?

Respuesta1

Resulta que nuestro firewall estaba realizando una inspección de la aplicación y rompiendo la conexión SSL. Desactivar la inspección de aplicaciones resolvió mis problemas.

información relacionada