Trace: » Authentification Automatique v0.71 - Debian Etch

Authentification Automatique v0.71 - Debian Etch

Article rédigé par emgenet

Introduction

Le but de ce tip est de permettre aux utilisateurs de GLPI de pouvoir s'identifier dans l'application sans avoir à retaper leur nom d'utilisateur ainsi que leur mot de passe SI et SEULEMENT SI le serveur GLPI est un serveur Debian Etch et la version de GLPI minimum 0.71.

Cet astuce fonctionne avec Apache 2 et GLPI configuré avec une authentification externe avec Active Directory. L'utilisateur doit utiliser Internet Explorer.

La configuration sur laquelle a été validé cette manipulation est celle-ci :

- GLPI : 0.71.1 et AD sur W2k3 - Internet Explorer 6sp2 et 7 - Serveur Debian Etch / Apache 2.2.3 / PHP 5.2.0 / Perl

(Fonctionne aussi avec GLPI 0.71.2 sous Ubuntu Server 8.10 (Apache 2.2.9/PHP 5.2.6/Perl 5.10.0) et deux AD 2000 et 2003, IE6 et 7 et FF3)

Par conséquent si vous testez sur une autre configuration et que cela fonctionne n'hésitez pas à compléter.

Petite précision, les modifications ainsi que le code fourni dans cet article ne sont pas de moi à part quelques lignes donc un grand merci à ceux qui se reconnaitront, je citerais surtout l'article du wiki pour configuration sur une 0.68 et Suse.

Mise en place

Mise à jour du serveur

Si vous n'avez pas encore les outils ci-dessous, merci de les installer.

apt-get install make gcc libc6-dev

apt-get install libapache2-mod-perl2

Installation de ntlm sur le serveur

Dans cette distribution (Etch) la librairie libapache2-authenntlm-perl n'existe pas encore. Le paquet a cependant été développé sur la nouvelle distribution (Lenny), vous pouvez donc trouver le paquet ici http://packages.debian.org/fr/source/lenny/libapache2-authenntlm-perl, puis faire un

tar -xvzf libapache2-authenntlm-perl_0.02.orig.tar.gz

entrer dans le nouveau répertoire, faire

perl Makefile.PL

puis

make install

Modifier votre site Apache comme ci-dessous, ( /etc/apache2/sites-available/default), en ajoutant entre les balises:

  PerlModule Apache2::AuthenNTLM
    <Directory "/var/www/glpi">
    PerlAuthenHandler Apache2::AuthenNTLM
    AuthType ntlm,basic
    AuthName paipartners
    require valid-user
    PerlAddVar ntdomain  "@@DOMAIN@@ @@PDC@@ @@BDC@@"
    PerlAddVar ntdomain  "@@DOMAIN2_AU_BESOIN@@ @@PDC2@@ @@BDC2@@"
    PerlSetVar defaultdomain @@DOMAIN@@
    PerlSetVar splitdomainprefix 1
    PerlSetVar ntlmdebug 0
    PerlSetVar ntlmauthoritative off
    </Directory>

Variables utilisées ci-dessus :

@@DOMAIN@@ : Nom de domaine de votre domaine sans les extensions .fr .com etc

@@PDC@@ : Un contrôleur de domaine de votre infrastructure

@@BDC@@ : Un autre qui servira de secours

@@DOMAIN2_AU_BESOIN@@ : Nom de domaine d'un autre domaine si vous en avez d'autres, la ligne n'est pas obligatoire.

@@PDC2@@ : Un contrôleur de domaine de votre deuxième infrastructure

@@BDC2@@ : Un autre qui servira de secours

Un dernier point, vérifier que vos DC soient bien résolus au niveau IP, sinon, ne pas hésiter à les mettre dans le fichier /etc/hosts

Configuration de GLPI en ligne

Se connecter à GLPI avec un compte ayant les droits de modifier les authentifications.

Aller dans Configuration/Authentification

Aller dans l'onglet Autres

Dans le 3ème paramètre, Autres - Activé

Sur Champ de stockage du login dans la variable _SERVER, choisir dans la liste déroulante REMOTE_USER

Du côté des navigateurs

Internet Explorer

Il faut bien vérifier que “Activer l'authentification intégrée de Windows” dans les options avancées d' Internet Explorer soit bien coché. Puis ajouter le site glpi dans les zone de confiance intranet ou extranet.

Firefox

lancer un nouvel onglet

taper dans la barre d'adresse “about:config”

dans la liste, chercher la ligne “network.automatic-ntlm-auth.trusted-uris”

faites un double-clic sur cette ligne

ajouter “IP DU SERVEUR GLPI”

faire OK

Sous Windows Vista ou Seven

Le navigateur renvoie une erreur Internal Server Error.

Il faut ajouter une valeur dans la base de registre :

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Lsa

Ajouter une nouvelle valeur DWORD:

La nommer « LmCompatibilityLevel » la mettre à « 1 » Merci glpigreg ;-)

Liens du Forums

A vous de jouer

Voilà à peu près tout ce que j'ai pu rassembler sur cette ajout de fonction mais si certain d'entre vous veulent améliorer le tip alors n'hésitez pas, je suis aussi preneur!!!! ^_^