You are not logged in.
Pages: 1
Bonjour,
Je ne parviens pas à faire fonctionner le SSO avec le module GSSAPI, alors que j'ai testé à peu près toutes les configurations que j'ai pu lire ici et là.
Ma config :
- Debian 12.5
- GLPI 10.0.14
- Modules installés : libapache2-mod-auth-gssapi, krb5-user, krb5-kdc
Ma configuration AD est OK, mes utlisateurs remontent bien dans GLPI, et hors config SSO, je peux me connecter sans problème avec un compte du domaine.
Pour le SSO, j'ai fait :
- Création d'un compte de service
- Création d'un SPN sur ce compte de service (setspn -a ....)
- Création du fichier keytab.
- Droits sur le keytab pour apache
- Tous les tests kinit, kvno sont OK quand je les lance depuis le serveur GLPI
Mon fichier /etc/krb5.conf :
[libdefaults]
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true
default_realm = DOMAINE.COM
default_keytab_name = FILE:/etc/apache2/glpisso.keytab
[realms]
DOMAINE.COM = {
kdc = IP_DC
admin_server = IP_DC
default_domain = domaine.com
}
[domain_realm]
.domaine.com = DOMAINE.COM
domaine.com = DOMAINE.COM
Ci-dessous mon vhost :
<VirtualHost *:443>
ServerName fqdn_mon_serveur
DocumentRoot /var/www/glpi/public
LogLevel debug
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
SSLProtocol all -SSLv2
SSLCertificateFile /etc/ssl/certs/mon_cert.crt
SSLCertificateKeyFile /etc/ssl/private/mon_cert_key.key
<Directory /var/www/glpi/public>
Options Indexes FollowSymLinks
AllowOverride All
RewriteEngine On
# Ensure authorization headers are passed to PHP.
# Some Apache configurations may filter them and break usage of API, CalDAV, ...
RewriteCond %{HTTP:Authorization} ^(.+)$
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect all requests to GLPI router, unless file exists.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
AuthType GSSAPI
AuthName "mon_fqdn"
# GssapiImpersonate on
# GssapiAllowedMech krb5
GssapiCredStore keytab:/etc/apache2/glpisso.keytab
# GSSapiImpersonate On
# GssapiBasicAuth off
# GssapiSSLonly on
# GssapiLocalName on
# GssapiNegotiateOnce on
require valid-user
Order Deny,Allow
Satisfy any
</Directory>
</VirtualHost>
Avec cette config, j'ai ça dans le fichier error.log d'apache :
[ssl:info] [pid 18913] [client 192.168.214.13:61921] AH01964: Connection to child 1 established (server MON_SERVEUR_URL:443)
[ssl:debug] [pid 18913] ssl_engine_kernel.c(2395): [client 192.168.214.13:61921] AH02043: SSL virtual host for servername MON_SERVEUR_URL found
[socache_shmcb:debug] [pid 18913] mod_socache_shmcb.c(545): AH00835: socache_shmcb_retrieve (0x2a -> subcache 10)
[socache_shmcb:debug] [pid 18913] mod_socache_shmcb.c(896): AH00849: match at idx=0, data=0
[socache_shmcb:debug] [pid 18913] mod_socache_shmcb.c(556): AH00836: leaving socache_shmcb_retrieve successfully
[core:debug] [pid 18913] protocol.c(2460): [client 192.168.214.13:61921] AH03155: select protocol from , choices=h2,http/1.1 for server MON_SERVEUR_URL
[ssl:debug] [pid 18913] ssl_engine_kernel.c(2254): [client 192.168.214.13:61921] AH02041: Protocol: TLSv1.3, Cipher: TLS_AES_128_GCM_SHA256 (128/128 bits)
[socache_shmcb:debug] [pid 18913] mod_socache_shmcb.c(508): AH00831: socache_shmcb_store (0x12 -> subcache 18)
[socache_shmcb:debug] [pid 18913] mod_socache_shmcb.c(860): AH00847: insert happened at idx=0, data=(0:32)
[socache_shmcb:debug] [pid 18913] mod_socache_shmcb.c(863): AH00848: finished insert, subcache: idx_pos/idx_used=0/1, data_pos/data_used=0/213
[socache_shmcb:debug] [pid 18913] mod_socache_shmcb.c(530): AH00834: leaving socache_shmcb_store successfully
[ssl:debug] [pid 18913] ssl_engine_kernel.c(415): [client 192.168.214.13:61921] AH02034: Initial (No.1) HTTPS request received for child 1 (server MON_SERVEUR_URL:443)
[auth_gssapi:debug] [pid 18913] mod_auth_gssapi.c(838): [client 192.168.214.13:61921] GSSapiImpersonate not On, skipping impersonation.
[auth_gssapi:debug] [pid 18913] mod_auth_gssapi.c(838): [client 192.168.214.13:61921] GSSapiImpersonate not On, skipping impersonation.
[deflate:debug] [pid 18913] mod_deflate.c(909): [client 192.168.214.13:61921] AH01384: Zlib: Compressed 10053 to 2991 : URL /index.php
[ssl:debug] [pid 18913] ssl_engine_kernel.c(415): [client 192.168.214.13:61921] AH02034: Subsequent (No.2) HTTPS request received for child 1 (server MON_SERVEUR_URL:443), referer: https://MON_SERVEUR_URL/
[auth_gssapi:debug] [pid 18913] mod_auth_gssapi.c(838): [client 192.168.214.13:61921] GSSapiImpersonate not On, skipping impersonation., referer: https://MON_SERVEUR_URL/
[auth_gssapi:debug] [pid 18913] mod_auth_gssapi.c(838): [client 192.168.214.13:61921] GSSapiImpersonate not On, skipping impersonation., referer: https://MON_SERVEUR_URL/
[ssl:debug] [pid 18913] ssl_engine_io.c(1146): [client 192.168.214.13:61921] AH02001: Connection closed to child 1 with standard shutdown (server MON_SERVEUR_URL:443)
Si je rajoute GSSapiImpersonate On dans mon vhost, cela n'a pas l'air de changer grand chose
Les paramètres commentés sont ceux que j'ai testé dans plusieurs combinaisons, mais à chaque fois, j'ai la fenêtre de login de GLPI qui se présente, ou alors une erreur 401.
Je sais que les 4 paramètres AuthType, AuthName et Gssapicredstore et require valid-user peuvent être suffisants car ceux-ci fonctionnent avec un serveur GLPI que j'ai ailleurs.
J'aurais besoin d'aide pour être aiguiller, ou débuguer.
Last edited by Nox1669 (2024-07-16 16:33:08)
Offline
Pages: 1