Compartir por


Solución de problemas de la autenticación de Active Directory para SQL Server en Linux y contenedores

Se aplica a: SQL Server - Linux

Este artículo le ayuda a solucionar los problemas de autenticación de Active Directory Domain Services con SQL Server en Linux y contenedores. Incluye comprobaciones de requisitos previos y sugerencias para una configuración de Active Directory correcta y una lista de errores comunes y pasos de solución de problemas.

Validación de la configuración actual

Antes de empezar a solucionar problemas, debe validar el usuario actual, mssql.conf, el nombre de entidad de seguridad de servicio (SPN) y la configuración del dominio kerberos.

  1. Obtenga o renueve el vale de concesión de vales (TGT) de Kerberos mediante kinit:

    kinit privilegeduser@CONTOSO.COM
    
  2. Ejecute el siguiente comando y asegúrese de que el usuario con el que ejecuta este comando tiene acceso a mssql.keytab:

    /opt/mssql/bin/mssql-conf validate-ad-config /var/opt/mssql/secrets/mssql.keytab
    

    Para obtener más información sobre el comando validate-ad-config, consulte la ayuda con el comando /opt/mssql/bin/mssql-conf validate-ad-config --help.

Búsquedas de DNS e inversas de DNS

  1. Las búsquedas de DNS en el nombre de dominio y el nombre NetBIOS deben devolver la misma dirección IP, que normalmente coincide con la dirección IP del controlador de dominio (DC). Ejecute estos comandos desde el equipo host de SQL Server.

    nslookup contoso
    nslookup contoso.com
    

    Si las direcciones IP no coinciden, consulte Unión de SQL Server en un host de Linux a un dominio de Active Directory para corregir las búsquedas de DNS y la comunicación con el controlador de dominio.

  2. Realice una búsqueda inversa de DNS (rDNS) para cada dirección IP enumerada en los resultados anteriores. Esto incluye las direcciones IPv4 e IPv6 cuando proceda.

    nslookup <IPs returned from the above commands>
    

    Todas deben devolver <hostname>.contoso.com. Si ese no es el caso, compruebe los registros PTR (puntero) que se crean en Active Directory.

    Es posible que tenga que trabajar con el administrador de dominio para que rDNS funcione. Si no puede agregar entradas PTR para todas las direcciones IP devueltas, también puede limitar SQL Server a un subconjunto de controladores de dominio. Este cambio afecta a cualquier otro servicio que use krb5.conf en el host.

    Para obtener más información sobre DNS inverso, consulte ¿Qué es DNS inverso?

Comprobación de los permisos y el archivo keytab

  1. Compruebe que ha creado el archivo keytab (key table) y que mssql-conf está configurado para usar el archivo correcto con los permisos adecuados. El archivo keytab debe ser accesible para la cuenta de usuario mssql. Para obtener más información, consulte Uso de adutil para configurar la autenticación de Active Directory con SQL Server en Linux.

  2. Asegúrese de que puede mostrar una lista del contenido del archivo keytab y de que ha agregado los SPN, el puerto, el tipo de cifrado y la cuenta de usuario correctos. Si no escribe las contraseñas correctamente al crear las entradas de keytab y SPN, se encontrará con errores al intentar iniciar sesión mediante la autenticación de Active Directory.

    klist -kte /var/opt/mssql/secrets/mssql.keytab
    

    A continuación se muestra un ejemplo de un archivo keytab de trabajo. En el ejemplo se usan dos tipos de cifrado, pero puede usar solo uno o varios en función de los tipos de cifrado admitidos en su entorno. En el ejemplo, sqluser@CONTOSO.COM es la cuenta con privilegios (que coincide con la configuración network.privilegedadaccount en mssql-conf) y el nombre de host para SQL Server está escuchando sqllinux.contoso.com en el puerto predeterminado 1433.

    $ kinit privilegeduser@CONTOSO.COM
    Password for privilegeduser@CONTOSO.COM:
    
    $ klist
    Ticket cache: FILE:/tmp/krb5cc_1000
    Default principal: privilegeduser@CONTOSO.COM
    Valid starting     Expires            Service principal
    01/26/22 20:42:02  01/27/22 06:42:02  krbtgt/CONTOSO.COM@CONTOSO.COM
        renew until 01/27/22 20:41:57
    
    $ klist -kte mssql.keytab
    Keytab name: FILE:mssql.keytab
    KVNO Timestamp         Principal
    ---- ----------------- --------------------------------------------------------
       2 01/13/22 13:19:47 MSSQLSvc/sqllinux@CONTOSO.COM (aes256-cts-hmac-sha1-96)
       2 01/13/22 13:19:47 MSSQLSvc/sqllinux@CONTOSO.COM (aes128-cts-hmac-sha1-96)
       2 01/13/22 13:19:47 MSSQLSvc/sqllinux.contoso.com@CONTOSO.COM (aes256-cts-hmac-sha1-96)
       2 01/13/22 13:19:47 MSSQLSvc/sqllinux.contoso.com@CONTOSO.COM (aes128-cts-hmac-sha1-96)
       2 01/13/22 13:19:47 MSSQLSvc/sqllinux:1433@CONTOSO.COM (aes256-cts-hmac-sha1-96)
       2 01/13/22 13:19:47 MSSQLSvc/sqllinux:1433@CONTOSO.COM (aes128-cts-hmac-sha1-96)
       2 01/13/22 13:19:47 MSSQLSvc/sqllinux.contoso.com:5533@CONTOSO.COM (aes256-cts-hmac-sha1-96)
       2 01/13/22 13:19:47 MSSQLSvc/sqllinux.contoso.com:5533@CONTOSO.COM (aes128-cts-hmac-sha1-96)
       2 01/13/22 13:19:55 sqluser@CONTOSO.COM (aes256-cts-hmac-sha1-96)
       2 01/13/22 13:19:55 sqluser@CONTOSO.COM (aes128-cts-hmac-sha1-96)
    

