kerberos authentication for apache on windows
Julien ALLANOS
julien.allanos at aql.fr
Thu Jun 2 09:37:26 EDT 2005
Selon Jeffrey Altman <jaltman2 at nyc.rr.com>:
> Julien ALLANOS wrote:
>> Hello,
>>
>> I'm new to kerberos, and I want to know if the following configuration is
>> possible:
>>
>> I have an Apache2 web server running on Windows 2003 Server, and I want to
>> authenticate users with kerberos before they can access to the web server
>> content. The kdc service seems to be up and running on the Windows
>> 2003 server.
>>
>> 1/ how can I check that a client (Windows XP) that has just logged into the
>> domain, has been given a TGT?
>
> If you want a visual indication, you can use:
>
> * the "klist" tool provided by Microsoft with Windows
>
> * the "kerbtray" tool provided by Microsoft in the Resource Kit
>
> * MIT Kerberos for Windows and its Leash Ticket Manager,
>
>> Now I have to "kerberize" the Apache server. I found mod_auth_krb
>> (http://modauthkerb.sourceforge.net/). To compile it for Windows, I need
>> headers and libs for a Kerberos implementation.
>>
>> 2/ Can I use Windows implementation to compile it? Or do I have to install
>> another Kerberos implementation (such as MIT for Windows 2.6.5) in order to
>> build it?
>
> If you want to build an Apache module that uses the MIT Kerberos APIs,
> you can build the module against the SDK that is installed as a part of
> MIT Kerberos for Windows.
>
> Jeffrey Altman
Thanks.
I have installed kerbtray, and I can see the following tickets for
MY.DOMAIN.COM:
cifs/srv.my.domain.com
krbtgt/MY.DOMAIN.COM (forwarded)
krbtgt/MY.DOMAIN.COM (initial)
ldap/srv.my.domain.com/my.domain.com
So I suppose the krbtgt are the TGT. But why two tickets?
I've succeed to build mod_spnego.so for Windows, using MIT kfw 2.6.5,
fbopenssl,
openssl and apache2. Then I've created a user in AD, and a
corresponding keytab
for HTTP/my.domain.com at MY.DOMAIN.COM.
I'm using the following configuration for Apache:
<Location />
AuthType SPNEGO
Krb5KeyTabFile conf/rp.HTTP.keytab
Krb5ServiceName HTTP
Require valid-user
</Location>
Here is a summary of an access to the web server:
C -> GET / -> S
C <- 401, WWW-Authenticate: Negotiate <- S
C -> GET /, Authorization: Negotiate xxxxx -> S
C <- 401 <- S
Here are the last 3 lines of error.log:
[Thu Jun 02 15:39:42 2005] [info] [client 192.168.100.191] mod_spnego:
entering
authenticateUser
[Thu Jun 02 15:39:42 2005] [info] [client 192.168.100.191] mod_spnego:
Authorization value is "Negotiate xxxxxx"
[Thu Jun 02 15:39:42 2005] [error] [client 192.168.100.191] mod_spnego:
received
type 1 NTLM token
So what's wrong please? I really need to make Kerberos works, not NTLM.
Thanks for any help.
--
Julien ALLANOS
More information about the Kerberos
mailing list