20.7. Установка Cyrus-SASL
Проблема
Требуется включить на почтовом сервере поддержку Cyrus-SASL для обеспечения безопасной аутентификации.
Решение
Пользователям RPM-систем потребуются следующие пакеты:
- cyrus-sasl-2.x;
- cyrus-sasl-plain-2.x.
ПРИМЕЧАНИЕ
Информация для пользователей Debian приводится в разделе 20.8.
Прежде чем устанавливать Cyrus-SASL, убедитесь, что ваша версия Postfix поддерживает SASL и TLS. Для этого выполните команду ldd
для исполняемого файла smtpd
. Вас интересуют записи libsasl2
, libssl
и libcrypto
:
$ ldd /usr/lib/postfix/smtpd
libssl.so.0.9.7 => /usr/lib/i686/cmov/libssl.so.0.9.7 (0x4006f000)
libcrypto.so.0.9.7 => /usr/lib/i686/cmov/libcrypto.so.0.9.7 (0x4009e000)
libsasl2.so.2 => /usr/lib/libsasl.so.2 (0x4018f000)
Если Postfix компонуется с этими библиотеками, можно переходить к установке Cyrus-SASL. Если нет, у вас есть два варианта:
- постройте Postfix по исходным текстам. Ознакомьтесь с файлами
README
иSASL_README
. Обязательно установите Cyrus-SASL заранее, до компиляции Postfix; - замените Postfix обновлённым пакетом RPM, в котором вся необходимая поддержка уже встроена.
После установки Postfix и Cyrus-SASL запустите saslauthd
:
# /etc/init.d/saslauthd start
Добавьте следующий фрагмент в main.cf
:
smtpd_sasl_auth_enable = yes
smtpd_sasl2_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination
Активируйте изменения:
# postfix reload
Проверьте, видит ли Postfix новые библиотеки SASL, подключившись к серверу через telnet
:
$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 windbag.test.net ESMTP Postfix (Libranet/GNU)
EHLO windbag.test.net
250-windbag.test.net
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-XVERP
250-8BITMIME
Нас интересуют строки STARTTLS
и AUTH
. Если они присутствуют, настройка завершена, и можно переходить к следующему шагу, описанному в разделе 20.9.
Комментарий
Файл main.cf
содержит свыше сотни параметров конфигурации. Не стоит беспокоиться — используйте только те параметры, которые необходимы для выполнения вашей работы. В каталоге /usr/share/doc/postfix/examples/
содержится множество примеров конфигураций.
Запись smtpd_recipient_restrictions
может содержать несколько аргументов, разделённых запятыми. Все аргументы могут находиться в одной строке или разбиваться на несколько строк. Каждая новая строка должна начинаться с пробела или табуляции.
См. также
- Описание параметров
main.cf
в/usr/share/doc/postfix/examples/
; - описание параметров аутентификации в
/usr/share/doc/postfix/examples/sample-auth.cf.gz
; - описание Postfix (
/usr/share/doc/postfix/html/index.html
).