| United States-English |
|
|
|
![]() |
Installing and Administering Internet Services: HP 9000 Networking > Chapter 3 Secure Internet ServicesOverview of the Secure Environment and the Kerberos V5 Protocol |
|
This section gives an overview of the secure environment in which the Secure Internet Services operate, including a simplified overview of the Kerberos V5 authentication protocol and related Kerberos concepts. Kerberos, originally developed by MIT, refers to an authentication protocol for open network computing environments. Kerberos V5 is the Kerberos version applicable to the Secure Internet Services. The Kerberos V5 protocol is specified in RFC 1510 : ''The Kerberos Network Authentication Service (V5)". In this chapter ''non-HP Kerberos" refers to Kerberos implementations available directly from MIT, or to commercialized versions of Kerberos based on MIT source code. Figure 3-1 “The Secure Environment and the Kerberos V5 Protocol” shows the components of the secure environment in which the Secure Internet Services and the Kerberos V5 protocol operate. Each component and arrows 1-6 are explained below. As part of the Kerberos V5 protocol, security clients authenticate themselves (verify their identity) to a trusted host. This trusted host is called the security server (A in figure 1). It is highly recommended that the security server host machine be physically secure (e.g. located in a locked room). The security server is also referred to as the Key Distribution Center (KDC). The KDC provides Kerberos authentication services by issuing encrypted tickets, which clients and servers share. Throughout the rest of this chapter the term KDC will be used to refer to a generic security server. HP's product that currently fulfills the role of the KDC is the HP DCE Security Server. Security clients are hosts that run the Secure Internet Services clients and daemons (B and C in Figure 3-1 “The Secure Environment and the Kerberos V5 Protocol”). Security clients communicate with the security server for authentication.There are two types of security clients: application clients and application servers. Application clients (B in Figure 3-1 “The Secure Environment and the Kerberos V5 Protocol”) are hosts that run one or more of the following Secure Internet Services clients: ftp, rcp, remsh, rlogin, and telnet. The Kerberos utilities kinit, klist, and kdestroy also run on the application client. (See “Related Kerberos Terms and Concepts”.) In some examples, application clients may be referred to as local hosts. Application servers (C in Figure 3-1 “The Secure Environment and the Kerberos V5 Protocol”) are hosts that run one or more of the following Secure Internet Services daemons: ftpd, remshd, rlogind, and telnetd. In some examples, application servers may be referred to as remote hosts. A specific security client can be, and usually is, both an application client and application server. However, it makes sense to distinguish between these roles when describing the Kerberos V5 protocol. The following steps refer to the arrows indicated in Figure 3-1 “The Secure Environment and the Kerberos V5 Protocol”.
To summarize,
Kerberos Utilities The following utilities must exist on all security clients (HP provides these utilities on HP clients):
Realms/Cells A realm defined an administrative boundary. It has a unique name. It consists of the KDC and all the security clients (application servers and application clients) registered to that KDC. When using the HP DCE Security Server as a KDC, the term "cell" is used. A cell is roughly equivalent to a realm. By convention, Kerberos uses uppercase realm names, which appear as suffixes in principal names (david@MYREALM.COM). An HP DCE cell name must be lowercase. It appears as a prefix and has a leading "/.../" in a principal name (/.../my_kdc_cell.com/david). Cross-Realm Authentication Cross-realm authentication occurs when a client from one realm wishes to access a server from a different realm. Since each KDC administers tickets for a specific realm, cross-realm operation requires using inter-realm keys with the KDC. Cross-realm authentication is also referred to as inter-realm authentication. Currently it is not possible to set up heterogeneous cross-realm authentication between a DCE KDC and a Kerberos V5 KDC. Cross-realm authentication is available between realms hosted by KDCs of the same type. In other words, for cross-realm configurations with the Secure Internet Services, all the KDCs must be HP DCE Security Servers, or all the KDCs must be Kerberos V5 KDCs. Principals Principals are uniquely named network entities, including users and services. Principals have names that include realm (or cell) information and an associated key. All principals that participate in Kerberos V5 authentication and authorization are required to be included in the KDC's database. The KDC database does not distinguish between types of principal names. However, it is useful to describe two kinds of principal names: user principal names and service principal names.
Authorization Authorization is the process in which users verify that they may access a remote account on a specified server. Authorization depends on successful user principal validation through the Kerberos V5 authentication protocol described earlier in this section. For authorization to succeed, a mapping must exist on the application server machine authorizing the user principal to operate as the login user. The term "login user" refers to the user whose account is being accessed on the remote host. This is not necessarily the same user who originally issued the kinit, or dce_login command. Assume david has already issued the kinit command. In this example, david enters the following:
In this example, susan is the login user. Both of the following requirements must be met for authorization to succeed:
Forwarded/Forwardable Tickets When a user obtains service ticket credentials, they are for a remote system. However, the user may want to use a secure service to access a remote system and then run a secure service from that remote system to a second remote system. This would require possession of a valid TGT for the first remote system. However, running kinit on the first remote system to obtain a TGT would cause the user's password to be transmitted in a readable form over the network. To avoid this problem, Kerberos provides the option to create TGTs with special attributes allowing them to be forwarded to remote systems within the realm. The Secure Internet Services clients which offer TGT forwarding options (-f, -F) are remsh, rlogin, and telnet. However, before these options can be recognized, two prerequisite flags must be enabled. First, the KDC's forwardable ticket option must be enabled. For Kerberos V5 KDCs, use the kadmin command. For the HP DCE Security Server, use the dcecp command to set the forwardabletkt account attribute. Second, kinit must be invoked with the forwardable flag set (-f). If the -f option is selected when kinit is run, the TGT for the local system can be forwarded to the remote system. Then clients do not need to re-authenticate themselves from the remote system to the KDC. HP DCE Clients must use kinit -f to enable forwarding as the dce_login utility does not have options for ticket attributes. Provided these two flags are enabled, the forwarding options of rlogin, remsh, and telnet can take effect. For the remsh, rlogin, or telnet client that invokes the -f option, the forwarding of the TGT only happens to one remote system (one free hop). For the remsh, rlogin, or telnet client that invokes the -F option, it is possible to keep forwarding the TGT (potentially n free hops). Multiple free hops are possible because using the -F option leaves the forwardable attribute enabled in the forwarded TGT ticket, whereas using the -f option does not. Thus, the client can forward the TGT to an unlimited number of remote systems if the -F option is used every time. Once the -f option is used, the forwarding chain stops at the next node. API (Application Program Interface) The Secure Internet Services versions of rcp/remshd, remsh/remshd, rlogin/rlogind, and telnet/telnetd use the Kerberos V5 Beta 4 API. The Secure Internet Services versions of ftp/ftpd use the GSS-API (Generic Security Service Application Program Interface) Version 1. The GSS-API separates application logic from a given security mechanism. For more information on GSS-API Version 1, refer to RFCs 1508 and 1509. Configurations consist of KDCs and client nodes. The figures below illustrate possible KDC/client configurations. The following paragraphs describe the nodes in more detail and also discuss interoperability among the nodes. Figure 3-2 “Client Interoperability with HP DCE Security Servers” illustrates which security clients can interoperate in configurations using HP DCE Security Servers. Though not shown here, there may be multiple HP DCE Security Servers in the configuration. Figure 3-3 “Client Interoperability with Non-HP Kerberos V5 KDCs” illustrates which security clients can interoperate in configurations using non-HP Kerberos V5 KDCs. Though not shown here, there may be multiple non-HP Kerberos V5 KDCs in the configuration. Types of KDC Nodes
Types of Security Client Nodes Using the Secure Internet Services
Allowable Non-HP Security Client Nodes The Non-HP Kerberos Client is a node running non-HP security client software. This includes non-HP versions of the Kerberos utilities kinit, klist and kdestroy, and non-HP secure versions of internet services. Generally, configurations that contain non-HP security clients will interoperate securely with configurations that include the HP Secure Internet Services, provided the following is true:
For information on the non-HP Kerberos client, refer to your provider's documentation. The Non-HP Kerberos Client is shown as node D in Figure 3-2 “Client Interoperability with HP DCE Security Servers” and Figure 3-3 “Client Interoperability with Non-HP Kerberos V5 KDCs”. Interoperability Within a given realm, all KDCs must be of the same type. In other words, for configurations that include the Secure Internet Services, KDCs must be either all HP DCE Security Servers or all non-HP Kerberos V5 KDCs (implementing RFC 1510). Multiple KDCs of the same type may exist. In these cases there is effectively one "master" KDC. The additional KDCs contain duplicate, read-only, database information from the master. This can be helpful for load balancing purposes. Currently it is not possible to set up heterogeneous cross-realm authentication between a DCE KDC and a Kerberos V5 KDC. Thus, even in cross-realm configurations, all KDCs must be of the same type. In other words, they must be either all HP DCE Security Servers or all non-HP Kerberos V5 KDCs (implementing RFC 1510). For more specific interoperability information with non-HP Kerberos clients (node D in Figure 3-2 “Client Interoperability with HP DCE Security Servers” and Figure 3-3 “Client Interoperability with Non-HP Kerberos V5 KDCs”) contact your HP support representative. |
|||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||