| Installing the Files View Section |
|
| Configuration View Section |
|
| Description of Functionality View Section |
|
| Options View Section |
|
| Notices View Section |
=====================================================================
pam_krb5 v1.60-1 PATCH
September 2003
=====================================================================
Copyright (c) 2003 Certified Security Solutions, Inc.
This document contains information describing this component,
including the files that make up the component and the installation
information for these files.
This file also contains usage information for this component.
This utility is intended for operation on Solaris versions 7 and up,
Red Hat Linux versions 7 and up, HP-UX version 11.0 and up.
======================================================================
Installing the Files
======================================================================
This release includes the files listed below.
SOLARIS & LINUX:
pam_krb5.so
pam_krb5afs.c.patch
install.sh
README
HP-UX:
libpam_krb5.1
pam_krb5afs.c.patch
install.sh
README
Run this command with root privilege to install:
./install.sh
======================================================================
Configuration
======================================================================
The suggested PAM configurations for this module on Solaris, Linux and
HP-UX are shown below. The configurations shown below are the only
ones specifically tested. Additional configurations may be used at
your own risk, if desired. Changing PAM configurations can sometimes
introduce unintended side-effects, so be certain to create backup
copies of configuration files before making any changes.
On Linux, add these entries to /etc/pam.d/system-auth. These entries
are added automatically on Linux when you run auth-config and choose
krb5 authentication.
On Solaris and HP-UX, add these entries to /etc/pam.conf.
Linux:
auth required /lib/security/pam_env.so
auth sufficient /lib/security/pam_unix.so likeauth nullok
auth sufficient /lib/security/pam_krb5.so use_first_pass
auth required /lib/security/pam_deny.so
account required /lib/security/pam_unix.so
password required /lib/security/pam_cracklib.so retry=3 type=
password sufficient /lib/security/pam_unix.so nullok use_authtok md5 shadow
password sufficient /lib/security/pam_krb5.so use_authtok
password required /lib/security/pam_deny.so
session required /lib/security/pam_limits.so
session required /lib/security/pam_unix.so
session optional /lib/security/pam_krb5.so
Solaris (only the modified portions of the file are shown):
login auth requisite pam_authtok_get.so.1
login auth required pam_dhkeys.so.1
login auth sufficient pam_krb5.so use_first_pass
login auth required pam_unix_auth.so.1
login auth required pam_dial_auth.so.1
#
dtlogin auth requisite pam_authtok_get.so.1
dtlogin auth sufficient pam_krb5.so use_first_pass
dtlogin auth required pam_unix_auth.so.1
#
other auth requisite pam_authtok_get.so.1
other auth required pam_dhkeys.so.1
other auth sufficient pam_krb5.so use_first_pass
other auth required pam_unix_auth.so.1
#
#
other password optional pam_dhkeys.so.1
other password optional pam_authtok_get.so.1
other password optional pam_authtok_check.so.1
other password sufficient pam_authtok_store.so.1
HP-UX:
#
# Authentication management
#
login auth sufficient /usr/lib/security/libpam_krb5_css.1
login auth required /usr/lib/security/libpam_unix.1 use_first_pass
su auth required /usr/lib/security/libpam_unix.1
dtlogin auth sufficient /usr/lib/security/libpam_krb5_hpux.1
dtlogin auth required /usr/lib/security/libpam_unix.1 use_first_pass
dtaction auth sufficient /usr/lib/security/libpam_krb5_hpux.1
dtaction auth required /usr/lib/security/libpam_unix.1 use_first_pass
ftp auth required /usr/lib/security/libpam_unix.1
OTHER auth required /usr/lib/security/libpam_unix.1
#
# Account management
#
login account sufficient /usr/lib/security/libpam_krb5.1
login account required /usr/lib/security/libpam_unix.1
su account required /usr/lib/security/libpam_unix.1
dtlogin account sufficient /usr/lib/security/libpam_krb5.1
dtlogin account required /usr/lib/security/libpam_unix.1
dtaction account sufficient /usr/lib/security/libpam_krb5.1
dtaction account required /usr/lib/security/libpam_unix.1
ftp account required /usr/lib/security/libpam_unix.1
#
OTHER account required /usr/lib/security/libpam_unix.1
#
# Session management
#
login session sufficient /usr/lib/security/libpam_krb5.1
login session required /usr/lib/security/libpam_unix.1
dtlogin session sufficient /usr/lib/security/libpam_krb5.1
dtlogin session required /usr/lib/security/libpam_unix.1
dtaction session sufficient /usr/lib/security/libpam_krb5.1
dtaction session required /usr/lib/security/libpam_unix.1
OTHER session required /usr/lib/security/libpam_unix.1
#
# Password management
#
login password sufficient /usr/lib/security/libpam_krb5.1
login password required /usr/lib/security/libpam_unix.1
passwd password sufficient /usr/lib/security/libpam_krb5.1
passwd password required /usr/lib/security/libpam_unix.1
dtlogin password sufficient /usr/lib/security/libpam_krb5.1
dtlogin password required /usr/lib/security/libpam_unix.1
dtaction password sufficient /usr/lib/security/libpam_krb5.1
dtaction password required /usr/lib/security/libpam_unix.1
OTHER password required /usr/lib/security/libpam_unix.1
Additional configuration information can be found here:
http://www.ibiblio.org/gferg/ldp/man/man5/pam_krb5.5.html
http://www.ibiblio.org/gferg/ldp/man/man8/pam_krb5.8.html
======================================================================
Description of Functionality
======================================================================
This distribution contains a patch for the RedHat Linux
pam_krb5-1.60.1 authentication module. Both the built binary and
source code patch are contained in this distribution. The Solaris
version of this patch is a port of the RedHat pam_krb5 implementation
to Solaris 9 for Sparc. The HP-UX version of this patch is a port of
the RedHat pam_krb5 implementation to HP-UX 11.0.
This patch fixes the following defects present in the RedHat
pam_krb5-1.60.1 distribution that were discovered during
authentication interoperability testing with Microsoft Active
Directory:
1. The password cannot be changed when it has expired.
The pam_krb5.so module gives the appearance of changing the
password, but does not actually successfully change the password.
2. Password expiration warning messages are never displayed.
3. Error messages are not displayed when a user's account is
expired or locked out.
4. During the password change operation, inconsistent password
change prompts are displayed when an empty password is provided,
e.g. ^D or
======================================================================
Options
======================================================================
addressless=[true|false]
Disables the checking of the address in the ticket. Allows the
ticket to be used from behind NAT firewalls, or on machines whose
IP addresses change regularly. The default is false.
afs_cells="cell list"
Specify AFS cells to log into. Overrides default AFS cell, that
is the currently configured Kerberos realm.
banner="message"
Specifies the message string to display when called to change
passwords. The default is "Kerberos 5".
ccache_dir="/path"
Specifies the directory to place credential cache files in. The
default is "/tmp".
debug=[true|false]
Turns on debugging via syslog. The default is false.
forwardable=[true|false]
Controls whether or not credentials are forwardable. The default
is true.
get_tokens
tokens
force_cred
Set AFS credentials when specified.
hosts="hostnames"
Specifies additional hosts on which the credentials obtained by
pam_krb5 will be valid. If your host is behind a firewall, you
should add the IP address or name that the KDC sees it as to
this list. There is no default.
initial_timeout=seconds
Specifies the number of seconds to wait for the first KDC to
respond, before attempting incremental backoff. The default is 1.
keytab="/path/krb5.keytab"
Specifies the name of a keytab file to find a key for the
required_tgs in, for use in validating TGTs. When no value is
specified, the Kerberos library default value is used. The
Kerberos library default for Solaris is "/etc/krb5/krb5.keytab",
for all other platforms this default is "/etc/krb5.keytab".
krb4_convert=[true|false]
Controls whether or not pam_krb5 tries to get Kerberos IV
credentials from the KDC. Note that this requires valid
Kerberos IV configuration data to be present in /etc/krb.conf
and /etc/krb.realms. The default is false.
max_timeout=seconds
Specifies the maximum amount of time to spend attempting to
get a reply from the KDCs, in seconds. This, in effect,
determines the amount of time before PAM tries the next
authentication scheme, if the network is not available.
The default value is 30.
minimum_uid=number
Specifies the minimum UID of users being authenticated. If a
user with a UID less than this value attempts authentication,
the request will be ignored. The default value is 0.
no_warn
Allowable parameter with no implemented function.
proxiable=[true|false]
Controls whether or not credentials are proxiable. The default
is true.
realm="realm"
Overrides the default realm set in /etc/krb5.conf, to which
pam_krb5.so will attempt to authenticate users.
renew_lifetime=seconds
Default renewable lifetime. This specifies the time period beyond
which the ticket cannot be renewed. The default value is 36000.
required_tgs="service"
Specifies a principal for which a user must be able to get a
session key for the purpose of verifying that the TGT has not
been forged. The key is decrypted using a copy of the service's
key stored in a local keytab file. This is the only certain way
to be sure that the TGT hasn't been forged. The default is
host@hostname.
retain_after_close=[true|false]
Specifies whether or not to retain the Kerberos credential's cache
after session close. The default is false.
skip_first_pass
Tells pam_krb5.so not to bother checking a password that has been
set by a module listed earlier in the stack. This option is
included mainly for completeness.
ticket_lifetime=seconds
Default credential lifetime. The default value is 36000.
timeout_shift=count
Specifies the number of bits to left-shift after each timeout,
in implementing the incremental backoff in talking to the KDCs.
The default count is 2.
try_first_pass
Tells pam_krb5.so to check the password as with use_first_pass,
but to prompt the user for another one if the previously-entered
one fails. This is the default mode of operation.
validate=[true|false]
Specifies whether or not to attempt validation of the TGT. The
default is true.
use_authtok=[true|false]
Tells pam_krb5.so to never prompt for passwords when changing
passwords. This is useful if you are using pam_cracklib.so to try
to enforce use of less-easy-to-guess passwords. The default is
false.
use_first_pass
Tells pam_krb5.so to get the user's entered password as it was
stored by a module listed earlier in the stack, usually pam_unix
or pam_pwdb, instead of prompting the user for it.
user_check=[true|false]
Verifies the authentication user name has a valid account on the
system when true. Otherwise, the user ID in the current context
is used. The default is true.
warn_period=seconds
Warning period before the user's password expires. The default
value is 604800 seconds. This option is ignored in the current
implementation.
======================================================================
Notices
======================================================================
This product includes software developed at the Massachusetts
Institute of Technology (http://www.mit.edu/).
This product includes software developed by RedHat Software
(http://www.redhat.com/).
======================================================================
Certified Security Solutions Notices
======================================================================
DISCLAIMER
This software is provided by Certified Security Solutions, Inc. (CSS)
"AS IS" without any express or implied warranties, including, but not
limited to, the implied warranties of merchantability and fitness for
a particular purpose. In no event shall CSS be liable for any direct,
indirect, incidental, special, exemplary, or consequential damages,
including, but not limited to, procurement of substitute goods or
services; loss of use, data, or profits; or business interruption,
however caused and on any theory of liability, whether in contract,
strict liability, or tort, including negligence or otherwise, arising
in any way out of the use of this software, even if advised of the
possibility of such damage.
======================================================================
MIT Notices
======================================================================
Copyright (C) 1985-2001 by the Massachusetts Institute of Technology.
All rights reserved.
Export of this software from the United States of America may 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. Furthermore if you modify this software you must label
your software as modified software and not distribute it in such a
fashion that it might be confused with the original MIT software.
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.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
Individual source code files are copyright MIT, Cygnus Support,
OpenVision, Oracle, Sun Soft, FundsXpress, and others.
Project Athena, Athena, Athena MUSE, Discuss, Hesiod, Kerberos, Moira,
and Zephyr are trademarks of the Massachusetts Institute of Technology
(MIT). No commercial use of these trademarks may be made without
prior written permission of MIT.
"Commercial use" means use of a name in a product or other for-profit
manner. It does NOT prevent a commercial firm from referring to the
MIT trademarks in order to convey information (although in doing so,
recognition of their trademark status should be given).
----
Copyright 1987, 1989 by the Student Information Processing Board
of the Massachusetts Institute of Technology
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 names of M.I.T. and the M.I.T. S.I.P.B. not be
used in advertising or publicity pertaining to distribution
of the software without specific, written prior permission.
Furthermore if you modify this software you must label
your software as modified software and not distribute it in such a
fashion that it might be confused with the original M.I.T. software.
M.I.T. and the M.I.T. S.I.P.B. make no representations about
the suitability of this software for any purpose. It is
provided "as is" without express or implied warranty.
======================================================================
RedHat Notices
======================================================================
Copyright 2000-2003 Red Hat, Inc.
Portions Copyright 1999 Nalin Dahyabhai.
(Nalin Dahyabhai (nalin@redhat.com))
This is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*********************************************************************/