Linux. Полное руководство.

14.2.1. Установка и настройка SASL.

Программа Sendmail 8.10/8.11 поддерживает SMTP AUTH согласно стандарту RFC 2554. Аутентификация базируется на SASL (Simple Authentication and Security Layer). Она позволит вам несколько повысить безопасность вашей сети, но создаст определенные неудобства для пользователей, потому что не все почтовые клиенты (пользовательские агенты) ее поддерживают.

Первым делом убедитесь в том, что ваша сборка sendmail поддерживает библиотеку SASL:

# sendmail -d0.1 -bv root | grep SASL.

При отсутствии поддержки SASL от вас потребуется перекомпилировать sendmail. Распаковав исходные коды в каталог sendmail-x.xx.xx, создайте файл sendmail-x.xx.x/devtools/Site/site.config.m4, в котором необходимо прописать следующие строки:

APPENDDEF(`confENVDEF', `-DSASL').

APPENDDEF(`conf_sendmail_LIBS', `-lsasl').

APPENDDEF(`confLIBDIRS', `-L/usr/lib/').

APPENDDEF(`confINCDIRS', `-I/usr/include/').

После этого запустите сценарий Build:

# ./Build.

# ./Build install.

Если вы все сделали правильно, ваш sendmail теперь должен поддерживать SMTP AUTH. Теперь вам потребуются библиотеки Cyrus SASL, исходные коды которых вы можете найти по адресу ftp://ftp.andrew.emu.edu/pub/cyrus-mail.

Соберите библиотеку Cyrus SASL, выполнив следующую последовательность действий:

# tar -xzf cyrus-sasl-1.5.24.tar.gz.

# cd cyrus-sasl-1.5.24/

# ./configure --prefix=/usr.

# make.

# make install.

После установки библиотеки отредактируйте файл /usr/lib/sasl/Sendmail.conf. Если он не существует, создайте его. В конец этого файла необходимо добавить строку:

Pwcheck_method: sasldb.

Это укажет sendmail, что аутентификацию нужно проводить с использованием SASL. Теперь займитесь созданием базы данных всех пользователей, которые могут отправлять почту. Для этого используются две программы: saslpasswd и sasldblistusers. Они должны находиться в каталоге /sbin. Запускать их нужно от имени суперпользователя.

# saslpasswd -a sendmail newuser.

Password:<пароль для newuser>

Эту процедуру нужно провести для всех пользователей, которым разрешено отправление почты. Утилита sasldblistusers предназначена для просмотра всех записей в базе данных. После ее запуска вы должны увидеть что-то наподобие этого:

User: newuser realm: dhsilabs.com mech: CRAM-MD5.

User: newuser realm: dhsilabs.com mech: DIGEST-HD5.

User: newuser realm: dhsilabs.com mech: PLAIN.

Отображенная информация означает, что пользователь newuser может аутентифицироваться тремя методами: CRAM-MD5, DIGEST-MD5, PLAIN. Рекомендую использовать метод CRAM-MD5, но в крайнем случае подойдет и PLAIN.