Релиз почтового сервера Postfix 3.4.0

После года разработки состоялся релиз новой стабильной ветки почтового сервера Postfix — 3.4.0. В то же время объявлено о прекращении поддержки ветки Postfix 3.0, выпущенной в начале 2015 года. Postfix является одним из редких проектов, сочетающих одновременно высокую безопасность, надёжность и производительность, чего удалось добиться благодаря продуманной архитектуре и достаточно жесткой политике оформления кода и аудита патчей. Код проекта распространяется под лицензиями EPL 2.0 (Eclipse Public license) и IPL 1.0 (IBM Public License).

В соответствии с февральским автоматизированным опросом более двух миллионов почтовых серверов, доля Exim составляет 56.91% (год назад 56.56%), Postfix используется на 34.42% (33.79%) почтовых серверов, Sendmail — 4.16% (4.59%), Microsoft Exchange — 0.61% (0.85%).

Основные новшества:

  • Поддержка сохранения лога в произвольный файл или стандартных выходной поток (stdout), помимо ведения логов через syslog. Прямое сохранение лога в файл позволяет упростить настройку почтового сервера в macOS и решить ряд проблем при запуске при помощи systemd. Вывод лога в stdout позволяет исключить syslogd из зависимостей при выполнении Postfix в изолированном контейнере. Для ведения логов добавлен новый процесс postlogd, активация которого производится через сервис 'postlog' в master.cf;
  • В коде сервера SMTP, клиента SMTP и прокси TLS (tlsproxy) добавлена поддержка SNI (Server Name Indication), которая позволяет обеспечить доступ через шифрованное соединение к разным виртуальным хостам на одном IP-адресе;
  • В реализацию SMTP-клиента добавлена возможность выполнение сразу нескольких доставок в рамках одного шифрованного TLS-соединения, что положительно отражается на производительности, особенно при подключении к серверам, применяющим ограничения для клиентов, передающих большое число запросов, каждый раз разрывая и устанавливая соединение;
  • В SMTP-сервере (smtpd) и межсетевом экране (postscreen) добавлена поддержка расширения «CHUNKING ESMTP» (без BINARYMIME), определённого в RFC 3030 и реализующего поддержку команды «BDAT», предназначенной для кусочной передачи тела письма вместо передачи неделимым блоком при помощи команды DATA. Применение «CHUNKING ESMTP» приводит к небольшому росту производительности и снижению сетевой нагрузки;
  • Поддержка файлов конфигурации для TLS, в которых можно определить сразу несколько разных наборов ключей и сертификатов. Файлы могут подключаться в качестве lookup-таблиц для SNI (tls_server_sni_maps) и позволяют обойтись без создания отдельный файлов для разных ключей/сертификатов на базе RSA, DSA, Elliptic Curve и т.п.
  • Прекращена поддержка OpenSSL 1.0.1 (разработчики OpenSSL прекратили поддержку данной ветки ещё в 2016 году) и более ранних выпусков.

© OpenNet