Validación de la información de dominio kerberos en krb5.conf

  1. En krb5.conf (ubicado en /etc/krb5.conf), compruebe que ha proporcionado valores para el dominio kerberos predeterminado, la información de dominio kerberos y la asignación de dominio a dominio kerberos. El ejemplo siguiente es un archivo llamado krb5.conf. Para obtener más información, compruebe Descripción de la autenticación de Active Directory para SQL Server en Linux y contenedores.

    [libdefaults]
    default_realm = CONTOSO.COM
    
    [realms]
    CONTOSO.COM = {
        kdc = adVM.contoso.com
        admin_server = adVM.contoso.com
        default_domain= contoso.com
    }
    
    [domain_realm]
    .contoso.com = CONTOSO.COM
    contoso.com = CONTOSO.COM
    
  2. Puede restringir SQL Server para ponerse en contacto con un subconjunto de controladores de dominio, lo que resulta útil si la configuración de DNS devuelve más controladores de dominio de los que SQL Server necesita para ponerse en contacto. SQL Server en Linux permite especificar una lista de controladores de dominio con los que SQL Server se pone en contacto en modo round robin al realizar una búsqueda LDAP.

    Hay dos pasos que debe completar. En primer lugar, modifique krb5.conf agregando cualquier número de controladores de dominio que necesite, con el prefijo kdc =.

    [realms]
    CONTOSO.COM = {
      kdc = kdc1.contoso.com
      kdc = kdc2.contoso.com
      ..
      ..
    }
    

    Tenga en cuenta que krb5.conf es un archivo de configuración de cliente Kerberos común, por lo que cualquier cambio que realice en este archivo afectará a otros servicios además de SQL Server. Antes de realizar cambios, consulte con el administrador del dominio.

    A continuación, puede habilitar la configuración network.enablekdcfromkrb5conf mediante mssql-conf y, a continuación, reiniciar SQL Server:

    sudo /opt/mssql/bin/mssql-conf set network.enablekdcfromkrb5conf true
    sudo systemctl restart mssql-server
    

Solución de problemas de Kerberos

Consulte los detalles siguientes, que le ayudarán a solucionar problemas de autenticación de Active Directory e identificar mensajes de error específicos.

Seguimiento de Kerberos

Después de crear el usuario, los SPN y los archivos keytab, y configurar mssql-conf para ver que la configuración de Active Directory para SQL Server en Linux es correcta, puede mostrar los mensajes de seguimiento de Kerberos en la consola (stdout) cuando intente obtener o renovar el TGT de Kerberos con la cuenta con privilegios mediante este comando:

root@sqllinux mssql# KRB5_TRACE=/dev/stdout kinit -kt /var/opt/mssql/secrets/mssql.keytab sqluser

