Ключевые слова:mail, sendmail, sasl, crypt, (найти похожие документы)
From: Mike Belopuhov <mkb@cvs.hnet.spb.ru.>
Date: Mon, 20 Sep 2004 18:21:07 +0000 (UTC)
Subject: Sendmail + SASL2
Оригинал: http://openbsd.hnet.spb.ru/sasl.html
Sendmail + SASL2
или быстрое руководство по использовании аутентификации на почтовых
релеях на базе Sendmail.
Для начала нужно установить сам Cyrus SASL2 из портов
(/usr/ports/security/cyrus-sasl2). И пересобрать Sendmail с поддержкой
SASL2.
В отличии от всяких других руководств я не буду здесь писать как это
сделать, потому что все должны были давно уяснить себе, что без
mk.conf(5) жизнь админа BSD очень горька. Взять уже готовый site можно
здесь (http://openbsd.hnet.spb.ru/files/site.tar.gz). А описание можно
посмотреть в специальном HOWTO (http://www.openbsd.ru/docs/howto-mkconf.html).
Переинсталлировав sendmail, перейдем к настройке аутентификации.
Для начала в openbsd-proto.mc (/usr/share/sendmail/cf/openbsd-proto.mc
или, что более понятно для пользователей других систем, в sendmail.mc)
добавим:
dnl
dnl SASL Authentication for relaying
dnl
TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5')dnl
define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5')dnl
dnl
Можете еще добавить LOGIN и PLAIN, но по заверениям Cyrus LOGIN это
отстой, а PLAIN это и так понятно, что не очень секурно (если не через
SSL/TLS, естественно).
Теперь осталось определить кому давать доступ и добавить их в базу
SASL2 (/etc/sasldb2). Проделывается это так:
# saslpasswd2 -a sendmail username
Вот и все. Что меня еще тревожит так это как заставить SASL
использовать данные из системной базы паролей, а не из своей. Если
есть решение -- шлите по email на mkb@cvs.hnet.spb.ru.
У меня получилось использовать системную базу.
Для этого в файле /usr/local/lib/sasl/Sendmail.conf надо указать: pwcheck_method: pam
В sendmail.mc я добавил такие строки:
define('confAUTH_OPTIONS', 'A')dnl
define('confAUTH_MECHANISMS', 'GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
TRUST_AUTH_MECH('GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
После чего запустил
/usr/local/sbin/saslauthd -a pam (Эту строку добавил в автозагрузку)
Пересобрал файл конфигурации sendmail и перезапустил sendmail. Все заработало.