How to use different SASL mechanisms for ssl connections
David Cigánek
dovecot at mtfbwy.cz
Tue Oct 27 11:22:33 UTC 2015
Hi
I would like to set different SASL mechanisms for users trying to login
(POP3/IMAP/Managesieve) on encrypted channel, than for those on
unencrypted connection.
Specificaly:
For users on unencrypted channel, i need to allow login with CRAM-MD5
(to improve security - I have users who require unencrypted connection
but i cant let tem use PLAIN login, of course). But for users on
TLS/STARTTLS, there is no need to encrypt the password and I want to
store their passwords more securely - crypted with SHA512 - but that
prohibits the usage of CRAM-MD5 for login in.
I know how to handle the passdb/userdb lookups but i need to prevent the
POP3/IMAP server from announcing the CRAM-MD5 SASL method on encrypted
channel. Because if the server announces the CRAM-MD5 method, MUAs will
preffer to use that and for most users, this method is unsupported so
they will get an error. Also some MUAs seems to change SASL method from
PLAIN to CRAM-MD5 on their own (according to my logs - after enabling
the CRAM-MD5, many MUAs started to login with that, even though they
have logged in with LOGIN/PLAIN up until then).
I need the same that can be achieved in Posfix (for authenticated
sending via SMTP) with those settings:
smtpd_sasl_security_options = noanonymous, noplaintext
smtpd_sasl_tls_security_options = noanonymous, nodictionary
Is there any way how to achieve this behavior in Dovecot?
I'm using Dovecot ver. 2.2.16 (from source) on Centos 7.
Since I have already done some research, i believe there is currently no
way how to achieve this behavior. Now I'm looking at the source code here:
src/login-common/sasl-server.c
sasl_server_get_advertised_mechs()
and I think it shouldn't be too hard for me to implement a little ad-hoc
change to get this working.
So I'd like to ask you if I'm on the righ way with that and if there is
anyone out there who could help me with that, I would realy appreciate it.
Thank you very much.
David.
More information about the dovecot
mailing list