Si no hay ningún problema, debería ver una salida similar al ejemplo siguiente. De lo contrario, el seguimiento proporciona contexto sobre los pasos que debe revisar.

3791545 1640722276.100275: Getting initial credentials for sqluser@CONTOSO.COM
3791545 1640722276.100276: Looked up etypes in keytab: aes256-cts, aes128-cts
3791545 1640722276.100278: Sending unauthenticated request
3791545 1640722276.100279: Sending request (202 bytes) to CONTOSO.COM
3791545 1640722276.100280: Initiating TCP connection to stream 10.0.0.4:88
3791545 1640722276.100281: Sending TCP request to stream 10.0.0.4:88
3791545 1640722276.100282: Received answer (185 bytes) from stream 10.0.0.4:88
3791545 1640722276.100283: Terminating TCP connection to stream 10.0.0.4:88
3791545 1640722276.100284: Response was from master KDC
3791545 1640722276.100285: Received error from KDC: -1765328359/Additional pre-authentication required
3791545 1640722276.100288: Preauthenticating using KDC method data
3791545 1640722276.100289: Processing preauth types: PA-PK-AS-REQ (16), PA-PK-AS-REP_OLD (15), PA-ETYPE-INFO2 (19), PA-ENC-TIMESTAMP (2)
3791545 1640722276.100290: Selected etype info: etype aes256-cts, salt "CONTOSO.COMsqluser", params ""
3791545 1640722276.100291: Retrieving sqluser@CONTOSO.COM from /var/opt/mssql/secrets/mssql.keytab (vno 0, enctype aes256-cts) with result: 0/Success
3791545 1640722276.100292: AS key obtained for encrypted timestamp: aes256-cts/E84B
3791545 1640722276.100294: Encrypted timestamp (for 1640722276.700930): plain 301AA011180F32303231313XXXXXXXXXXXXXXXXXXXXXXXXXXXXX, encrypted 333109B95898D1B4FC1837DAE3E4CBD33AF8XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
3791545 1640722276.100295: Preauth module encrypted_timestamp (2) (real) returned: 0/Success
3791545 1640722276.100296: Produced preauth for next request: PA-ENC-TIMESTAMP (2)
3791545 1640722276.100297: Sending request (282 bytes) to CONTOSO.COM
3791545 1640722276.100298: Initiating TCP connection to stream 10.0.0.4:88
3791545 1640722276.100299: Sending TCP request to stream 10.0.0.4:88
3791545 1640722276.100300: Received answer (1604 bytes) from stream 10.0.0.4:88
3791545 1640722276.100301: Terminating TCP connection to stream 10.0.0.4:88
3791545 1640722276.100302: Response was from master KDC
3791545 1640722276.100303: Processing preauth types: PA-ETYPE-INFO2 (19)
3791545 1640722276.100304: Selected etype info: etype aes256-cts, salt "CONTOSO.COMsqluser", params ""
3791545 1640722276.100305: Produced preauth for next request: (empty)
3791545 1640722276.100306: AS key determined by preauth: aes256-cts/E84B
3791545 1640722276.100307: Decrypted AS reply; session key is: aes256-cts/05C0
3791545 1640722276.100308: FAST negotiation: unavailable
3791545 1640722276.100309: Initializing KCM:0:37337 with default princ sqluser@CONTOSO.COM
3791545 1640722276.100310: Storing sqluser@CONTOSO.COM -> krbtgt/CONTOSO.COM@CONTOSO.COM in KCM:0:37337
3791545 1640722276.100311: Storing config in KCM:0:37337 for krbtgt/CONTOSO.COM@CONTOSO.COM: pa_type: 2
3791545 1640722276.100312: Storing sqluser@CONTOSO.COM -> krb5_ccache_conf_data/pa_type/krbtgt/CONTOSO.COM@CONTOSO.COM@X-CACHECONF: in KCM:0:37337

$ sudo klist
Ticket cache: KCM:0:37337
Default principal: sqluser@CONTOSO.COM
Valid starting Expires Service principal
12/28/2021 20:11:16 12/29/2021 06:11:16 krbtgt/CONTOSO.COM@CONTOSO.COM
renew until 01/04/2022 20:11:16

Habilitación del registro de PAL basado en seguridad y Kerberos

