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

#226 2008-05-30 11:58:54

gaelcalvar
Member
Registered: 2008-05-28
Posts: 38

Re: Authentification Automatique

je pense que glpi ne récupere pas bien mon nom d'utilisateur car dans la barre d'adresse il me mets :

?login_name=MONLOGIN%20%20%20%20%20%20%20%20%20%20<03>%20-%20%20%20%20%20%20%20%20%20m%20<active>


est-ce que la commande

$login = strtok($colone,"\t");

fonctionne bien ?

merci

Offline

#227 2008-05-30 12:19:36

tsmr
GLPI-DEV
From: Rennes
Registered: 2005-08-26
Posts: 11,632
Website

Re: Authentification Automatique

C'est surtout est-ce que la commande nmblookup -A ip_client te renvoie avec la balise <03> le login du user connecté sur la machine ?


Xavier Caillaud
Blog GLPI Infotel

Offline

#228 2008-05-30 13:35:14

gaelcalvar
Member
Registered: 2008-05-28
Posts: 38

Re: Authentification Automatique

oui, ca me renvoie bien le le nom du user avec <03>    <ACTIVE>

et quand je passe en mode debug, voila ce que ca me met :

PHP ERROR: Undefined index: login_password in /var/www/glpi/login.php at line 74
PHP ERROR: Cannot modify header information - headers already sent by (output started at /var/www/glpi/inc/common.function.php:153) in /var/www/glpi/inc/display.function.php at line 1292
PHP ERROR: Cannot modify header information - headers already sent by (output started at /var/www/glpi/inc/common.function.php:153) in /var/www/glpi/inc/display.function.php at line 1969
PHP ERROR: Cannot modify header information - headers already sent by (output started at /var/www/glpi/inc/common.function.php:153) in /var/www/glpi/inc/display.function.php at line 1970

Last edited by gaelcalvar (2008-05-30 14:01:47)

Offline

#229 2008-05-30 14:47:11

gaelcalvar
Member
Registered: 2008-05-28
Posts: 38

Re: Authentification Automatique

Est-ce que quelq'un qui utilise une version 0.70.2 sur linux pourrait mettre en ligne ses fichiers login et index, car le wiki parle de fichier en version 0.68, et c'est galere de retrouver les éléments à remplacer.

Je pense qu'il doit y avoir des incompatibilités


Merci beaucoup.

Offline

#230 2008-06-02 09:52:52

gaelcalvar
Member
Registered: 2008-05-28
Posts: 38

Re: Authentification Automatique

Personne n'utilise cette version avec Linux ? Je vais donc devoir me resigner à mettre Glpi sur windows sad ..!

Offline

#231 2008-06-03 09:49:21

max72100
Member
Registered: 2008-05-30
Posts: 54

Re: Authentification Automatique

Grand débutant dans ce domaine.... je voudrais mettre en place pour mon stage
l'authentification automatique.... mais je n'y comprends rien ...

Je suis sur un serveur Fedora 8 et les postes sous windows... le serveur LDAP est lui aussi Windows...

Est ce que quelqu'un peut me guider sur la voie de la bonne solution ??



Version de GLPI 0.70.2

Last edited by max72100 (2008-06-03 09:50:00)

Offline

#232 2008-06-03 12:16:48

gaelcalvar
Member
Registered: 2008-05-28
Posts: 38

Re: Authentification Automatique

Il y a un wiki sur ce sujet http://glpi-project.org/wiki/doku.php?i … utoadlinux

Mais il est adapté à la version 0.68. Je n'ai pas réussi à faire avec une version 0.70.2.

Offline

#233 2008-06-03 13:23:22

tsmr
GLPI-DEV
From: Rennes
Registered: 2005-08-26
Posts: 11,632
Website

Re: Authentification Automatique

tsmr wrote:

Bizarrement mon nmblookup sur mon debian ne me renvoie cette balise <03> bouhh sad

Bon j'ai trouvé : il faut que sur le machines clientes XP, le service 'Affichage des messages' soit démarré.

