[FEATURE] Support des certificats SSL auto-signés pour l'authentification LDAP/AD#3137
[FEATURE] Support des certificats SSL auto-signés pour l'authentification LDAP/AD#3137SSHNuke0 wants to merge 1 commit intojeedom:developfrom
Conversation
… LDAP/AD Ajout d'une option configurable (checkbox dans l'interface) pour permettre l'utilisation de certificats auto-signés avec STARTTLS. - Nouvelle checkbox dans Configuration > LDAP - Configuration des options LDAP_OPT_X_TLS_REQUIRE_CERT - Appliqué dans user::connect() et user::connectToLDAP() - Sécurisé par défaut (checkbox décochée = vérification stricte) - Requis pour environnements Samba4 AD avec certificats auto-signés Fixes jeedom#3136
d87c04f to
d0fc755
Compare
|
Je peux pas vraiment tester mais comme ca je dirais que ca marche oui |
Mips2648
left a comment
There was a problem hiding this comment.
Probablement que ca marche, je n'ai pas testé mais je suis contre cette PR
c'est quoi le cas d'usage? combien de personnes ont besoin de ça? ca ressemble plus à un besoin personnel
je ne pense pas qu'on doit modifier le core et rajouter des options pour une seule demande.
|
Hello, Je comprends que modifier core peut crisper. Si il y’a moyen d’implémenter cette feature autrement, ça ne me dérange pas de réécrire la PR. Cela dit, pour répondre aux différents points :
Ca vaut ce que ça vaut, mais c’est en prod et ça marche depuis la publication de cette PR sur une install de Samba4 configurée en mode AD avec le reste de la conf par défaut (Version 4.19.5 qui vient du repo, sur une Ubuntu 24.04.4 LTS qui tourne dans une Freebox Delta). Et ça a également été testé brièvement sur un Windows Server 2022 durant le dev de la MR.
Pouvoir utiliser l’auth LDAP avec le Samba4 fourni par Ubuntu, qui par défaut gen lui-même un certificat auto-signé pour l’AD. Et ne pas devoir mettre en place une PKI ou acheter un certificat pour un usage domotique/maison.
Potentiellement toutes les personnes qui activent la checkbox Samba4 dans la configuration LDAP de Jeedom et qui utilisent la conf par défaut du mode LDAP fourni par le paquet du repo d’Ubuntu (ou p-e aussi d’autres distrib, j’ai pas vérifié).
Oui et non. Oui, personnel. Je le reconnais, ça m’évitera de devoir patch à chaque montée de versions de Jeedom (même si c’est automatisé.) Non, car je me dis que si il y’a déjà une option Samba4, c’est qu’ils considèrent que l’usage de Samba est ok/supporté par Jeedom. Or, dans l’état actuel des choses, sur un Jeedom configuré avec Samba4 et sa conf par défaut, l’auth ne fonctionne pas alors même que les clients Windows eux ne bronchent pas. — Cela dit, si vous le souhaitez, je peux vous fournir un environnement de test, avec Samba4 et Jeedom, si vous souhaitez tester la PR. (Car j’entends que ça peut être chiant de reproduire cette env pour une PR.) |
Problème résolu
L'authentification LDAP avec STARTTLS échoue systématiquement avec les certificats auto-signés (erreur "start TLS KO"). Cela rend impossible l'utilisation de Jeedom avec Samba4 AD qui utilise par défaut des certificats auto-signés.
Fixes #3136
Solution proposée
Ajout d'une checkbox "Autoriser certificats auto-signés" dans la configuration LDAP qui désactive la vérification des certificats SSL lorsqu'elle est cochée.
Modifications apportées
1.
core/class/user.class.php- Deux fonctions modifiéesuser::connect(): Configuration SSL avantldap_connect()etldap_start_tls()user::connectToLDAP(): Configuration SSL avantldap_connect()etldap_start_tls()Les options SSL sont configurées de manière conditionnelle selon la valeur de
ldap:allow_selfsigned:LDAPTLS_REQCERT=neveretLDAP_OPT_X_TLS_REQUIRE_CERT = LDAP_OPT_X_TLS_NEVERLDAPTLS_REQCERT=demandetLDAP_OPT_X_TLS_REQUIRE_CERT = LDAP_OPT_X_TLS_DEMAND2.
desktop/php/administration.phpldap:allow_selfsignedComportement
Checkbox décochée (défaut) : Vérification stricte des certificats SSL
Checkbox cochée : Accepte les certificats auto-signés
LDAPTLS_REQCERT=never)Tests effectués
Testé en production avec :
Configuration testée :
Compatibilité