Puede habilitar los registros security.kerberos y security.ldap para identificar mensajes de error específicos en PAL (capa de abstracción de plataforma). Cree un archivo logger.ini con el contenido siguiente en /var/opt/mssql/, reinicie SQL Server y, a continuación, reproduzca el error. Los mensajes de error y depuración de Active Directory de PAL se registrarán en /var/opt/mssql/log/security.log.

[Output:security]
Type = File
Filename = /var/opt/mssql/log/security.log
[Logger]
Level = Silent
[Logger:security.kerberos]
Level = Debug
Outputs = security
[Logger:security.ldap]
Level = debug
Outputs = security

No es necesario reiniciar SQL Server para que los cambios del registrador se recojan en logger.ini, pero pueden producirse errores durante la inicialización de servicio de Active Directory o durante el inicio de SQL Server que de otro modo pasarían desapercibidos. El reinicio de SQL Server garantiza la captura de todos los mensajes de error.

Tenga en cuenta que el registro de seguridad sigue escribiendo en la unidad hasta que quite los cambios en logger.ini. Recuerde deshabilitar los registros security.kerberos y security.ldap una vez que haya identificado y resuelto el problema para evitar quedarse sin espacio en la unidad.

El registrador de PAL genera archivos de registro con el formato siguiente:

<DATETIME> <Log level> [<logger>] <<process/thread identifier>> <message>

Por ejemplo, a continuación se muestra una línea de ejemplo del registro:

12/28/2021 13:56:31.609453055 Error [security.kerberos] <0003753757/0x00000324> Request ticket server MSSQLSvc/sql.contoso.com:1433@CONTOSO.COM kvno 3 enctype aes256-cts found in keytab but cannot decrypt ticket

Una vez que tenga habilitado el registro de PAL y reproduzca el problema, busque el primer mensaje con un nivel de registro de Error y, a continuación, use la tabla siguiente para encontrar el error y siga las instrucciones y recomendaciones para solucionar el problema.

Mensajes comunes de error

Mensaje de error: "Error de inicio de sesión. El inicio de sesión se realiza desde un dominio que no es de confianza y no se puede utilizar con autenticación integrada".

Causa posible

Este error se produce al intentar iniciar sesión con una cuenta de Active Directory una vez configurada la autenticación de Active Directory.

Instrucciones

Se trata de un mensaje de error genérico y debe habilitar el registro de PAL para identificar el mensaje de error específico.

Puede consultar esta lista de errores comunes para identificar la posible causa de cada error y, a continuación, seguir la guía de solución de problemas para resolver el problema.

Mensajes de error
No se encuentra el usuario o grupo de Windows NT 'CONTOSO\user'
Could not look up short domain name due to error (No se pudo buscar un nombre de dominio corto debido a un error)
Could not perform rDNS lookup for host <hostname> due to error (No se pudo realizar una búsqueda de rDNS del host debido a un error)
FQDN not returned by rDNS lookup (FQDN no devuelto por la búsqueda de rDNS)
Failed to bind to LDAP server (No se pudo enlazar al servidor LDAP)
Key table entry not found (No se encuentra la entrada de keytab)
No key table entry found for <principal> (No se encuentra la entrada de keytab de )
Request ticket server <principal> not found in keytab (ticket kvno <KVNO>) (No se encuentra el servidor de vales de solicitud en el archivo keytab [vale kvno ])
Request ticket server <principal> kvno <KVNO> found in keytab but not with enctype <encryption type> (Se encuentra el servidor de vales de solicitud kvno en el archivo keytab, pero no con enctype )
Request ticket server <principal> kvno <KVNO> enctype <encryption type> found in keytab but cannot decrypt ticket (Se encuentra el servidor de vales de solicitud kvno enctype en el archivo keytab, pero no se puede descifrar el vale)

Mensaje de error: No se encuentra el usuario o grupo de Windows NT 'CONTOSO\user'

Causa posible

Puede encontrar este error al intentar crear el inicio de sesión de Windows o durante group refresh.

Guía

Para validar el problema, siga las instrucciones tal como se documenta para "Error de inicio de sesión. El inicio de sesión se realiza desde un dominio que no es de confianza y no se puede utilizar con autenticación integrada. (Microsoft SQL Server, Error: 18452)" habilite el registro de PAL para identificar el error específico y solucionar el problema.