De toute facon, cette méthode avec nmblookup n'est pas viable à long terme puisque ce service n'existe plus sous Vista. Top moumoutte

Ou trouver un equivalent..


Xavier Caillaud
Blog GLPI Infotel

Offline

#234 2008-06-03 13:41:35

max72100
Member
Registered: 2008-05-30
Posts: 54

Re: Authentification Automatique

gaelcalvar wrote:

Il y a un wiki sur ce sujet http://glpi-project.org/wiki/doku.php?i … utoadlinux

Mais il est adapté à la version 0.68. Je n'ai pas réussi à faire avec une version 0.70.2.

Oui je l'ai déjà essayé mais ca ne marche pas car j'ai la version 0.70.2
HELP ME .... PLEASE

Offline

#235 2008-06-03 13:52:59

gaelcalvar
Member
Registered: 2008-05-28
Posts: 38

Re: Authentification Automatique

Tsmr > quelle version de glpi utilises-tu ? peux-tu poster tes fichiers login et index ?

merci

Offline

#236 2008-06-03 14:14:43

max72100
Member
Registered: 2008-05-30
Posts: 54

Re: Authentification Automatique

je commence vraiment a desesperer, depuis ce matin je trouve plein de truc pour m'aider mais soit c'est pour une version antérieure de GLPI, soit c'es pour windows, soit ca ne passe pas sous fedora 8

Personne n'a de solutions pou moi ??

Offline

#237 2008-06-03 15:01:42

max72100
Member
Registered: 2008-05-30
Posts: 54

Re: Authentification Automatique

Cuty wrote:

je vous donne la solution , pour la version 0.7 de GLPI , installé sur un serveur Linux avec Apache smile

il y a 2 fichiers a modifier : Index.php , et login.php.


Fichier Index.php :

Ligne 53 :

ajoutez ceci :

53:        glpi_header("login.php");
*    }
*    $a = "0";
*    $login ="";
*    $ip = $_SERVER['REMOTE_ADDR'];
*    $commande = "nmblookup -A ".$ip;
*    exec ($commande ,$tableau);
*    foreach ($tableau as $colone)
*      {
*        if (strpos($colone,"<1e>"))
*                {
*            $domain = strtok($colone," \t");
*                }
*        if (strpos($colone,"<03>"))
*                {
*                 if ($a=="1"){
*            $login = strtok($colone," \t");}
*        $a="1";
*                }
*      }
*    if ( $domain == "votre domaine" && $login != '' ){
*        if (isset($_GET["redirect"])){
*                header("Location: login.php?login_name=".$login."&redirect=".$_GET['redirect']);
*            }
*    else
*                header("Location: login.php?login_name=".$login);
*      }
*
*
*
54:    // Send UTF8 Headers

et page login.php :

