KerbNet Password Integration for Netscape

Copyright © 1993, 1994, 1995, 1996, 1997 Cygnus Solutions.

KerbNet includes software and documentation developed at the Massachusetts Institute of Technology, which includes this copyright information:

Copyright © 1995, 1997 by the Massachusetts Institute of Technology.

Export of software employing encryption from the United States of America is assumed to require a specific license from the United States Government. It is the responsibility of any person or organization contemplating export to obtain such a license before exporting.

WITHIN THAT CONSTRAINT, permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of M.I.T. not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. M.I.T. makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.


KerbNet includes software and documentation developed by OpenVision Technologies, Inc., which includes this copyright notice:

The following copyright and permission notice applies to the OpenVision Kerberos Administration system located in kadmin/create, kadmin/dbutil, kadmin/server, lib/kadm, and portions of lib/rpc:

Copyright, OpenVision Technologies, Inc., 1996, All Rights Reserved WARNING: Retrieving the OpenVision Kerberos Administration system source code, as described below, indicates your acceptance of the following terms. If you do not agree to the following terms, do not retrieve the OpenVision Kerberos administration system. You may freely use and distribute the Source Code and Object Code compiled from it, but this Source Code is provided to you "AS IS" EXCLUSIVE OF ANY WARRANTY, INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ANY OTHER WARRANTY, WHETHER EXPRESS OR IMPLIED. IN NO EVENT WILL OPENVISION HAVE ANY LIABILITY FOR ANY LOST PROFITS, LOSS OF DATA OR COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, INCLUDING, WITHOUT LIMITATION, THOSE RESULTING FROM THE USE OF THE SOURCE CODE, OR THE FAILURE OF THE SOURCE CODE TO PERFORM, OR FOR ANY OTHER REASON.

OpenVision retains all rights, title, and interest in the donated Source Code. With respect to OpenVision's copyrights in the donated Source Code, OpenVision also retains rights to derivative works of the Source Code whether created by OpenVision or a third party. OpenVision Technologies, Inc. has donated this Kerberos Administration system to MIT for inclusion in the standard Kerberos 5 distribution. This donation underscores our commitment to continuing Kerberos technology development and our gratitude for the valuable work which has been performed by MIT and the Kerberos community.


KerbNet includes software and documentation developed at the University of California at Berkeley, which includes this copyright notice:

Copyright © 1983 Regents of the University of California.
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. All advertising materials mentioning features or use of this software must display the following acknowledgement:
    This product includes software developed by the University of California, Berkeley and its contributors.
  4. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.


Permission is granted to make and distribute verbatim copies of this manual provided the copyright notices and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided also that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.

Introduction

The KerbNet plug-in for Netscape requires users to authenticate themselves before connecting to protected Netscape objects. Only users in the Kerberos database may connect to the restricted websites, and the KerbNet authentication system verifies the identity of such users through the use of passwords.

Requirements for Using the KerbNet Plug-In

In order to use the KerbNet plug-in for Netscape:

* You must have Netscape Enterprise Server 2.0 beta 2 installed.

* Netscape's encryption option must be turned on, using the Netscape configuration procedures (consult your Netscape documentation for details). This option ensures that KerbNet passwords and other sensitive information are protected when they are sent across the network.

The next chapter of this document describes how to set up KerbNet security for your Netscape server.

Using This Manual

In this manual, we will represent your prompt as "shell%". So an instruction to type the "ls" command would be represented as follows:

shell% ls

You should install KerbNet programs in whichever directory makes the most sense for your system. We will use /usr/cygnus/kerbnet throughout this guide to refer to the top-level directory KerbNet directory.

Setting Up

Installing KerbNet Files

If you have the KerbNet authentication system installed on the same machine as your Netscape server, all of the necessary files are available. If you are not using the KerbNet system, you will need to use the following KerbNet files:

/usr/cygnus/kerbnet/lib/kauth.so

/usr/cygnus/kerbnet/sbin/kauthd

Store these files on the same machine that runs the Netscape server.

Modifying the obj.conf File

The obj.conf file contains configuration information for Netscape. In order to use KerbNet security with Netscape, you need to add some lines to obj.conf.

  1. In the general section at the beginning of obj.conf, add:

Init fn="load-modules" funcs="basic-auth" shlib="/usr/cygnus/kerbnet/kauth.so"

  1. For each Netscape object you wish to protect with KerbNet authentication, add the following lines to the section of obj.conf that deals with that object:

    
    AuthTrans fn="basic-auth" auth-type="basic" userdb="<filename>"
    PathCheck realm="kerberos" fn="require-auth" auth-type="basic"
    
    

Starting the KerbNet Authentication Daemon

The KerbNet authentication daemon, kauthd, handles communication between the KerbNet system and the Netscape system. It passes ticket requests from the Netscape user to the KerbNet system, and signals Netscape whether or not to allow the user to open the restricted objects.

kauthd must run on same machine on which the Netscape server runs. When you run kauthd, you must do so using the same userid you use to start up the Netscape server.

You must create a keytab for kauthd. The default principal for kauthd is netscape/<hostname>@<REALM>, where <hostname> is the name of the host machine on which the Netscape server is running and <REALM> is its realm. Consult the KerbNet System Administrator's Guide for information about creating keytabs.

To run kauthd type:


shell% kauthd [options] <filename>

The argument <filename> is manadatory; it is the file through which kauthd and Netscape communicate with each other. Make sure that this file does not exist when you run kauthd; kauthd creates the file when it starts up. If the file already exists, kauthd cannot function; it sends out the error message: "cannot bind to address."

When kauthd exits cleanly, it destroys the file. If kauthd is forced to exit abruptly (for example, if you use the kill -9 command), it may not destroy the file. If this happens, you need to remove the file before restarting kauthd.

kauthd must be running before you start up the Netscape server. If the server goes down and you have to restart it, make sure kauthd is running before you restart the server (if you use a script to automatically restart Netscape, you should modify the script to restart kauthd first).

kauthd takes the following options:

-t KEYTAB
This option pecifies a keytab for kauthd to use, other than the default one. The default keytab is /etc/v5srvtab.

-S SERVICENAME
This option specifies a service name for Netscape (kauthd principal), other than the default one.

--nofork
This option causes kauthd not to run as a daemon.

--version
This option causes kauthd to print out a message telling you which KerbNet version it came from.

Running Netscape with KerbNet

Once the authentication daemon and the Netscape server are running, users can open Netscape browsers and view webpages as usual. However, when a user tries to connect to one of the Netscape objects you have protected with KerbNet security, the user is prompted for his or her userid and password. If the userid is in the Kerberos database and the password is correct, the user is able to view the webpage; otherwise, a dialog box opens with the message "Authorization failed, Retry?"

Note that only the objects that you specified for protection by adding lines to their sections in obj.conf are protected by KerbNet authentication; any user may view other objects as usual.

Troubleshooting

Error Messages

When kauthd runs successfully, it puts itself in the background. However, if a problem occurs while kauthd is setting up, any error messages will be printed to the screen, before the application goes into the background.

Once authd is running successfully, it sends error messages about any authentication problems that may occur to the server, which logs the messages. You may see the following error messages:

no password given
The user did not enter a password.

fail: password is incorrect
The user entered an incorrect password.

fail: while getting credential
The principal (username) that the user entered is not in the Kerberos database.

fail: while verifying credential
The keytab is not set up correctly. Verify that the correct service principle is in the keytab and that the permissions on the file are correct.

kauthd sends messages indicating the success or failure of authentication to the Netscape browser, which displays them to the user.