Mensaje de error: "Could not look up short domain name due to error" (No se pudo buscar un nombre de dominio corto debido a un error)

Causa posible

La sintaxis de Transact-SQL para crear un inicio de sesión de Active Directory es:

CREATE LOGIN [CONTOSO\user] FROM WINDOWS;

El nombre NetBIOS (CONTOSO) es necesario en el comando, pero al realizar una conexión LDAP en el back-end, se debe proporcionar el FQDN del dominio (contoso.com). Para realizar esta conversión, se realiza una búsqueda de DNS en CONTOSO para su resolución en la dirección IP de un controlador de dominio, al que se puede enlazar para las consultas LDAP.

Instrucciones

El mensaje de error "Could not look up short domain name due to error" (No se pudo buscar un nombre de dominio corto debido a un error) sugiere que nslookup para contoso no se resuelve en la dirección IP del controlador de dominio. Debe revisar las búsquedas de DNS e inversas de DNS para confirmar que nslookup debe coincidir tanto para NetBIOS como para el nombre de dominio.

Mensajes de error: "Could not perform rDNS lookup for host <hostname> due to error" (No se pudo realizar una búsqueda de rDNS del host debido a un error) o "FQDN not returned by rDNS lookup" (FQDN no devuelto por la búsqueda de rDNS)

Causa posible

Este mensaje de error indica principalmente que los registros DNS inversos (registros PTR) no existen para todos los controladores de dominio.

Instrucciones

Compruebe las búsquedas de DNS e inversas de DNS. Una vez identificados los controladores de dominio que no tienen entradas rDNS, hay dos opciones:

  • Agregar entradas rDNS para todos los controladores de dominio

    No se trata de una configuración de SQL Server y debe configurarse en el nivel de dominio. Es posible que tenga que trabajar con el equipo de administración de dominios para crear los registros PTR necesarios para todos los controladores de dominio devueltos al ejecutar nslookup en el nombre de dominio.

  • Restringir SQL Server a un subconjunto de controladores de dominio

    Si no es posible agregar registros PTR para todos los controladores de dominio devueltos, puede limitar SQL Server a un subconjunto de controladores de dominio.

