Hello
Je suis en train de migrer un vieux GLPI tourant sur un vieux IIS, vers un serveur Ubuntu Server 22 et apache2
la partie install Ubuntu avec association au domaine, droits sudo etc, pas de soucis
par contre, sur la partie Apache, je bloque
J'ai pu installer apache, mariadb, php, phpmyadmin et j'ai ajouté la lib mod-auth-gsaapi
j'ai d'abord parametrer mon apache standard pour installer GLPI avec la base, jusque la pas de soucis, j'ai pu configurer glpi pour etre en liens avec nos AD et importer les utilisateurs
et l'authentification des utilisateurs via leur compte AD fonctionne.
Maintenant, comme sur l'ancien, on avait pas besoin de taper son MDP, notre session s'ouvrait directement via nos login actuellement utilisé sur nos session
pour apache il me semble que c'est possible via Kerberos / SSO, de facon a ce qu'un utilisateur du domaine, arrivant sur le site, n'ai pas besoin de resaisir ses identifiant, mais arrive directement connecté.
J'ai suivi pas mal de tuto en tout genre, mais a chaque fois je suis bloqué, le site m'ouvre un pop-up d'identification facon .htaccess, mais qui ne fonctionne pas :/
mon serveur de test est une VM pour le moment qui s'appelle s-web (le nom sera peut etre bien le definitif quand on montera le serveur en prod)
comme mon serveur est dans le domaine, j'avais deja installer et parametrer krb5-user
mon parametrage krb5.conf est le suivant (j'ai remplacer le vrai nom de domaine par domaine.net)
srvad.domaine.net => notre server AD windows
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| [libdefaults]
default_realm = DOMAINE.NET
udp_preference_limit = 0
[realms]
DOMAINE.NET = {
# kdc and admin_server are DNS entries pointing to your primary domain controller
kdc = srvad.domaine.net
admin_server = srvad.domaine.net
}
[domain_realm]
# Please note the leading dot and the upper-case
.domaine.net = DOMAINE.NET
DOMAINE.NET = DOMAINE.NET |
sur mon domaine j'ai crée un compte de service : user_sso, utilisateurs du domaine, avec son mdp, je l'ai configurer pour accepter les connexion kerberos, etc, puis j'ai crée la clé keytab
ktpass -princ HTTP/webserver@DOMAINE.NET -mapuser user_sso@DOMAINE.NET -pass <mdp> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -out C:\Temp\user_sso.krb.keytab
j'ai récupéré la clé keytab et copié sur mon serveur dans /etc, je lui ai mis comme owner:group www-data et droits en 640
j'ai fait diffèrent test de connexion avec des kinit, avec le user, user + clé, a chaque fois c'est passé
pour mon site, j'ai fait la conf suivante
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <VirtualHost *:80>
ServerName glpi-test.s-web
ServerAlias glpi-test.localhost
ServerAdmin <mon mail>
DocumentRoot /var/www/glpi
ErrorLog ${APACHE_LOG_DIR}/glpi/error.log
CustomLog ${APACHE_LOG_DIR}/glpi/access.log combined
<Directory /var/www/glpi>
Options FollowSymlinks
AllowOverride All
</Directory>
<Location />
AuthType GSSAPI
AuthName "GLPI"
GssapiCredStore keytab:/etc/user_sso.krb.keytab
Require valid-user
</Location>
</VirtualHost> |
si je retire le £ location, ca marche, mais je doit saisie mon id/mdp manuellement, si j'ai la partie location active, ca marche pas
j'ai essayé avec Chrome et Edge, et dans la log j'ai 2 erreurs differentes
avec Chrome
[Wed Dec 28 11:52:28.568825 2022] [auth_gssapi:error] [pid 27785] [client 10.0.3.123:65004] GSS ERROR In Negotiate Auth: gss_accept_sec_context() failed: [An unsupported mechanism was requested (Unknown error)]
avec Edge
[Wed Dec 28 11:52:50.890871 2022] [auth_gssapi:error] [pid 27782] [client 10.0.3.123:65029] GSS ERROR In Negotiate Auth: gss_accept_sec_context() failed: [Unspecified GSS failure. Minor code may provide more information (Request ticket server HTTP/s-web@VIRY.NET not found in keytab (ticket kvno 3))]
avec Edge on dirait qu'il cherche un autre user que HTTP/webserver, ce que je ne comprend pas
du coup la je bloque complement, est-ce que j'ai un loupé quelque part ?
je doit mettre la partie GSSAPI ailleurs dans le fichier de conf ?
Merci de votre aide, car j'ai regarder un paquet de site sur le sujet, a chaque fois ils disent la meme chose pour la conf, mais moi ca passe pas :snif:
Partager