NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
lib/60320: libsaslc: gssapi mech should support loading keytabs
>Number: 60320
>Category: lib
>Synopsis: libsaslc: gssapi mech should support loading keytabs
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: lib-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Jun 09 22:40:00 +0000 2026
>Originator: Taylor R Campbell
>Release: current, 11
>Organization:
The NetSASLC Credentials, Inc.
>Environment:
>Description:
libsaslc(3) can be used as a gssapi/krb5 client with a
credential cache, as shown in the man page
<https://man.netbsd.org/NetBSD-11.x-BRANCH/libsaslc.3#GSSAPI%20AND%20KERBEROS>:
> Here we have assumed the submission port is the port the server is lis-
> tening to. Finally, as root, run the command
>
> su -m postfix -c kinit
>
> to obtain a ticket for the postfix user with the postfix credential and
> you should be good to go!
This is a little silly for a service daemon that happens to be
running as a client. Typical practice with Kerberos is for
service daemons to have their own long-term keys stored in a
keytab file, as the server side of the same example does.
It should be possible for the libsaslc client to start with a
keytab too, instead of having to run `su -m postfix -c kinit'
every time you want to make postfix relay mail. If this can be
done with the KRB5_KTNAME environment variable, it would be
nice if the example demonstrated that. If not, it would be
nice if there were a way to do this, e.g. with
saslc_sess_setprop to set a keytab path, maybe using libkrb5 or
using the gssapi credential store extensions
(https://k5wiki.kerberos.org/wiki/Projects/Credential_Store_extensions,
supported in not-yet-released heimdal too).
Also: the man page example doesn't actually work; postfix fails
with, e.g.:
> Jun 8 19:25:31 singbulli postfix/smtp[22014]: fatal: specify a password table via the `smtp_sasl_password_maps' configuration parameter
But it is sufficient to set, say:
smtpd_sasl_password_maps = static:postfix
Other minor issues in the man page:
1. kstash is not recommended these days -- needless UI
complexity for defence against threat model better handled
by disk encryption
2. various `kadmin add' arguments can, and for batch scripts
should, be abbreviated to `--use-defaults'
3. root-owned /etc/krb5.keytab shouldn't be necessary for the
server side; postfix-owned file under /var/spool/postfix or
/var/db/postfix might make the configuration tidier
>How-To-Repeat:
read libsaslc(3) man page
try to set up postfix as client with gssapi/krb5
>Fix:
Yes, please!
Home |
Main Index |
Thread Index |
Old Index