Pagina 1 di 1

Single sign-on self-service Kerberos (bind_sasl_kerberos) in autenticazione LDAP non firmata

Pubblicato: 15 luglio 2026 - 11:11
di ngallouj
Ci stiamo preparando ad attivare i criteri di Active Directory "Requisiti di firma del server LDAP" sui nostri controller di dominio. Analizzando il traffico LDAP non firmato (evento 2889), abbiamo identificato che il modulo self-service WAPT (get_allowed_domain_usergroups() in waptservice/service.py, verificando il gruppo waptselfservice) esegue un binding SASL/GSSAPI non firmato tramite pyldap.PyLdapClient.bind_sasl_kerberos().

Conferma: non viene richiesta alcuna proprietà di sicurezza SASL (nessuna firma) e la configurazione di sistema OpenLDAP (SASL_SECPROPS in /etc/ldap/ldap.conf) non ha alcun effetto: il modulo pyldap sembra essere incorporato direttamente nel binario waptservice (non viene trovato come file), quindi non è possibile alcuna configurazione o soluzione alternativa da parte nostra.

A titolo di confronto, l'autenticazione della console di amministrazione (auth_module_ad.check_credentials_ad) gestisce correttamente LDAPS/SASL tramite ldap_auth_server; solo il self-service sembra essere interessato.

La mia domanda è: si tratta di un comportamento noto? Esiste un'opzione di configurazione non documentata per forzare la firma? È prevista una correzione in una versione futura?

Grazie per il vostro feedback

Oggetto: Re: Single Sign-On (SSO) self-service Kerberos (bind_sasl_kerberos) in autenticazione LDAP non firmata

Pubblicato: 15 luglio 2026 - 11:59
di dcardon
Ciao Nabil,

se la firma non viene richiesta a questo livello, non è normale. Potresti confermare la versione di WAPT e il sistema operativo client su cui è in esecuzione il self-service?

Normalmente, il client Lazarus pyLDAP esegue la firma se il server la richiede.

Cordiali saluti,

Denis

Oggetto: Re: Single Sign-On (SSO) self-service Kerberos (bind_sasl_kerberos) in autenticazione LDAP non firmata

Pubblicato: 16 luglio 2026 - 15:37
di ngallouj
Ciao Denis,

grazie per il feedback. Dopo aver controllato gli eventi 2889 sui DC, l'origine del bind non firmato non è il self-service di Windows (Lazarus/pyLDAP) ma il server WAPT stesso:

Versione WAPT: 2.6.1
Sistema operativo del server: Debian 13 (Trixie)
Il bind LDAP ha origine dal server WAPT, con la sua identità di account macchina, quindi sul lato waptserver (backend Python), non sul lato client Windows.
Il self-service di Windows non compare in nessuno degli eventi 2889 segnalati. Il server WAPT effettua richieste LDAP dirette ad Active Directory (oltre all'autenticazione waptserver-ldap per il self-service della console/web)? In tal caso, quale libreria viene utilizzata sul lato server (python-ldap, ldap3, altro) ed è configurata per richiedere la firma SASL?

Cordiali saluti,
Nabil

Oggetto: Re: Single Sign-On (SSO) self-service Kerberos (bind_sasl_kerberos) in autenticazione LDAP non firmata

Pubblicato: 16 luglio 2026 - 18:34
di dcardon
Ciao Nabil,

nella versione 2.6.1 abbiamo rimosso la libreria ldap3 e non dovrebbero più esserci chiamate LDAP se non tramite il modulo pyLDAP sviluppato in FPC/Lazarus. Abbiamo riprogettato questo modulo specificamente per avere un supporto LDAP completo in SASL GSSAPI Kerberos con firma/sigillatura e Channel Binding.

Il client pyLDAP sceglie sempre la firma/sigillatura se il server la supporta, che è l'impostazione predefinita su Microsoft AD. Quindi, se imposti il ​​tuo AD in modo che la firma sia obbligatoria, non ci saranno problemi. Tuttavia, per evitare il messaggio di audit 2889, abbiamo aggiunto un flag alla connessione per richiedere esplicitamente la firma/sigillatura. Questa funzionalità sarà inclusa in una versione futura.

Quale versione 2.6.1 stai utilizzando esattamente?

Cordiali saluti,

Denis

Oggetto: Re: Single Sign-On (SSO) self-service Kerberos (bind_sasl_kerberos) in autenticazione LDAP non firmata

Pubblicato: 17 luglio 2026 - 09:12
di ngallouj
Ciao Denis,

grazie per il chiarimento, è rassicurante. Stiamo usando la versione 2.6.1.17834-bd5dd3d4.

Per chiarire: nel nostro caso, il modulo pyLDAP viene chiamato direttamente sul server WAPT (waptservice, sul nostro sistema Debian), come parte della verifica dell'appartenenza al gruppo per l'SSO Kerberos dell'interfaccia self-service, e non da una workstation Windows. Il bind LDAP osservato nell'evento 2889 proviene quindi dall'indirizzo IP del server WAPT, sotto il suo account macchina.

Se il comportamento è effettivamente quello che descrivi (firma/sigillatura accettata di default se AD la supporta, messaggio 2889 semplicemente a causa della mancanza di una richiesta esplicita per ora), possiamo pianificare il passaggio a "Richiedi firma" sul lato AD senza timore di problemi. Lo testeremo e ti terrò informato in caso di problemi.

Cordiali saluti,
Nabil