NAME
auth_krb5 - nnrpd Kerberos v5 authenticator
SYNOPSIS
auth_krb5 [-i instance]
DESCRIPTION
This program does authentication for nnrpd against a Kerberos v5 KDC.
This is NOT real Kerberos authentication using service tickets;
instead, a username and password is used to attempt to obtain a
Kerberos v5 TGT to confirm that they are valid. As such, this
authenticator assumes that nnrpd has been given the user’s username and
password, and therefore is not as secure as real Kerberos
authentication. It generally should only be used with NNTP over TLS to
protect the password from sniffing.
Normally, you do not want to use this authenticator. Instead, use
ckpasswd with PAM support and configure the nnrpd PAM stack to use a
Kerberos PAM module. A full Kerberos PAM module is more sophisticated
about how it validates passwords and has a much broader array of
options than this authenticator.
OPTIONS
-i instance
If this option is given, instance will be used as the instance of
the principal received from nnrpd and authentication will be done
against that principal instead of the base principal. In other
words, a principal like "user", when passed to auth_krb5 invoked
with "-i nntp", will be transformed into "user/nntp" before
attempting Kerberos authentication.
Since giving one’s password to nnrpd is not as secure as normal
Kerberos authentication, this option supports a configuration where
all users are given a separate instance just for news
authentication with its own password, so their regular account
password isn’t exposed via NNTP.
EXAMPLE
The following readers.conf(5) fragment tells nnrpd to authenticate
users by attempting to obtain Kerberos v5 TGTs for them, appending an
instance of "nntp" to usernames before doing so:
auth kerberos {
auth: "auth_krb5 -i nntp"
}
access kerberos {
users: "*/nntp"
newsgroups: example.*
}
Access is granted to the example.* groups for all users who
successfully authenticate.
BUGS
Currently, any username containing realm information (containing "@")
is rejected. This is to prevent someone from passing in a username
corresponding to a principal in another realm that they have access to
and gaining access to the news server via it. However, this is also
something that people may wish to do under some circumstances, so there
should be a better way of handling it (such as, perhaps, a list of
acceptable realms or a -r flag specifying the realm in which to attempt
authentication).
It’s not clear the right thing to do when the username passed in
contains a "/" and -i was also given. Right now, auth_krb5 will create
a malformed Kerberos principal with multiple instances and attempt to
authenticate against it, which will fail but perhaps not with the best
error message.
HISTORY
Originally written by Christopher P. Lindsey. This documentation was
written by Russ Allbery <rra@stanford.edu> based on Christopher’s
original README file.
$Id: auth_krb5.pod 8595 2009-08-21 08:29:26Z iulius $
SEE ALSO
ckpasswd(8), nnrpd(8), readers.conf(5).
The latest version of Christopher’s original nnrpkrb5auth may be found
on his web site at <http://www.mallorn.com/tools/>.