LDAPS
LDAPS es la versión segura del Protocolo ligero de acceso a directorios (LDAP), en la que las comunicaciones LDAP se cifran mediante TLS/SSL.
De forma predeterminada, las comunicaciones LDAP entre las aplicaciones de cliente y de servidor no están cifradas. LDAPS permite proteger el contenido de la consulta LDAP entre Linux VDA y los servidores LDAP.
Los siguientes componentes de Linux VDA tienen dependencias en LDAPS:
- Broker Agent: Registro de Linux VDA en un Delivery Controller
- Servicio de directivas: Evaluación de directivas
La configuración de LDAPS implica lo siguiente:
- Habilitar LDAPS en Active Directory (AD) o el servidor LDAP
- Exportar la entidad de certificación (CA) raíz para uso del cliente
- Habilitar/inhabilitar LDAPS en Linux VDA
- Configurar LDAPS para plataformas de terceros
- Configurar SSSD
- Configurar Winbind
- Configurar Centrify
- Configurar Quest
Nota:
Puede ejecutar el siguiente comando para establecer un ciclo de supervisión para los servidores LDAP. El valor predeterminado es 15 minutos. Establézcalo en 10 minutos, como mínimo.
/opt/Citrix/VDA/bin/ctxreg create -k "HKLM\Software\Citrix\VirtualDesktopAgent" -v "ListOfLDAPServersMonitorPeroid" -t "REG_DWORD" -d "0x0000000f" --force <!--NeedCopy-->
Habilitar LDAPS en el servidor AD/LDAP
Puede habilitar el protocolo LDAP a través de SSL (LDAPS) instalando un certificado con el formato adecuado desde una entidad de certificación (CA) de Microsoft o una entidad de certificación (CA) de otro proveedor distinto de Microsoft.
Sugerencia:
LDAPS se habilita automáticamente al instalar una entidad de certificación raíz empresarial en un controlador de dominio.
Para obtener más información sobre cómo instalar el certificado y comprobar la conexión de LDAPS, consulte How to enable LDAP over SSL with a third-party certification authority.
Si dispone de una jerarquía de entidades de certificación multicapa, no tiene automáticamente el certificado apropiado para la autenticación LDAPS en el controlador de dominio.
Para obtener información sobre cómo habilitar LDAPS para los controladores de dominio mediante una jerarquía de entidades de certificación multicapa, consulte el artículo LDAP over SSL (LDAPS) Certificate.
Habilitar la entidad de certificación raíz para el uso del cliente
El cliente debe utilizar un certificado de una entidad de certificación en la que confíe el servidor LDAP. Para habilitar la autenticación LDAPS para el cliente, importe el certificado de la entidad de certificación (CA) raíz en un almacén de claves de confianza.
Para obtener más información sobre cómo exportar la entidad de certificación raíz, consulte Cómo exportar el certificado de entidad emisora de certificados raíz en el sitio Web de asistencia técnica de Microsoft.
Habilitar o inhabilitar LDAPS en Linux VDA
Para habilitar o inhabilitar LDAPS en Linux VDA, ejecute el script enable_ldaps.sh (habiendo iniciado una sesión como administrador). Para ejecutar el script enable_ldaps.sh de un modo no interactivo, exporte las siguientes variables a su entorno:
#CTX_LDAPS_KEYSTORE_PASSWORD=
#CTX_LDAPS_LDAP_SERVERS=
<!--NeedCopy-->
-
Para habilitar LDAP sobre SSL/TLS con el certificado de CA raíz suministrado:
/opt/Citrix/VDA/sbin/enable_ldaps.sh -Enable pathToRootCA <!--NeedCopy-->
-
Para habilitar LDAP sobre SSL/TLS con vinculación de canales:
/opt/Citrix/VDA/sbin/enable_ldaps.sh -Enablecb pathToRootCA <!--NeedCopy-->
Nota:
El certificado de CA raíz para la vinculación de canales debe estar en formato PEM. Si al habilitar LDAPS no se crea correctamente un entorno virtual Python3, créelo manualmente a partir de las instrucciones indicadas en Crear un entorno virtual Python3.
Para solucionar los errores de conexión SSL que pueden surgir al utilizar la herramienta pip, considere agregar los siguientes hosts de confianza al archivo /etc/pip.conf:
[global]
trusted-host =
pypi.org
files.pythonhosted.org
-
Recurrir a LDAP sin SSL/TLS
``` /opt/Citrix/VDA/sbin/enable_ldaps.sh -Disable
```
The Java keystore dedicated for LDAPS resides in /etc/xdl/.keystore. Affected registry keys include:
``` HKLM\Software\Citrix\VirtualDesktopAgent\ListOfLDAPServers
HKLM\Software\Citrix\VirtualDesktopAgent\ListOfLDAPServersForPolicy
HKLM\Software\Citrix\VirtualDesktopAgent\UseLDAPS
HKLM\Software\Policies\Citrix\VirtualDesktopAgent\Keystore
HKLM\Software\Citrix\VirtualDesktopAgent\EnableChannelBinding ```
Configurar LDAPS para una plataforma de terceros
Además de componentes de Linux VDA, hay varios componentes de software de terceros que se adhieren a Linux VDA y pueden requerir también LDAP seguro, tales como SSSD, Winbind, Centrify y Quest. En las secciones siguientes se describe cómo configurar LDAP seguro con LDAPS, STARTTLS o sellado SASL.
Sugerencia:
No todos estos componentes de software prefieren usar el puerto SSL 636 para garantizar LDAP seguro. La mayoría de las veces, LDAPS (LDAP por SSL en el puerto 636) no puede coexistir con STARTTLS en el puerto 389.
SSSD
Configure el tráfico de LDAP seguro de SSSD en el puerto 636 o 389, según las opciones. Para obtener más información, consulte SSSD LDAP Linux man page.
Winbind
La consulta LDAP en Winbind utiliza el método ADS. Winbind solo admite el método StartTLS en el puerto 389. Los archivos de configuración afectados son /etc/samba/smb.conf y /etc/openldap/ldap.conf (para Amazon Linux 2, RHEL, Rocky Linux, CentOS y SUSE) o /etc/ldap/ldap.conf (para Debian y Ubuntu). Cambie los archivos de la siguiente manera:
-
smb.conf
ldap ssl = start tls
ldap ssl ads = yes
client ldap sasl wrapping = plain
-
ldap.conf
TLS_REQCERT never
De forma alternativa, puede configurar LDAP seguro mediante firma y sello de SASL GSSAPI, pero no puede coexistir con TLS/SSL. Para usar el cifrado SASL, cambie la configuración de smb.conf:
ldap ssl = off
ldap ssl ads = no
client ldap sasl wrapping = seal
Centrify
Centrify no admite LDAPS en el puerto 636. No obstante, sí que ofrece cifrado seguro en el puerto 389. Para obtener más información, visite el sitio de Centrify.
Quest
Quest Authentication Service no admite LDAPS en el puerto 636, pero proporciona cifrado seguro en el puerto 389 mediante un método diferente.
Solución de problemas
Pueden producirse los siguientes problemas cuando se usa esta función:
-
Disponibilidad del servicio LDAPS
Compruebe que la conexión de LDAPS está disponible en el servidor AD/LDAP. El puerto está en 636 de forma predeterminada.
-
El registro de Linux VDA falla cuando LDAPS está habilitado
Verifique si el servidor LDAP y el puerto o los puertos están configurados correctamente. Compruebe primero el certificado de CA raíz y asegúrese de que coincide con el servidor de AD/LDAP.
-
Registro incorrecto cambiado por accidente
Si actualizó las claves relacionadas con LDAPS accidentalmente sin usar enable_ldaps.sh, esto puede romper la dependencia de los componentes de LDAPS.
-
El tráfico LDAP no se cifra mediante SSL/TLS desde Wireshark ni ninguna otra herramienta de supervisión de red
De forma predeterminada, LDAPS está inhabilitado. Ejecute /opt/Citrix/VDA/sbin/enable_ldaps.sh para forzarlo.
-
No hay tráfico LDAPS desde Wireshark o cualquier otra herramienta de supervisión de red
El tráfico de LDAP o LDAPS ocurre cuando tienen lugar el registro de Linux VDA y la evaluación de las directivas de grupo.
-
No se pudo comprobar la disponibilidad de LDAPS ejecutando “ldp connect” en el servidor de Active Directory
Use el nombre de dominio completo (FQDN) de AD en lugar de la dirección IP.
-
No se pudo importar el certificado de CA raíz ejecutando el script /opt/Citrix/VDA/sbin/enable_ldaps.sh
Proporcione la ruta de acceso completa del certificado de CA y compruebe si el certificado raíz de la CA es del tipo correcto. En general, debería admitir la mayoría de los tipos de Java Keytool disponibles. Si no aparece en la lista de compatibilidad, puede convertir el tipo. Recomendamos el formato PEM con codificación base64 si encuentra algún problema de formato del certificado.
-
No se puede ver el certificado de CA raíz con el parámetro de Keytool -list
Al habilitar LDAPS ejecutando
/opt/Citrix/VDA/sbin/enable_ldaps.sh
, el certificado se importa a /etc/xdl/.keystore y la contraseña se establece para proteger el almacén de claves. Si olvida la contraseña, puede volver a ejecutar el script para crear un almacén de claves.