[Admin-ml] apache avec kerberos.
Fabien COMBERNOUS
fcombernous at kezia.com
Mer 23 Déc 17:42:42 CET 2009
Fabien COMBERNOUS wrote:
> Olivier DUCROT wrote:
>> Il n'y a pas besoin de jouer de kadmin pour que ça tombe en marche
>> comme tu
>> le dis. Kadmin ne te donne pas de ticket !
>> Il faut simplement binder ta machine sur le serveur et activer
>> l'authentification kerberos pour apache avec serveradmin
>>
> La machine qui héberge le serveur web est bien bindé puisque c'est
> aussi l'ODm.
> Et cette machine a le nom fqdn dns.domain, et kadmin me liste bien le
> principal HTTP/dns.domain at REALM. Avec l'utilisateur qui va bien,
> utilisant un home AFP distant, authentifié avec kerberos, l'accès à la
> page http://dns.domain est transparent.
>
> Mais, si je cherche à utiliser le virtualhost défini dans apache
> http://myadmin.domain, le principal attendu est
> HTTP/myadmin.domain at REALM. Et ce principal n'existe pas, dixit kadmin.
> Et j'ai pourtant bien demandé une identification kerberos pour le
> virtualhost apache avec ServerAdmin.
Quand je regarde les logs apache en mode débug voilà ce que j'otiens.
Quand j'utilise http://dns.domain qui fonctionne
------------------------------------------------------------
mod_cache.c(131): Adding CACHE_SAVE filter for /
mod_cache.c(138): Adding CACHE_REMOVE_URL filter for /
mod_spnego_apple2.c(114): [client 192.168.1.58] mod_spnego_apple:
Noting auth required for realm 'My Administrator'
mod_cache.c(131): Adding CACHE_SAVE filter for
/error/HTTP_UNAUTHORIZED.html.var
mod_cache.c(138): Adding CACHE_REMOVE_URL filter for
/error/HTTP_UNAUTHORIZED.html.var
mod_headers.c(743): headers: ap_headers_output_filter()
mod_cache.c(552): cache: /error/HTTP_UNAUTHORIZED.html.var not cached.
Reason: Response status 401
mod_headers.c(743): headers: ap_headers_output_filter()
mod_headers.c(743): headers: ap_headers_output_filter()
mod_headers.c(743): headers: ap_headers_output_filter()
mod_headers.c(743): headers: ap_headers_output_filter()
mod_spnego_apple2.c(341): [client 192.168.1.58] mod_spnego_apple:
Kerberos legacy token available
mod_spnego_apple2.c(221): [client 192.168.1.58] mod_spnego_apple:
dsProxyOneWayGSSAPIAuth: Returning 0
[client 192.168.1.58] mod_spnego_apple: Successful authentication for
user fcombernous at REALM using service principal HTTP/dns.domain at REALM
mod_auth_apple2.c(600): [client 192.168.1.58] mod_auth_apple: Declining
non-basic auth_type
[client 192.168.1.58] mod_spnego_apple: Authorized specific user
fcombernous at REALM uri /
Quand j'utilise l'alias http://myadmin.domain qui donne erreur 401
---------------------------------------------------------------------------
mod_cache.c(131): Adding CACHE_SAVE filter for /
mod_cache.c(138): Adding CACHE_REMOVE_URL filter for /
mod_spnego_apple2.c(114): [client 192.168.1.58] mod_spnego_apple: Noting
auth required for realm 'My Administrator'
mod_cache.c(131): Adding CACHE_SAVE filter for
/error/HTTP_UNAUTHORIZED.html.var
mod_cache.c(138): Adding CACHE_REMOVE_URL filter for
/error/HTTP_UNAUTHORIZED.html.var
mod_headers.c(743): headers: ap_headers_output_filter()
mod_cache.c(552): cache: /error/HTTP_UNAUTHORIZED.html.var not cached.
Reason: Response status 401
mod_headers.c(743): headers: ap_headers_output_filter()
mod_headers.c(743): headers: ap_headers_output_filter()
mod_headers.c(743): headers: ap_headers_output_filter()
mod_headers.c(743): headers: ap_headers_output_filter()
mod_spnego_apple2.c(341): [client 192.168.1.58] mod_spnego_apple:
Kerberos legacy token available
mod_spnego_apple2.c(221): [client 192.168.1.58] mod_spnego_apple:
dsProxyOneWayGSSAPIAuth: Returning -14090
[client 192.168.1.58] mod_spnego_apple: Failed to authenticate with
Kerberos, user (null)
Dans les deux cas j'ai le même log dans kerberos :
Dec 23 17:30:23 dns.domain krb5kdc[48](info): TGS_REQ (7 etypes {18 17
16 23 1 3 2}) 192.168.1.58: ISSUE: authtime 1261585843, etypes {rep=18
tkt=16 ses=18}, fcombernous at REALM for HTTP/dns.domain at REALM
Dec 23 17:30:23 dns.domain krb5kdc[48](info): TGS_REQ (7 etypes {18 17
16 23 1 3 2}) 192.168.1.58: ISSUE: authtime 1261585843, etypes {rep=18
tkt=16 ses=18}, fcombernous at REALM for HTTP/dns.domain at REALM
Dec 23 17:33:58 dns.domain krb5kdc[48](info): TGS_REQ (7 etypes {18 17
16 23 1 3 2}) 192.168.1.58: ISSUE: authtime 1261585843, etypes {rep=18
tkt=16 ses=18}, fcombernous at REALM for HTTP/myadmin.domain at REALM
Dec 23 17:33:58 dns.domain krb5kdc[48](info): TGS_REQ (7 etypes {18 17
16 23 1 3 2}) 192.168.1.58: ISSUE: authtime 1261585843, etypes {rep=18
tkt=16 ses=18}, fcombernous at REALM for HTTP/myadmin.domain at REALM
Avec kadmin, j'ai créé 3 principals de service HTTP http et
host/myadmin.domain at REALM.
Dans les deux cas, il voit bien "Kerberos legacy token available", mais
dans un cas dsProxyOneWayGSSAPIAuth retourne 0 et pas dans l'autre. Et
il me traite alors de user null :)
J'ai mis dsProxyOneWayGSSAPIAuth dans un moteur de recherche et j'ai eu
comme seul écho à ma recherche l'infinité du vide. Et
discussions.apple.com est tout aussi verbeux.
Il n'est pas possible d'utiliser le kerberos sur un alias web ?
--
*Fabien COMBERNOUS*
/unix system engineer/
www.kezia.com <http://www.kezia.com/>
*Tel: +33 (0) 467 992 986*
Kezia Group
Plus d'informations sur la liste de diffusion Admin-ml