You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Nigel Metheringham edited this page Nov 25, 2012
·
1 revision
Exim's string expansion gives you the ability to use authenticators that
are currently not built in. One (and currently the only) example is
CRAM-SHA1:
First, we need a pseudo-random challenge string. Exim has (as of version
4.60) no support for random numbers, so we use the PID and the unix time
(seconds since 1970-01-01):
# main config
acl_smtp_auth = acl_check_auth
# acl config
acl_check_auth:
warn set acl_c0 = <$pid.$tod_epoch@$primary_hostname>
accept
Change "c0" if you already use this ACL variable to a free one.
Here we use a lsearch lookup the get the password, you can replace it
with the password lookup that suits your setup. However, we need the
password in plaintext, not crypted or hashed.
Notes:
The only hash methods supported (as of 4.60) are md5 and sha1. Exim
has a builtin CRAM-MD5 authenticator, so using md5 make no sense.
The challenge string might look too simple to be secure, but the
only requirement is that it must be unique over time, which is very
unlikely to be violated on real world systems. If you are concerned
about that, add delay = 1s to the warn ACL stanza.