Go to Babel Com Australia Home Page Go to Babel Com Australia Home Page

Technical Reports

Del's Linux Page

Experiments in Interoperability with Windows 2000

Part 2: Authentication and Kerberos

Microsoft have replaced the NTLM authentication method (the default authentication method used by NT 4.0) with a Kerberos style authentication method. Kerberos is a standard protocol designed to be used for authentication of clients and servers in an insecure environment, making it ideal for use on the internet.

Microsoft claim that their implementation of Kerberos is interoperable with the standard MIT Kerberos. This leads to several interesting possibilities. Using a Windows 2000 server, a Kerberos realm can be set up to authenticate all users on the network that have Kerberos clients. This includes Windows 2000 clients, Unix systems, and many other types of machines. Kerberos tickets are portable between operating systems, meaning that true Single Sign On is possible using a Kerberos realm hosted on a Windows 2000 server.

We tested the interoperability of Microsoft's Kerberos implementation with MIT Kerberos servers and clients.

It must be taken into account that this is beta software, and there may be features that are currently unimplemented, or not working correctly, for various reasons.

Summary

Microsoft's implementation of Kerberos appears to be interoperable to some extent with MIT Kerberos clients.

There is no implementation of a Kerberos Administration Server (kadmind) in Windows 2000 server, meaning that several of the MIT clients will not work. This includes the MIT kpasswd client, which allows users to change their passwords.

This seriously affects the usability of Windows 2000 server as a Single Sign On service.

Authentication against the Active Directory

Our previous trials measured the interoperability of the ADS vs the LDAP standards.

I tried several authentication attempts, using plain LDAP authentication, against user accounts in the LDAP trees in both OpenLDAP and ADS. All of these attempts appear to produce the expected results (i.e. using a valid account and password succeeds, using an invalid account and/or password fails).

I did not attempt Kerberos based authentication from an LDAP client.

Setup of the Microsoft Kerberos Server

The Microsoft Key Distribution Center (KDC) came installed and ready to run out of the box. The default realm name is the uppercased name of the ADS name. So, for our directory (called chc.someco.co.nz) there was a Kerberos realm of CHC.SOMECO.CO.NZ.

Set up of the Kerberos Client

I used the MIT Kerberos client version 1.0-3 which I downloaded in RPM format from Replay Associates.

I set up the /etc/athena/krb5.conf file as follows:

[libdefaults]
  ticket_lifetime = 600
  default_realm = CHC.SOMECO.CO.NZ
  default_tkt_enctypes = des-cbc-md5
  default_tgs_enctypes = des-cbc-md5

[realms]
  CHC.SOMECO.CO.NZ = {
          kdc = 172.17.32.130
          admin_server = 172.17.32.130
          default_domain = someco.co.nz
  }

[domain_realm]
  .someco.co.nz = CHC.SOMECO.CO.NZ

Kerberos Login

I was successfully able to authenticate to the Kerberos server as follows:

[del@chns1 del]$ kinit
Password for del@CHC.SOMECO.CO.NZ:

( I entered my password at this point. No error message was received, and therefore I assumed that the login was successful. I then tested this by listing my current Kerberos keys):

[del@chns1 del]$ klist
Ticket cache: /tmp/krb5cc_501
Default principal: del@CHC.SOMECO.CO.NZ

Valid starting      Expires             Service principal
16 Jul 99 02:44:08  16 Jul 99 12:45:24  krbtgt/CHC.SOMECO.CO.NZ@CHC.SOMECO.CO.NZ

The fact that my ticket granting ticket (krbtgt) was listed indicates at this point that the login was successful.

Kerberos Administration Server

On an MIT Kerberos system there is a Kerberos Administration Server (kadmind). This runs on the master Kerberos server, which stores the KDC principal database, and the KADM5 policy database. The Kerberos Administration Server typically runs over a TCP connection on port 749.

There is no implementation of the Kerberos Administration Server in Windows 2000 server. This means that Unix users are unable to change their Kerberos passwords using the kpasswd client.

Without allowing a Unix user to change their password, there is no real point in storing these passwords in the Windows 2000 server Kerberos database. Although Unix users would be able to change their Unix passwords from a Windows 2000 client, this would be unacceptable to Unix users who did not have access to a Windows 2000 PC.

It appears not to be possible to use the Kerberos Administration Server running on a non-Windows system to change passwords on a Windows 2000 server, as Microsoft have stated that they do not support the Kerberos password changing protocol (download the document and read for confirmation of this). I have yet to test this.

Previous Windows NT Clients

Windows 2000 server still supports NTLM style authentication for Windows 95/98 and Windows NT workstation 4.0 clients. Sites wishing to switch to all-Kerberos authentication are able to do so either by:


Constructed by Del (del@babel.com.au)