Настройка SSL для SMTP-сервера postfix (FreeBSD)


Изначально, Postfix создавался как альтернатива для Sendmail. Postfix быстрее работает, легче в администрировании, более защищен и, что важно, совместим с Sendmail.

Postfix отличается продуманой модульной архитектурой, которая позволяет создать очень надежную и быструю почтовую систему. Так, например, root-привилегии требуются только для открытия порта, а демоны, которые выполняют основную работу могут работать под непривелегированным пользователем в изолированном окружении, что очень положительно сказывается на безопасности. При простое почтовой системы ненужные демоны могут прекращать свою работу, высвобождая тем самым память, а при необходимости снова запускаются master-демоном.

Для реализации работы TSL/SSL в Postfix можно использовать технологию SASL (Simple Authentication and Security Layer). Далее описан процесс настройки сервера Postfix.
Установка и настройка postfix
Если это не было сделано ранее, установите openssl:
cd /usr/src/ports/security/openssl/

make && make install
Установите пакеты SASL (cyrus-sasl2 и cyrus-sasl-saslauthd):
cd /usr/src/ports/security/cyrus-sasl2

make all install

cd /usr/src/ports/security/cyrus-sasl2-saslauthd

make all install
При необходимости, перекомпилируйте Postfix с поддержкой TLS:
cd /usr/ports/mail/postfix

make install

В появившемся меню выберите пункты SASL2 и TLS.
Создайте файл конфигурации SASL:
echo "pwcheck_method: saslauthd" > /usr/local/lib/sasl2/smtpd.conf
Отредактируйте файл /etc/rc.conf и добавьте следующие строки для запускаcyrus-sasl при запуске системы:
saslauthd_enable="YES"
Запустите cyrus-sasl:
/usr/local/etc/rc.d/saslauthd.sh start
Скопируйте полученные файлы сертификата и приватного ключа в каталог для хранения сертификатов и ключей:
mkdir /usr/local/etc/postfix/certs

cp certificate.crt /usr/local/etc/postfix/certs

cp privatekey.key /usr/local/etc/postfix/certs
Отредактируйте файл конфигурации Postfix /usr/local/etc/postfix/main.cf и впишите туда следующие строки:

# Использовать TLS для отправки почты

smtp_use_tls = yes

smtp_tls_note_starttls_offer = yes# Путь к сертификату сервера

smtp_tls_cert_file = /usr/local/etc/postfix/certs/certificate.crt

# Путь к закрытому ключу

smtp_tls_key_file = /usr/local/etc/postfix/certs/privatekey.crt
Перезапустите Postfix, предварительно проверив конфигурацию:
postfix check

postfix reload
Проверьте работу SSL:
telnet localhost 25

EHLO localhost

Если в результате вы увидите строчку
250-STARTTLS

то postfix сконфигурирован и работает с поддержкой SSL/TLS

http://system-administrators.info/?p=2554

Обновлено: 12.03.2015