GLPI: le guide SSO
Tu veux mettre en place de la SSO Kerberos sur GLPI avec GssAPI Apache 2? Bienvenue! đ
Installation du client Kerberos et du module Apache gssapi. Configuration du client kerberos.
apt install libapache2-mod-auth-gssapi krb5-user
nano /etc/krb5.conf[libdefaults]
default_realm = TONDOMAINE.COM
dns_lookup_realm = false
dns_lookup_kdc = false
[realms]
FRR.COM = {
kdc = IP SERVER AD
kdc = IP SERVER AD 2
admin_server = IP SERVER AD
admin_server = IP SERVER AD 2
}
[domain_realm]
.tondomaine.com = TONDOMAINE.COM
tondomaine.com = TONDOMAINE.COMCrĂ©ation dâun compte de service GLPi dans AD utilisĂ© pour mapper le service http Glpi et le prĂ©senter Ă Kerberos. Utiliser un mot de passe fixe sans expiration, cocher la prise en charge AES 256.
Sur le contrĂŽleur de domaine, lancer lâinvite de commande en tant quâadministrateur afin de crĂ©er le fichier keytab
ktpass -princ HTTP/[email protected] -mapuser [email protected] -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out C:\tmp\glpi.keytabEnvoyer le fichier dans le rĂ©pertoire apache et le sĂ©curiser pour lâutilisateur apache
chown www-data:www-data glpi.keytab
chmod 640 glpi.keytabConfigurer le vHOST Apache pour GLPI
<VirtualHost *:443>
ServerName tonserveur.tondomaine.com
DocumentRoot /var/www/glpi/public
SSLEngine on
SSLCertificateFile /etc/ssl/certs/toncert.pem
SSLCertificateKeyFile /etc/ssl/private/tapv.key
SSLCACertificateFile /etc/ssl/certs/tonac.pem
ErrorLog /var/log/apache2/glpi-error.log
<Directory /var/www/glpi/public>
AuthType GSSAPI
AuthName "GLPI SSO"
GssapiCredStore keytab:/etc/apache2/glpi.keytab
Require valid-user
#autorise l'agent Ă bypass SSO
<If "%{HTTP_USER_AGENT} =~ /GLPI-Agent_v/">
Require all granted
</If>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
Options +FollowSymlinks
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost/"
</FilesMatch>
</VirtualHost>Enfin dans GLPI / ACCUEIL / CONFIGURATION / AUTHENTIFICATION /AUTRES:Champs de stockage de l'identifiant dans la requĂȘte HTTP choisir REMOTE_USER