|
Изначально, 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
|