Configure Cyrus SASL NTLM Plugin with Postfix

Hello

I hope somebody can help with this.

I have a shell, that in case of failure, sends an email (relaying through an Exchange Server). This Exchange server only offers NTLM authentication.

250-AUTH NTLM

This is the configuration I have:

Postfix 2.1.1 as client.

Cyrus-SASL installed (without NTLM plugin):

linux:/usr/local/sbin # rpm -q cyrus-sasl
cyrus-sasl-2.1.18-33.1

In main.cf

relayhost=172.168.240.129
smtp_sasl_security_options=
smtp_sasl_auth_enable=yes
smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd

cat /etc/postfix/sasl_passwd

172.168.240.129 myuser:mypass

As this version of cyrus-sasl 2.1.18 did not have the cyrus-sasl-ntlm plugin, I had to download the cyrus-sasl-2.1.25 and compile with --enable-ntlm option.

So I got installed ntlm plugin in /usr/local/lib/sasl2/

rwxr-xr-x  1 root root  89921 Jun 24 22:55 libntlm.so.2.0.25
lrwxrwxrwx  1 root root     17 Jun 24 22:55 libntlm.so.2 -> libntlm.so.2.0.25
lrwxrwxrwx  1 root root     17 Jun 24 22:55 libntlm.so -> libntlm.so.2.0.25

But in test this error shows in maillog

warning: SASL authentication failure: No worthy mechs found
send attr reason = delivery via 172.168.240.129[172.168.240.129]: Authentication failed: cannot SASL authenticate to server 172.168.240.129[172.168.240.129]: no mechanism available

Any ideas, suggestions to this would be very appreciated. (I've been dealing with this issue many days)

Thanks in advance !!

Victor

After so many days of research, I finally got it:

Hi:

I finally got it. Here are the steps:

Postfix 2.1.1
Cyrus 2.1.25

  1. install libtool2.4
./configure
make 
make install
  1. install openssl-1.0.1c
./config shared
make
make test
make install
echo /usr/local/ssl/lib > /etc/ld.so.conf.d/openssl.conf
ldconfig

echo /usr/local/lib/sasl2 >> /etc/ld.so.conf
ldconfig
gzip -d cyrus-sasl-2.1.25.tar.gz
tar -xvf cyrus-sasl-2.1.25.tar
cd cyrus-sasl-2.1.25

export CPPFLAGS=-I/usr/local/ssl/include
export LDFLAGS=-L/usr/local/ssl/lib   

./configure --with-plugindir=/usr/local/lib/sasl2 --with-saslauthd=/var/run/saslauthd --disable-gssapi --disable-cram --disable-anon --disable-otp --disable-krb4 --disable-digest --disable-scram --enable-plain --enable-login --enable-ntlm
make 
make install
cp /usr/local/lib/sasl2/libntlm.la /usr/lib/sasl2/
cp /usr/local/lib/sasl2/libntlm.so.2.0.25 /usr/lib/sasl2/

cd /usr/lib/sasl2/

ln -s libntlm.so.2.0.25 libtnlm.so
ln -s libntlm.so.2.0.25 libtnlm.so.2

:slight_smile:
Victor

1 Like