Estamos preparando la activación de la política "Requisitos de firma del servidor LDAP" de Active Directory en nuestros controladores de dominio. Al auditar el tráfico LDAP sin firmar (evento 2889), identificamos que el módulo de autoservicio WAPT (get_allowed_domain_usergroups() en waptservice/service.py, comprobando el grupo waptselfservice) está realizando un enlace SASL/GSSAPI sin firmar a través de pyldap.PyLdapClient.bind_sasl_kerberos().
Confirmado: no se solicita ninguna propiedad de seguridad SASL (no se firma) y la configuración del sistema OpenLDAP (SASL_SECPROPS en /etc/ldap/ldap.conf) no tiene efecto: el módulo pyldap parece estar integrado directamente en el binario waptservice (no se encuentra como un archivo), por lo que no es posible ninguna configuración ni solución alternativa por nuestra parte.
En comparación, la autenticación de la consola de administración (auth_module_ad.check_credentials_ad) gestiona correctamente LDAPS/SASL mediante ldap_auth_server; solo el autoservicio parece verse afectado.
Mi pregunta es: ¿Es este un comportamiento conocido? ¿Existe alguna opción de configuración no documentada para forzar la firma? ¿Está prevista una solución para una futura versión?
Gracias por sus comentarios
SSO de autoservicio Kerberos (bind_sasl_kerberos) en enlace LDAP sin firmar
- dcardón
- Experto en WAPT
- Mensajes: 1978
- Inscripción: 18 de junio de 2014 - 09:58
- Ubicación: Saint Sébastien sur Loire
- Contacto :
Hola Nabil,
si no se solicita la firma en este nivel, no es normal. ¿Podrías confirmar la versión de WAPT y el sistema operativo del cliente que ejecuta el autoservicio?
Normalmente, el cliente Lazarus pyLDAP realiza la firma si el servidor lo solicita.
Saludos,
Denis
si no se solicita la firma en este nivel, no es normal. ¿Podrías confirmar la versión de WAPT y el sistema operativo del cliente que ejecuta el autoservicio?
Normalmente, el cliente Lazarus pyLDAP realiza la firma si el servidor lo solicita.
Saludos,
Denis
Denis Cardon - Tranquil IT
¡Comparte tus experiencias en WAPT! Envíanos las URL de tus blogs y artículos en la "Tu opinión del foro y los publicaremos en el de WAPT
¡Comparte tus experiencias en WAPT! Envíanos las URL de tus blogs y artículos en la "Tu opinión del foro y los publicaremos en el de WAPT
Hola Denis,
gracias por tus comentarios. Tras revisar los eventos 2889 en los controladores de dominio, el origen de la autenticación sin firmar no es el autoservicio de Windows (Lazarus/pyLDAP), sino el propio servidor WAPT:
Versión de WAPT: 2.6.1
Sistema operativo del servidor: Debian 13 (Trixie).
La autenticación LDAP se origina en el servidor WAPT, bajo su identidad de cuenta de máquina; por lo tanto, en el lado del servidor WAPT (backend de Python), no en el lado del cliente de Windows.
El autoservicio de Windows no aparece en ninguno de los eventos 2889 reportados. ¿El servidor WAPT realiza solicitudes LDAP directas a Active Directory (más allá de la autenticación waptserver-ldap para el autoservicio de consola/web)? Si es así, ¿qué biblioteca se utiliza en el lado del servidor (python-ldap, ldap3, otra) y está configurada para solicitar la firma SASL?
Saludos cordiales,
Nabil
gracias por tus comentarios. Tras revisar los eventos 2889 en los controladores de dominio, el origen de la autenticación sin firmar no es el autoservicio de Windows (Lazarus/pyLDAP), sino el propio servidor WAPT:
Versión de WAPT: 2.6.1
Sistema operativo del servidor: Debian 13 (Trixie).
La autenticación LDAP se origina en el servidor WAPT, bajo su identidad de cuenta de máquina; por lo tanto, en el lado del servidor WAPT (backend de Python), no en el lado del cliente de Windows.
El autoservicio de Windows no aparece en ninguno de los eventos 2889 reportados. ¿El servidor WAPT realiza solicitudes LDAP directas a Active Directory (más allá de la autenticación waptserver-ldap para el autoservicio de consola/web)? Si es así, ¿qué biblioteca se utiliza en el lado del servidor (python-ldap, ldap3, otra) y está configurada para solicitar la firma SASL?
Saludos cordiales,
Nabil
- dcardón
- Experto en WAPT
- Mensajes: 1978
- Inscripción: 18 de junio de 2014 - 09:58
- Ubicación: Saint Sébastien sur Loire
- Contacto :
Hola Nabil,
en la versión 2.6.1 eliminamos la biblioteca ldap3 y ya no debería haber llamadas LDAP excepto a través del módulo pyLDAP desarrollado en FPC/Lazarus. Rediseñamos este módulo específicamente para tener soporte LDAP completo en SASL GSSAPI Kerberos con firma/sellado y enlace de canal.
El cliente pyLDAP siempre elige la firma/sellado si el servidor lo admite, que es la configuración predeterminada en un Active Directory de Microsoft. Por lo tanto, si cambias tu Active Directory para que requiera firma, no causará ningún problema. Sin embargo, evita el mensaje de auditoría 2889; hemos agregado una bandera a la conexión para solicitar explícitamente la firma/sellado. Esto se incluirá en una versión futura.
¿Qué versión 2.6.1 estás usando exactamente?
Saludos cordiales,
Denis
en la versión 2.6.1 eliminamos la biblioteca ldap3 y ya no debería haber llamadas LDAP excepto a través del módulo pyLDAP desarrollado en FPC/Lazarus. Rediseñamos este módulo específicamente para tener soporte LDAP completo en SASL GSSAPI Kerberos con firma/sellado y enlace de canal.
El cliente pyLDAP siempre elige la firma/sellado si el servidor lo admite, que es la configuración predeterminada en un Active Directory de Microsoft. Por lo tanto, si cambias tu Active Directory para que requiera firma, no causará ningún problema. Sin embargo, evita el mensaje de auditoría 2889; hemos agregado una bandera a la conexión para solicitar explícitamente la firma/sellado. Esto se incluirá en una versión futura.
¿Qué versión 2.6.1 estás usando exactamente?
Saludos cordiales,
Denis
Denis Cardon - Tranquil IT
¡Comparte tus experiencias en WAPT! Envíanos las URL de tus blogs y artículos en la "Tu opinión del foro y los publicaremos en el de WAPT
¡Comparte tus experiencias en WAPT! Envíanos las URL de tus blogs y artículos en la "Tu opinión del foro y los publicaremos en el de WAPT
Hola Denis,
gracias por la aclaración, es tranquilizador. Estamos en la versión 2.6.1.17834-bd5dd3d4.
Para aclarar: en nuestro caso, el módulo pyLDAP se llama en el propio servidor WAPT (waptservice, en nuestro sistema Debian), como parte de la verificación de pertenencia a grupos para el SSO Kerberos de la interfaz de autoservicio, no desde una estación de trabajo Windows. Por lo tanto, la vinculación LDAP observada en el evento 2889 proviene de la dirección IP del servidor WAPT, bajo su cuenta de máquina.
Si el comportamiento es efectivamente como lo describes (firma/sellado aceptado por defecto si AD lo admite, el mensaje 2889 simplemente se debe a la falta de una solicitud explícita por ahora), podemos planificar el cambio a Requerir Firma en el lado de AD sin temor a ningún problema. Lo probaremos y te mantendré informado si surge algún problema.
Saludos cordiales,
Nabil
gracias por la aclaración, es tranquilizador. Estamos en la versión 2.6.1.17834-bd5dd3d4.
Para aclarar: en nuestro caso, el módulo pyLDAP se llama en el propio servidor WAPT (waptservice, en nuestro sistema Debian), como parte de la verificación de pertenencia a grupos para el SSO Kerberos de la interfaz de autoservicio, no desde una estación de trabajo Windows. Por lo tanto, la vinculación LDAP observada en el evento 2889 proviene de la dirección IP del servidor WAPT, bajo su cuenta de máquina.
Si el comportamiento es efectivamente como lo describes (firma/sellado aceptado por defecto si AD lo admite, el mensaje 2889 simplemente se debe a la falta de una solicitud explícita por ahora), podemos planificar el cambio a Requerir Firma en el lado de AD sin temor a ningún problema. Lo probaremos y te mantendré informado si surge algún problema.
Saludos cordiales,
Nabil
