On Fri, May 27, 2022 at 06:22:01PM -0700, Jim Garrison wrote:

> I'm migrating from an ancient Postfix 2.6.6 with SASL 2.1.23 on Centos
> 6 to 3.5.6 with SASL 2.1.27 on Debian 11.  I've got everything working
> EXCEPT SASL authentication, and the amount of conflicting information
> on Postfix+SASL on the web is rather amazing :-).

Why not just read the SASL_README that comes with Postfix, e.g. at:

    https://www.postfix.org/SASL_README.html

and skip the various false leads on the Internet?

> $sudo sasldblistusers2
> myu...@mydomain.com: userPassword

Why do you want to use "sasldb" with passwords stored in cleartext?
Sure support various mechanisms that don't transmit the password from
the user to the server, but the bigger risk is *storing* the password on
the server.  You're generally much better off with hashed passwords and
PLAIN inside TLS.

> $cat /etc/sasl2/smtpd.conf
> pwcheck_method: auxprop
> log_level: 4
> mech_list: PLAIN

When using "auxprop", I'd expect to also see a setting for
"auxprop_plugin", and perhaps additional related parameters.

> smtpd_sasl_auth_enable = yes
> smtpd_sasl_authenticated_header = no
> smtpd_sasl_exceptions_networks =
> smtpd_sasl_local_domain =
> smtpd_sasl_path = smtpd
> smtpd_sasl_response_limit = 12288
> smtpd_sasl_security_options = noanonymous
> smtpd_sasl_service = smtpd
> smtpd_sasl_tls_security_options = $smtpd_sasl_security_options
> smtpd_sasl_type = cyrus

Ideally, you also have "smtpd_tls_auth_only = yes",

> Since the Debian default is to run Postfix chroot, I applied the fix
> suggested to make the SASL socket available to Postfix (OPTIONS below)

Instead get smtpd(8) + SASL working *without* chroot first, with
"auxprop" and "sasldb" smtpd(8) would need to be able to read the SASL
database, which would be challenging after chroot, and perhaps also
when running as the "postfix" user, rather than "root".

You'd be better off with "saslauthd" + PAM, and ideally limit which
users are eligible to authenticated that way, in case some accounts
that should not authenticate have weak passwords.

I use the "dovecot" SASL driver, with:

    # cat /etc/pam.d/dovecot 
    auth            required        pam_group.so            no_warn 
group=pamimap
    auth            required        pam_unix.so             no_warn

Users have to be in group "pamimap" in order use the "pam" backend.


> $ cat /etc/default/saslauthd
> START=yes
> DESC="SASL Authentication Daemon"
> NAME="saslauthd"
> MECHANISMS="sasldb"
> MECH_OPTIONS=""
> THREADS=5
> OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"

You're not using "saslauthd", that's an alternative "pwcheck_method"
to "auxprop" (that you should consider instead, via "saslauthd -a pam",
or use the dovecot driver).

-- 
    Viktor.

Reply via email to