You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2024-02-22 15:52:15

GordzYlla
Member
Registered: 2024-02-22
Posts: 3

LDAPS - Impossible d'importer mes utilisateurs (bind user = non)

Bonjour,

Je suis en cours de configuration sur mon instance GLPI, cependant je sèche sur la partie LDAPS.

J'ai paramétrer mon annuaire LDAPS et le test de connexion via GUI WEB fonctionne avec le paramètre "user bind" = Non.

Cependant lorsque je me rends dans  "administration > utilisateurs > importation de nouveaux utilisateurs"  je ne parviens pas à retrouver mes utilisateurs.

Sur mes autres applications utilisant LDAPS le compte de bind est toujours requis , sur GLPI avec le "user bind = oui" et le compte de bind renseigné en LDAPS le test de connexion échoue web gui.

Je ne comprends pas comment GLPI peut parvenir à synchro les utilisateurs sans compte utilisateur du domaine pour pouvoir requêter l'AD / LDAP et je ne sais donc pas comment modifier ma configuration LDAPS.

Configuration de mon serveur LAMP :

RHEL 9.3
PHP 8.0.3
Apache 2.4.57
Mariadb 10.5.22

Configuration du connecteur LDAPS en place :

Serveur : ldaps://monserveurad.mondomaine
Port : 636
Filtre de connexion (je ne suis pas certains que ce paramètre soit bon) : (&(objectClass=user)(objectCategory=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(!(samaccountname=*$)))
BaseDN : DC=domaine,DC=com
Utiliser bind : NON
Champ de l'identifiant : samaccountname

J'ai récupérer le certificat racine de mon AD, j'ai ajouter ce certificat dans /etc/openldap/certs/CA_XXX.cert
Le fichier /etc/openldap/ldap.conf est configuré comme suit :

TLS_CACERT      /etc/openldap/certs/CA_XXX.crt
TLS_REQCERT never
SASL_NOCANON    on

Quelqu'un à t'il une piste pour m'aider et éclairer ma lanterne ?

Merci d'avance

Last edited by GordzYlla (2024-02-22 15:56:13)

Offline

#2 2024-02-26 12:53:51

GordzYlla
Member
Registered: 2024-02-22
Posts: 3

Re: LDAPS - Impossible d'importer mes utilisateurs (bind user = non)

Bonjour,

Après avoir analyser un peu plus en détail ce qu'il se passe sur mon serveur j'ai l'impression qu'il s'agit d'une limite de PHP/GLPI...

Si quelqu'un a d'autres idées que celles que j'évoque plus bas je suis preneur.

Complément d'information :

-    En ldaps, port 636, sans compte de lien la configuration du connecteur est ok. Cependant impossible de requêter les utilisateurs, la requête génère l’erreur PHP. La requête LDAP est alors en mode anonyme.
    Les requetes anonymes sont bloquées pour des raisons de sécurité sur mon environnement.

-    En ldaps, port 636, avec compte de lien, la configuration du connecteur est KO. Impossible de se connecter à l’annuaire LDAP depuis l’interface web.

PHP User Warning (512): Unable to bind to LDAP server `ldaps://serveur:636` with RDN `CN=xxxxxxx,CN=yyyyyyyyyys,DC=zzzzzz,DC=wwwwwww`
error: Can't contact LDAP server (-1) in /var/www/html/glpi/src/AuthLDAP.php at line 3194
  Backtrace :
  src/AuthLDAP.php:3194                              trigger_error()
  src/AuthLDAP.php:3058                              AuthLDAP::connectToServer()
  src/AuthLDAP.php:2877                              AuthLDAP->connect()
  src/AuthLDAP.php:2819                              AuthLDAP::ldapImportUserByServerId()
  front/user.form.php:134                            AuthLDAP::forceOneUserSynchronization()
  public/index.php:82                                require()


o    Cependant, des lignes de commandes permettent de lancer des synchronisations LDAP depuis le serveur linux, ce qui peuple les utilisateurs dans la base mariadb et qui permet d’avoir un affichage des utilisateurs sur l’interface web.

cd /var/www/html/glpi/bin/
bin/console glpi:ldap:synchronize_users

la synchro se lance bien avec les paramètres de mon compte de bind et sur le base DN renseigné  (ce meme compte de bind que l'interface web de glpi me refuse)
toutefois L’interface web reste cependant incapable de contacter l’annuaire LDAP et donc l’authentification sur l’interface web avec le compte LDAP est impossible.

Sans compte de bind paramétrer :

[2024-02-26 10:22:51] glpiphplog.WARNING:   *** PHP User Warning (512): LDAP search with base DN `CN=yyyyyyyyyyyyy,DC=zzzzzz,DC=wwwwwww` and filter `(& (samaccountname=xxxxxxxxx) (&(objectClass=user)(objectCategory=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2))))` failed
error: Can't contact LDAP server (-1) in /var/www/html/glpi/src/AuthLDAP.php at line 3611
  Backtrace :
  src/AuthLDAP.php:3611                              trigger_error()
  src/Auth.php:280                                   AuthLDAP::searchUserDn()
  src/AuthLDAP.php:3393                              Auth->connection_ldap()
  src/AuthLDAP.php:3519                              AuthLDAP::ldapAuth()
  src/Auth.php:968                                   AuthLDAP::tryLdapAuth()
  front/login.php:94                                 Auth->login()
  public/index.php:82                                require()

Avec compte de bind paramétrer

[2024-02-26 10:26:45] glpiphplog.WARNING:   *** PHP User Warning (512): Unable to bind to LDAP server `ldaps://server:636` with RDN `CN=xxxxxxxx,CN=yyyyyyyyyy,DC=zzzzzzzzDC=wwwww`
error: Can't contact LDAP server (-1) in /var/www/html/glpi/src/AuthLDAP.php at line 3194
  Backtrace :
  src/AuthLDAP.php:3194                              trigger_error()
  src/AuthLDAP.php:3229                              AuthLDAP::connectToServer()
  src/Auth.php:257                                   AuthLDAP::tryToConnectToServer()
  src/AuthLDAP.php:3393                              Auth->connection_ldap()
  src/AuthLDAP.php:3519                              AuthLDAP::ldapAuth()
  src/Auth.php:968                                   AuthLDAP::tryLdapAuth()
  front/login.php:94                                 Auth->login()
  public/index.php:82                                require()

On semble donc être sur une limite applicative de GLPI / PHP.

Autres options de configurations possible : LDAP over TLS (STARTTLS) : ldap://server port 389 sécurisation via certificat TLS
-    JE vais tester de mettre cette cette configuration en place (certificat TLS et keyfile associé nécessaire)

Piste SAML / Azure AD :
-    Pas de SAML natif sur GLPI.
-    Certains pluggins développé par des tiers permettent l’ajout de la fonctionnalité :
o    GitHub - edgardmessias/glpi-singlesignon


o    GitHub - derricksmith/phpsaml: GLPI Plugin - SAML integration using the Onelogin SAML Library

Last edited by GordzYlla (2024-02-26 12:58:28)

Offline

#3 2024-02-27 16:40:27

GordzYlla
Member
Registered: 2024-02-22
Posts: 3

Re: LDAPS - Impossible d'importer mes utilisateurs (bind user = non)

J'ai trouver comment faire marcher mon LDAPS avec un compte de bind.

Le coupable est SELINUX.

J'ai ajouter les règles adéquates pour autoriser php à travailler.

Marche à suivre pour ajouter les règles dans selinux : Article a rechercher sur google : Red Hat - Basic SELinux Troubleshooting in CLI

1) ausearch -m AVC,USER_AVC -ts recent
2) # journalctl -t setroubleshoot --since= [time]

Selinux va afficher les blocages et vous donner les commandes à passer pour autoriser les opérations

Offline

Board footer

Powered by FluxBB