Windows Server 2003 Security Infrastructures: Core Security Features (HP Technologies)

As mentioned earlier in this chapter, Kerberos is an open standard that is implemented on different platforms. Because of this Kerberos can be used as an SSO solution between Windows and other platforms.

5.7.1 Non-Windows Kerberos implementations

Table 5.14 lists other Kerberos implementations and the platforms on which they are available.

Table 5.14: Non-Windows Kerberos Implementations

Kerberos Implementation

Platform

MIT Kerberos v1.1

NetBSD

CyberSafe TrustBroker

UNIX, MVS, Windows 95, NT4

Sun SEAM

Solaris

DCE Kerberos (IBM)

AIX, OS/390

Computer Associates Kerberos [Platinum (OpenVision)]

Windows 95, 3.1, 3.11

Kerberos PAM

Linux, HP-UX

Heimdal

UNIX

5.7.2 Comparing Windows Kerberos to other implementations

Before going into the details of the interoperability scenarios, it is interesting to look at what makes Windows 2000 and Windows Server 2003 Kerberos different from the other implementations. The Microsoft implementation of Kerberos is different in the following ways:

Kerberos services. They do not support the raw krb5 API.

5.7.3 Interoperability scenarios

In this section we will focus on setting up Kerberos interoperability between Windows 2000 or Windows Server 2003 Kerberos and a Kerberos implementation that runs on top of UNIX platforms. Kerberos authentication interoperability can be set up in three different ways:

Next we will explain these three scenarios using examples of Windows- UNIX Kerberos authentication interoperability.

Lots of valuable information on how to set up interoperability can be found in the following white papers:

Principals defined on a Windows KDC

This scenario allows for Kerberos principals on both Windows and non- Windows platforms to log on using Windows credentials and a Windows KDC. To enable a user to log on to Windows from a UNIX workstation, the UNIX krb5.conf Kerberos configuration file must be edited to point to the Windows KDC. Afterward, the user can log on using his or her Windows account and the “kinit” command (kinit is the equivalent of logon in UNIX Kerberos implementations).

The setup gets a little bit more complicated when enabling a service, running on a UNIX platform, to log on using Windows credentials and a Windows KDC. In this scenario the Windows administrator has to run through the following configuration steps:

Ktpass comes with the Windows support tools. It allows an administrator to configure a UNIX computer or UNIX-based service as a security principal in the Active Directory.

The following example illustrates this last scenario. A company has a UNIX database server whose content should be accessible through a Web interface for every Windows user. To set this up, configure the database service as a principal in the Windows domain, and install an IIS server as a Web front end for the database server. To allow for credential forwarding between a Windows user and the IIS server, the IIS server must be “trusted for delegation.”

Principals defined on a non-Windows KDC

This scenario allows for Kerberos principals on both Windows and non- Windows platforms to log on using UNIX credentials and a UNIX KDC. For a stand-alone Windows workstation or member server to use a UNIX KDC, the following has to be done:

Cross-realm trust

This is probably the most flexible interoperability scenario available. This scenario will enable non-Windows Kerberos principals to log on to their UNIX KDC and to access resources in a Windows domain and also the other way around: For Windows principals to log on to their Windows KDC and to access resources in a UNIX realm.

The setup of a cross-realm trust between Windows and a UNIX realm is relatively straightforward. On the Windows side two things must be done: A trust relationship must be created using the AD Domains and Trusts snap-in, and a realm mapping for the UNIX realm should be added to the system registry. To add a realm mapping, use the ksetup tool. A realm mapping should not only be added on the Windows Domain controller, but also on every machine from which resources will be accessed in the UNIX realm. On the UNIX side, a trust relationship can be created using the kadmin tool.

If all user accounts are defined in the UNIX realm, a domain layout that is very similar to the NT4 master domain model of account domains and resource domains is created. In that case, the UNIX realm acts as a master account domain containing all the accounts. The Windows domain acts as a resource domain, containing resources and mappings from the UNIX accounts to Windows SIDs.

If you are planning to use this domain-realm layout, some extra configuration, besides the creation of a cross-realm trust, is needed on the Windows side. The reason for this is the difference in the accounting and aauthorization systems used in Windows and UNIX. Whereas UNIX relies on principal names for both accounting and authorization, Windows relies entirely on security identities (SIDs). Even though there is a trust relation- ship between the UNIX realm and the Windows domain, users authenticated through the KDC in the UNIX account domain can by default not access any resource in the Windows, because they do not have an SID.

To resolve this problem, shadow or proxy accounts must be created on the Windows side. A proxy account is an attribute (the “altSecurityIdentities” attribute) of a Windows account that contains a UNIX principal name. In other words, proxy accounts provide a way to map a UNIX account to a Windows account or SID.

Setting Up Kerberos Proxy Accounts Kerberos proxy or shadow accounts can be defined from the AD Users and Computers MMC snap-in.

Let’s look at what will happen now when a UNIX principal wants to access a resource that is hosted on a machine that is a member of a Windows domain (illustrated in Figure 5.37):

In case the Windows domain also contains NT4 servers that can only authenticate using NTLM, this scenario also requires some password synchronization tool between the UNIX Realm (where the accounts and their passwords are defined) and the Windows domain. Such a tool is available in CyberSafe’s Trustbroker product.

Категории