70:    $_POST['login_password'] = unclean_cross_side_scripting_deep($_POST['login_password']);
*    $http_auth = false;
*    } 
*    else if (!isset($_POST['login_password'])){ 
*    $_POST['login_password']=unclean_cross_side_scripting_deep($_POST['login_password']); 
*        $http_auth = false;
*        $a = "0";
*        $login ="";
*        $ip = $_SERVER['REMOTE_ADDR'];
*        $commande = "nmblookup -A ".$ip;
*        exec ($commande ,$tableau);
*        foreach ($tableau as $colone)
*            {
*            if (strpos($colone,"<03>"))
*                {
*                  if ($a=="1"){
*            $login = strtok($colone," \t");
*            }
*        $a="1";
*                 }
*      }
*    
*           
*         if ( $login != '' ){
*              $_POST['login_name'] = $login;
*              $http_auth = true;
*         }
*    } 
*
*
*
72 :        if (!isset ($_POST["noCAS"]) && !empty ($CFG_GLPI["cas_host"])) {

puis toujours dans le fichier login.php : ligne 137 :

remplacez cette ligne :

     if ((empty($_POST['login_name'])||empty($_POST['login_password']))
     {

par celle ci :

    if ((empty($_POST['login_name'])||empty($_POST['login_password'])) &&!$http_auth)     {

voila j'espere que ca roule pour vous smile

Pour moi cette solution ne marche pas, "Impossible d'afficher la page HTTP 500"
La solution proposée en page 7 ne fonctionne pas non plus je vois toujours ma page d'authentification...

PLEASE HELP ME ....

Offline

#238 2009-08-20 23:13:32

lveirman
Member
Registered: 2009-08-20
Posts: 31

Re: Authentification Automatique

Hello,

Le lien vers le wiki ne marche pas, voici le bon : http://www.glpi-project.org/wiki/doku.p … authautoad

@+

Offline

#239 2010-09-23 12:25:17

deBruges
Member
Registered: 2010-09-02
Posts: 6

Re: Authentification Automatique

slt ,
y aurait il un moyen de se rediriger vers une page particulière dans glpi , juste en clic on sur un lien ,
pour vous éclairer les choses ! mon problème  ce n'est pas dans la redirection vers la page concerné , par ce que ça marche si je suis déjà connecter ( avec ça  :  http://xxx.xxx.xx.xxx/glpi/front/comput … .php?ID=20 ), mais je cherche la cas où je ne suis pas connecter avec mon compte sur glpi , y'aura t'il un moyen de le faire avec un lien   on ajoutant au début de l'url ça  : 
http://login:password@xxx.xxx.xx.xxx ou quelque chose comme ca :http://xxx.xxx.xx.xxx/glpi/front/comput … .php?ID=20?login_name=XXX&login_password=XXXX ),
merci!

Offline

#240 2013-05-14 12:15:37

barbuslex
Member
Registered: 2011-11-25
Posts: 16

Re: Authentification Automatique

Salut !

Quelqu'un aurait il la solution pour le SSO et GLPI 0.83.8 ?

Merci d'avance

Offline

#241 2015-01-08 16:12:26

meuced
Member
From: CH du Val d'Ariège
Registered: 2007-01-23
Posts: 157

Re: Authentification Automatique

Bonjour,

Pour une mise à jour de l'article en question dans ce thread : http://www.glpi-project.org/wiki/doku.p … les_a_0.71

Si vous avez Apache 2.4, le module sspi n'est plus disponible. Il faut utiliser le module mod_authn_ntlm :
https://github.com/YvesR/mod_authn_ntlm

source : https://www.apachelounge.com/viewtopic.php?t=5447

Mettre le fichier mod_authn_ntlm.so dans le répertoire modules d'Apache, rajouter la ligne suivant dans le fichier httpd.conf :

LoadModule auth_ntlm_module modules/mod_authn_ntlm.so

Ainsi que le bloc de config suivant en fin de fichier :

<Location /glpiup >
#AllowOverride None
AuthName "Private location"
AuthType SSPI
NTLMAuth On
NTLMAuthoritative On
<RequireAll>
<RequireAny>
Require valid-user
#require sspi-user EMEA\group_name
</RequireAny>
<RequireNone>
Require user "ANONYMOUS LOGON"
Require user "NT-AUTORITÄT\ANONYMOUS-ANMELDUNG"
</RequireNone>
</RequireAll>
</Location>

Ajuster le chemin dans "Location".

Redémarrer Apache et vous devriez vous authentifier automatiquement...

Offline

#242 2015-01-09 15:54:55

Ijack30
Member
Registered: 2009-03-11
Posts: 181

Re: Authentification Automatique

Bonjour

J'utilise GLPI 0.84.8 sous Ubuntu 14.04.
Je voudrais activer le login automatique, mais je n'y arrive pas avec les instructions que vous donnez dans ce post.

Est-ce que vous pourriez m'aider ?

Offline

#243 2015-02-18 15:18:32

meuced
Member
From: CH du Val d'Ariège
Registered: 2007-01-23
Posts: 157

Re: Authentification Automatique

Bonjour,

Je crois que ce module ne fonctionne que sous Windows.

Offline

#244 2015-02-21 16:49:59

bosco
Member
From: Montpellier
Registered: 2011-11-17
Posts: 166
Website

Re: Authentification Automatique

Apache reste apache, que ce soit sous Windows ou Linux.

Mais perso, jamais réussi à faire fonctionner NTLM.


- SoluTek.fr - | occasional plugin contributor
GLPI 9.3.1
Windows 2016 - IIS Reverse Proxy - HTTPS/Let's Encrypt | Apache 2.4.33 / PHP 7.1.16

Offline

#245 2019-10-29 17:48:17

rreglpimc
Member
Registered: 2018-02-09
Posts: 95

Re: Authentification Automatique

Bonjour, je me permet de déterrer un peu ce topic suite au divers test de SSO avec GLPI.

après avoir réussi à mettre en place du sso avec ma config actuelle sur 1 domaine AD, je bute sur un écueil quant il s'agit de configurer plusieurs (j'ai des users glpi dans 3 domaines ad différents).


Donc déjà pour ceux que ça intéresse, voici les steps de mise en place et les modules utilisés dans ma config (bien sur j'ai remplacé les valeurs spécifique à mon entreprise :


    1. DL du package d'authentification kerberos v5 --> apt-get install krb5-user
   
    2. Edition du fichier /etc/krb5.conf   TEST.AD

    [libdefaults]
    default_realm = TEST.AD
    # ...
            
    [realms]
    TEST.AD = {
        # kdc and admin_server are DNS entries pointing to your primary domain controller
        kdc = DC1.test.ad
        kdc = DC2.test.ad
        admin_server = DC1.test.ad
    }
   
    [domain_realm]
    # Please note the leading dot and the upper-case
    .test.ad = TEST.AD
    test.ad = TEST.AD


   
    3. Installation serveur de temps ntp et synchro un serveur ntp de l'entreprise

    4. préparation de l'AD :








GLPI 9.4.3 / Debian 9.8 / PHP 7.0.33-0+deb9u3 fpm-fcgi / Apache 2.4.25 / 10.1.38-MariaDB

Offline

#246 2019-10-29 18:05:00

rreglpimc
Member
Registered: 2018-02-09
Posts: 95

Re: Authentification Automatique

rreglpimc wrote:

Bonjour, je me permet de déterrer un peu ce topic suite au divers test de SSO avec GLPI.

après avoir réussi à mettre en place du sso avec ma config actuelle sur 1 domaine AD, je bute sur un écueil quant il s'agit de configurer plusieurs (j'ai des users glpi dans 3 domaines ad différents).


Donc déjà pour ceux que ça intéresse, voici les steps de mise en place et les modules utilisés dans ma config (bien sur j'ai remplacé les valeurs spécifique à mon entreprise :


    1. DL du package d'authentification kerberos v5 --> apt-get install krb5-user
   
    2. Edition du fichier /etc/krb5.conf   TEST.AD

    [libdefaults]
    default_realm = TEST.AD
    # ...
            
    [realms]
    TEST.AD = {
        # kdc and admin_server are DNS entries pointing to your primary domain controller
        kdc = DC1.test.ad
        kdc = DC2.test.ad
        admin_server = DC1.test.ad
    }
   
    [domain_realm]
    # Please note the leading dot and the upper-case
    .test.ad = TEST.AD
    test.ad = TEST.AD


   
    3. Installation serveur de temps ntp et synchro un serveur ntp de l'entreprise

    4. préparation de l'AD :


Dsl j'ai validé à cause d'un "tab" mal placé et j'ai posté de manière incomplète, suite ci dessous :

4. préparation de l'AD :
- création d'un compte de service (exempl svc_glpi_sso)
- création d'un alias DNS (si vous n'en avez pas déjà un, ici c'est servername.truc.machin)
- création d'un fichier .keytab à transférer ensuite dans /etc/kerberos.keytab sur le serveur linux cible
ktpass -princ HTTPS/servername.truc.machin@MCSFR.NET -mapuser comptedeservice@TEST.AD -pass mdpcomptedeservice -crypto RC4-HMAC-NT -ptype KRB5_NT_PRINCIPAL -out C:\Temp\kerberos.keytab
(le cryptage peut être modifié et le répertoire de sortie également)
- une fois le fichier déployé sur le serveur il est normalement possible de tester la couche kerberos avec la commande : kinit -p compteutilisateur@TEST.AD
- si ça demande le mot de passe c'est que la liaison avec l'AD s'effectue
- il peut être nécessaire d'ouvrir les port 88 UDP/TCP et 750 TCP entre le domain controlleur ad et le serveur glpi

5. il convient ensuite de prep apache pour autoriser le sso via la session web
- j'utilise ici le mod "mod_auth_kerb" car je n'ai pas réussi à faire fonctionner le sspi cité dans ce topic.
- sous debian : apt-get install libapache2-mod-auth-kerb
- création ou complément d'un fichier de conf dans /etc/apache2/sites-available/
- Dans mon cas, l'admin linux avait déjà configuré le SSL, je me suis donc appuyé sur le fichier .conf déjà existant et le complétant. C'est l'encars "Location" qui nous intéresse ici pour le sso, le reste concerne la conf ssl
<IfModule mod_ssl.c>
        <VirtualHost _default_:443>
                ServerName servername.truc.machin
                ServerAlias servername
                Protocols h2 http/1.1
                ServerAdmin mailadmin@truc.com
                DocumentRoot /var/www/glpi
                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined
                SSLEngine on
                #SSLCertificateFile     /etc/ssl/certs/ssl-cert-snakeoil.pem
                #SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
                SSLCertificateFile      /etc/ssl/certs/mcs.local.cer
                SSLCertificateKeyFile   /etc/ssl/private/mcs.local.key

                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>
                <Location />
                        AuthType Kerberos
                        AuthName "Kerberos authenticated intranet"
                        KrbAuthRealms TEST.AD
                        KrbServiceName HTTPS/servername.truc.machin
                        Krb5Keytab /etc/kerberos.keytab
                        KrbMethodNegotiate On
                        KrbMethodK5Passwd On
                        require valid-user
                </Location>
         </VirtualHost>
</IfModule>
<VirtualHost *:80>
               ServerName servername.truc.machin
               RewriteEngine on
               RewriteCond %{HTTPS} !=on
               RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [NE,R,L]
</VirtualHost>

- si je créé un second fichier uniquement pour y mettre ma config sso, ça ne fonctionne pas du tout.
- relance des services apache2 avec systemctl restart apache2.service
- il peut être nécessaire de faire un a2dissite ssl.conf puis a2ensite ssl.conf avant de relancer les services afin d'être sur que les modifs ont été prises en compte.

Avec la config ci dessus, ça fonctionne parfaitement avec le popup de login sso du navigateur quand je vais sur GLPI (+SSL) et plus de mire d'authentification avec choix de l'annuaire.


SAUF QUE (oui sinon c'est pas marrant). J'ai encore 2 autres AD qui peuplent GLPI et je ne sais pas du tout comment gérer le SSO multi domaine.

J'ai refait le même process en complétant le fichier  /etc/krb5.conf (ajout d'un nouveau realms), création d'un second fichier keytab (avec nom différent) et en ajoutant un bloc "Location" dans mon fichier de conf apache mais malheureusement cela ne fonctionne pas. J'ai une lenteur assez folle lors du chargement initial du site et ensuite j'obtiens le popup d'authentification sso. De la le système ne semble pas savoir sur quel ad taper et impossible de passer la fenêtre d'authentification.

Merci d'avance si d'autre on eut un setup similaire.


GLPI 9.4.3 / Debian 9.8 / PHP 7.0.33-0+deb9u3 fpm-fcgi / Apache 2.4.25 / 10.1.38-MariaDB

Offline

#247 2019-10-30 17:32:15

rreglpimc
Member
Registered: 2018-02-09
Posts: 95

Re: Authentification Automatique

début de réponse concernant le multi domaine AD :

Dans le fichiers /etc/krb5.conf, il faut bien déclarer ses "realms" avec 1 ou plusieurs kdc et un admin serveur, ainsi que les alias, comme suit :

[libdefaults]
default_realm = TEST1.AD
# ...
        
[realms]
TEST1.AD = {
    # kdc and admin_server are DNS entries pointing to your primary domain controller
    kdc = dc1.TEST1.AD
    kdc = dc2.TEST1.AD
    admin_server = dc2.TEST1.AD
}
SITEB.AD = {
    kdc = FR-PRS-PDC.SITEB.AD
    kdc = FR-PRS-BDC.SITEB.AD
    admin_server = FR-PRS-PDC.SITEB.AD
}

[domain_realm]
# Please note the leading dot and the upper-case
.TEST1.AD = TEST1.AD
TEST1.AD = TEST1.AD
.SITEB.AD = SITEB.AD
SITEB.AD = SITEB.AD


Ensuite concernant le fichier conf dans /etc/apache2/sites-available, il faut conserver qu'un seul bloc "Location" comme suit :
                <Location />
                        AuthType Kerberos
                        AuthName "Kerberos authenticated intranet"
                        KrbAuthRealms TEST1.AD SITEB.AD
                        KrbServiceName HTTPS/servername.truc.machin
                        Krb5Keytab /etc/kerberos.keytab
                        KrbMethodNegotiate On
                        KrbMethodK5Passwd On
                        require valid-user
                </Location>

+ Comme on ne peut avoir qu'un seul fichier .keytab, sachant que pour le second ad on aussi fait les actions de créer un compte dédié + créer un fichier keytab, il faut utiliser l'outil ktutil :

$ ktutil
> rkt kerberosTEST1.keytab
> l
> rkt kerberosSITEB.keytab
> l
> wkt kerberos.keytab
> q


Néanmoins après avoir effectué tous les steps pour mon second domaine, mon sso est planté et je ne peux plus non plus utilisé les identifiants du domaine A pour accéder à GLPI. J'ai donc revert sur ma config fonctionnelle avec juste l'ad TEST1.

En l'état je ne sais donc pas si c'est un soucis de :
- flux => normalement mes serveurs communiquent avec les DC AD sans soucis, un telnet n'est pas bloqué sur le port 88
- DNS => il faut que servername.truc.machin ait une entrée DNS dans chaque AD a priori, je vais voir pour faire corriger ça
- fichier keytab erroné => il y a peu de chance mais c'est possible
- soucis avec le domaine qui est mal détecté et/ou tronqué rendant le mapping de l'authentification impossible.

Je compléterait ce sujet dès que j'aurais plus de billes.

Offline

#248 2019-11-06 16:51:56

rreglpimc
Member
Registered: 2018-02-09
Posts: 95

Re: Authentification Automatique

petit update.

Mes keytab semble correct car quand je vérifie un login sur l'un ou l'autre de mes domaines avec la commande kinit -p username1@TEST1 ou kinit -p username2@SITEB

Après divers try & error, j'ai ajouté ou corrigé certains fichiers de configuration :

Dans le /etc/krb5.conf :
[realms]
TEST1.AD = {
    # kdc and admin_server are DNS entries pointing to your primary domain controller
    kdc = dc1.TEST1.AD
    kdc = dc2.TEST1.AD
    admin_server = dc2.TEST1.AD
    # ajout ci dessous pour tenter de gérer le multidomaine
    auth_to_local = RULE:[1:$1@$0](^.*@SITEB\.FR)s/@.*//
    auth_to_local = DEFAULT

}
SITEB.AD = {
    kdc = FR-PRS-PDC.SITEB.AD
    kdc = FR-PRS-BDC.SITEB.AD
    admin_server = FR-PRS-PDC.SITEB.AD
}

Le paramètre auth_to_local semble servir à autoriser l'authentification en supprimant le domaine name mais je ne suis pas du tout sur de ce que ça fait ou pas car au final c'est dans le fichier de conf du site apache qu'il y a une ligne de paramètre qui conditionne si on fait transiter le username avec le domaine ou non :
le fichier conf est dans /etc/apache2/sites-available :

                <Location />
                        AuthType Kerberos
                        AuthName "Kerberos authenticated intranet"
                        KrbAuthRealms TEST1.AD SITEB.AD
                        KrbServiceName HTTPS/servername.truc.machin
                        Krb5Keytab /etc/kerberos.keytab
                        #ajout ligne KrbLocalUserMapping pour gestion multi ad
                        KrbLocalUserMapping On
                        KrbMethodNegotiate On
                        KrbMethodK5Passwd On
                        require valid-user
                </Location>

Quand "KrbLocalUserMapping On" est présent, le username est renvoyé sans le domain name, si cette ligne est commentée avec # alors on récupère le username@domaine

Dans le premier cas, impossible de s'authentifier sur le site web glpi en mode sso (username simple ou username@siteb sont refusés)
Dans le second cas, l'authentification sso semble fonctionnelle mais rend la notification extrêmement lente et apache génère un maximum d'erreurs d'authentification kerberos.

Donc je suis arrivé à un niveau ou l'authentification multi AD semble fonctionnelle mais au détriment d'une perte de performance et de confort de navigation totalement rédihbitoire (~1m30 juste pour la page d'accueil pour un user lambda).

Le fait est que mon TEST1 est mon ad principal (default realms dans la config apache) et que visiblement toutes authentifications kerberos passent d'abord par ce realm puis seulement ensuite aux realms secondaires. Du coup chaque élément d'une page semble déclenché une authentification d'où les lenteurs constatés. J'extrapole ici, je ne suis sur de rien vu que je n'ai pas plus d'outil que les log et une page web pour faire mes tests.

Exemple d'erreur récurrente appaissant alors qu'un user du domaine SITEB ouvre GLPI :
[Wed Nov 06 15:35:05.288297 2019] [auth_kerb:error] [pid 15594:tid 139942759974656] [client 1xx.xxx.xxx.xxx:59117] krb5_get_init_creds_password() failed: Client not found in Kerberos database, referer: https://serveurglpi.machin.truc/front/central.php
[Wed Nov 06 15:35:05.329965 2019] [auth_kerb:error] [pid 15595:tid 139942718011136] [client 1xx.xxx.xxx.xxx:59113] krb5_get_init_creds_password() failed: Client not found in Kerberos database, referer: https://serveurglpi.machin.truc/front/central.php
[Wed Nov 06 15:35:05.879926 2019] [auth_kerb:error] [pid 15595:tid 139942726403840] [client 1xx.xxx.xxx.xxx:59121] krb5_get_init_creds_password() failed: Client not found in Kerberos database, referer: https://serveurglpi.machin.truc/front/central.php
[Wed Nov 06 15:35:06.123671 2019] [auth_kerb:error] [pid 15595:tid 139942709618432] [client 1xx.xxx.xxx.xxx:59120] krb5_get_init_creds_password() failed: Client not found in Kerberos database, referer: https://serveurglpi.machin.truc/front/central.php
[Wed Nov 06 15:35:06.247790 2019] [auth_kerb:error] [pid 15594:tid 139942692833024] [client 1xx.xxx.xxx.xxx:59119] krb5_get_init_creds_password() failed: Client not found in Kerberos database, referer: https://serveurglpi.machin.truc/front/central.php
[Wed Nov 06 15:35:09.457865 2019] [auth_kerb:error] [pid 15595:tid 139942692833024] [client 1xx.xxx.xxx.xxx:59113] krb5_get_init_creds_password() failed: Client not found in Kerberos database, referer: https://serveurglpi.machin.truc/front/central.php
[Wed Nov 06 15:35:09.489369 2019] [auth_kerb:error] [pid 15594:tid 139942676047616] [client 1xx.xxx.xxx.xxx:59117] krb5_get_init_creds_password() failed: Client not found in Kerberos database, referer: https://serveurglpi.machin.truc/front/central.php

Offline

#249 2019-11-14 17:00:15

rreglpimc
Member
Registered: 2018-02-09
Posts: 95

Re: Authentification Automatique

nouvel update, j'ai réussi à avoir une configuration multi domaine fonctionnelle avec néanmoins une différence énorme de performance entre le default_realm et le realms secondaire.

En l'occurence j'ai supprimé du krb5.conf les lignes suivantes :
    # ajout ci dessous pour tenter de gérer le multidomaine
    auth_to_local = RULE:[1:$1@$0](^.*@SITEB\.FR)s/@.*//
    auth_to_local = DEFAULT

Et dans le .conf d'apache j'ai modifié :
suppression de :
                        #ajout ligne KrbLocalUserMapping pour gestion multi ad
                        KrbLocalUserMapping On
Modification :
KrbServiceName HTTPS/servername.truc.machin --> KrbServiceName HTTPS/servername.truc.machin@TEST1.AD

(c'est le nom complet avec le domaine utilisé pour la génération des keytab).


En l'occurrence, je constate :

- login sur TEST1.AD = top, ça fonctionne et c'est réatif

- login sur SITEB.AD = fonctionnel mais prend 4x plus de temps pour afficher les pages et surtout génère des erreurs en boucle toutes les 3-4 sec dans mon error.log d'apache :
[Thu Nov 14 15:57:17.543156 2019] [auth_kerb:error] [pid 39435:tid 140186943985408] [client 10.1.x.xxx:28881] krb5_get_init_creds_password() failed: Client's credentials have been revoked, referer: https://servername.truc.machin/front/ticket.php
[Thu Nov 14 15:57:22.536756 2019] [auth_kerb:error] [pid 39435:tid 140186935592704] [client 10.1.x.xxx:28881] krb5_get_init_creds_password() failed: Client's credentials have been revoked, referer: https://servername.truc.machin/front/ticket.php


Si quelqu'un a déjà eut le cas, je suis preneur d'astuce pour optimiser le fonctionnement car mon le premier passer de 3sec pour affiche l'accueil GLPI à ~15sec, c'est extrêmment génant au quotidien pour les tech et ça ne sera clairement pas transparent pour les utilisateurs.

Je suis donc preneur d'information pour savoir si j'ai mal configuré qqlchose ou si il y a une astuce qql part.

Offline

#250 2019-11-14 17:07:47

rreglpimc
Member
Registered: 2018-02-09
Posts: 95

Re: Authentification Automatique

petite précision, côté AD, j'ai vu une chose étrange.
Lors de la génération du keytab, la commande utilisé sur les 2 ad spécifiant le host sous la forme HTTPS/servername.truc.machin@TEST1.AD (sans le @domainname, sur le second domaine, ça refuse de générer le keytab)

De fait sur mon TEST1.AD, pour le compte de service nommé svc_glpi_sso
Nom d'ouverture de session = HTTPS/servername.truc.machin  &&  TEST1.AD
Session antérieur à windows 2000 = TEST1.AD\svc_glpi_sso

Et dans SITEB.AD, le compte s'appel svc_glpi_sso_r7
Nom d'ouverture de session = HTTPS/servername.truc.machin  &&  TEST1.AD
Session antérieur à windows 2000 = SITEB.AD\svc_glpi_sso_r7

=> est ce que mon soucis pourrait venir de ça ?

=> a noter qu'au départ sur l'ad SITEB j'avais généré un keytab avec HTTPS/servername.truc.machin@SITEB.AD mais cela ne fonctionnait pas derrière quand j'utilisais le keytab sur ma conf sso.

Offline

Board footer

Powered by FluxBB