Mensaje de error: "Failed to bind to LDAP server ldap://CONTOSO.COM:3268: Local Error" (No se pudo enlazar al servidor LDAP ldap://CONTOSO.COM:3268: Local Error)

Causa posible

Se trata de un error genérico de OpenLDAP, pero normalmente significa una de estas dos cosas:

  • Sin credenciales
  • Problemas de rDNS

Aquí se muestra un ejemplo de este tipo del mensaje de error:

12/09/2021 14:32:11.319933684 Error [security.ldap] <0000000142/0x000001c0> Failed to bind to LDAP server ldap://[CONTOSO.COM:3268]: Local error

Instrucciones

  • Sin credenciales

    Otros mensajes de error se envían primero si no se pueden cargar credenciales para las conexiones LDAP. Debe habilitar el registro de PAL y comprobar si hay mensajes de error en el registro de errores anteriores a este. Si no hay ningún otro error, lo más probable es que no se trate de un problema de credenciales. Si lo hay, corrija el mensaje de error que ve. En la mayoría de los casos, se tratará de uno de los mensajes de error incluidos en este artículo.

  • Problemas de rDNS

    Compruebe las búsquedas de DNS e inversas de DNS.

    Cuando la biblioteca OpenLDAP se conecta a un controlador de dominio, se proporciona el FQDN del dominio (contoso.com) o el FQDN del controlador de dominio (kdc1.contoso.com). Una vez realizada la conexión (pero antes de volver correctamente al que llama), la biblioteca OpenLDAP comprueba la dirección IP del servidor al que se conectó. A continuación, realizará una búsqueda inversa de DNS y comprobará que el nombre del servidor conectado a (kdc1.contoso.com) coincide con el dominio para el que se solicitó la conexión (contoso.com). Si no coincide, la biblioteca OpenLDAP genera un error de conexión como una característica de seguridad. Esto forma parte de por qué la configuración de rDNS es tan importante para SQL Server en Linux y se ha hecho hincapié en la misma en esta documentación.

Mensaje de error: "Key table entry not found" (No se encuentra la entrada de keytab)

Causa posible

Este error indica problemas de acceso con el archivo keytab o que no se tienen todas las entradas necesarias en el archivo keytab.

Instrucciones

Asegúrese de que el archivo keytab tiene el nivel de acceso y los permisos correctos. La ubicación predeterminada y el nombre del archivo keytab es /var/opt/mssql/secrets/mssql.keytab. Para ver los permisos actuales en todos los archivos de la carpeta de secretos, puede ejecutar este comando:

sudo ls -lrt /var/opt/mssql/secrets

Puede usar estos comandos para establecer los permisos y el nivel de acceso en el archivo keytab:

sudo chown mssql /var/opt/mssql/secrets/mssql.keytab
sudo chmod 440 /var/opt/mssql/secrets/mssql.keytab

Para obtener más información sobre cómo enumerar las entradas de keytab y establecer los permisos correctos, consulte la sección Comprobación de los permisos y el archivo keytab anterior. Si no se cumple alguna de las condiciones mencionadas en dicha sección, verá este error u otro equivalente: "Key table entry not found".

Mensaje de error: "No key table entry found for <principal>" (No se encuentra la entrada de keytab de )

Causa posible

Al intentar recuperar las credenciales de <principal> del archivo keytab, no se encontraron entradas aplicables.

Instrucciones

Siga la sección Comprobación de los permisos y el archivo keytab de este documento para enumerar todas las entradas del archivo keytab. Asegúrese de que <principal> está presente. Aquí, la cuenta de entidad de seguridad suele ser network.privilegedadaccount, en la cual se registran los SPN. Si no es así, agréguela mediante el comando adutil. Para obtener más información, consulte Uso de adutil para configurar la autenticación de Active Directory con SQL Server en Linux.

Mensaje de error: "Request ticket server <principal> not found in keytab (ticket <KVNO>)" (No se encuentra el servidor de vales de solicitud en el archivo keytab [vale kvno ])

Causa posible

Este error indica que SQL Server no pudo encontrar una entrada de keytab para el vale solicitado con el KVNO (número de versión de la clave) especificado.

Instrucciones

Siga la sección Comprobación de los permisos y el archivo keytab de este documento para enumerar todas las entradas del archivo keytab. Si no encuentra un mensaje de error que coincida con <principal> y KVNO, agregue esta entrada actualizando el archivo keytab mediante los pasos mencionados en esa sección.

También puede ejecutar el siguiente comando para obtener el KVNO más reciente del controlador de dominio. Antes de ejecutar este comando, debe obtener o renovar el TGT de Kerberos mediante el comando kinit. Para obtener más información, consulte Uso de adutil para crear un usuario de Active Directory para SQL Server y establecer el nombre de entidad de seguridad de servicio (SPN).

kvno MSSQLSvc/<hostname>

Mensaje de error: "Request ticket server <principal> kvno <KVNO> found in keytab but not with enctype <encryption type>" (Se encuentra el servidor de vales de solicitud kvno en el archivo keytab, pero no con enctype )

Causa posible

Este error significa que el tipo de cifrado solicitado por el cliente no estaba presente en el archivo keytab de SQL Server.

Instrucciones

Para realizar la validación, siga la sección Comprobación de los permisos y el archivo keytab de este documento para enumerar todas las entradas del archivo keytab. Si no encuentra un mensaje de error que coincida con la entidad de seguridad, KVNO y el tipo de cifrado, agregue esta entrada actualizando el archivo keytab mediante los pasos mencionados en esa sección.

Mensaje de error: "Se encuentra el servidor de vales de solicitud <entidad de seguridad> kvno <KVNO> enctype <tipo de cifrado> en el archivo keytab, pero no se puede descifrar el vale".

Causa posible

Este error indica que SQL Server no pudo usar una credencial del archivo keytab para descifrar la solicitud de autenticación entrante. La causa del error suele ser una contraseña incorrecta.

Instrucciones

Vuelva a crear el archivo keytab con la contraseña correcta. Si usa adutil, siga los pasos descritos en Uso de adutil para configurar la autenticación de Active Directory con SQL Server en Linux para crear el archivo keytab con la contraseña correcta.

Puertos comunes

En esta tabla se muestran los puertos comunes que usa SQL Server en Linux para configurar y administrar la autenticación de Active Directory.

Servicio de Active Directory Port
DNS 53
LDAP 389
LDAPS 636
Kerberos 88