Kerberos is a network authentication protocol created by MIT which uses
      symmetric key cryptography to authenticate users to network services
      — eliminating the need to send passwords over the network. When
      users authenticate to network services using Kerberos, unauthorized users
      attempting to gather passwords by monitoring network traffic are
      effectively thwarted.
    
17.1. Advantages of Kerberos
	Most conventional network systems use password-based authentication
	schemes. Such schemes require a user to authenticate to a given network
	server by supplying their user name and password. Unfortunately, the
	transmission of authentication information for many services is
	unencrypted. For such a scheme to be secure, the network has to be
	inaccessible to outsiders, and all computers and users on the network
	must be trusted and trustworthy.
      
	Even if this is the case, once a network is connected to the Internet,
	it can no longer be assumed that the network is secure. An attacker who
	gains access can use a simple packet analyzer, also known as a packet
	sniffer, to intercept usernames and passwords sent in this manner,
	compromising user accounts and the integrity of the entire security
	infrastructure.
      
	The primary design goal of Kerberos is to eliminate the transmission of
	unencrypted passwords across the network. If used properly, Kerberos
	effectively eliminates the threat packet sniffers would otherwise pose
	on a network.
      
17.1.1. Disadvantages of Kerberos
	  Although Kerberos removes a common and severe security threat, it may be
	  difficult to implement for a variety of reasons:
	
- Migrating user passwords from a standard UNIX password database,
	    such as /etc/passwd or
	    /etc/shadow, to a Kerberos password database
	    can be tedious, as there is no automated mechanism to perform this
	    task. For more information, refer to question number 2.23 in the
	    Kerberos FAQ online at the following URL:
	     - 	    http://www.nrl.navy.mil/CCS/people/kenh/kerberos-faq.html. 
	     
- Kerberos has only partial compatibility with the Pluggable
	    Authentication Modules (PAM) system used by most servers running
	    Red Hat Linux.  For more information on this issue, see Section 17.4 Kerberos and PAM.
	   
- For an application to use Kerberos, its source must be modified
	    to make the appropriate calls into the Kerberos libraries. For some
	    applications, this can be quite problematic due to the size of the
	    application or its design. For other incompatible applications,
	    changes must be made to the way in which the server and client side
	    communicate. Again, this may require extensive programming.
	    Closed-source applications that do not have Kerberos support by
	    default are often the most problematic.
	   
- Kerberos assumes that you are a trusted user using an untrusted
	    host on an untrusted network. Its primary goal is to prevent plain
	    text passwords from being sent across that network. However, if
	    anyone other than the proper user has access to the one host that
	    issues tickets used for authentication — called the
	    key distribution center
	    (KDC) — the entire Kerberos
	    authentication system is at risk of being compromised.
	   
- Kerberos is an all or nothing solution. If you decide to use
	    Kerberos on your network, you must remember that any passwords
	    transferred to a service which does not use Kerberos for
	    authentication are at risk of being captured by packet
	    sniffers. Thus, your network gains no benefit from the use of
	    Kerberos. To secure a network with Kerberos, one must either use
	    kerberized versions of
	    all client/server applications which send
	    unencrypted passwords or not use any such client/server
	    applications at all.