Дата публикации:Fri, 06 Mar 2026 10:15:50 +0300
После года разработки опубликован релиз новой стабильной ветки почтового сервера Postfix - 3.12.0. В то же время объявлено о прекращении поддержки ветки Postfix 3.7, выпущенной в начале 2022 года. Код проекта написан на языке Си и распространяется под лицензиями EPL 2.0 (Eclipse Public license) и IPL 1.0 (IBM Public License).
Postfix является одним из редких проектов, сочетающих одновременно высокую безопасность, надёжность и производительность, чего удалось добиться благодаря многопроцессной архитектуре, изолирующей отдельные обработчики, а также жёсткой политике оформления кода и аудита патчей. Для защиты от ошибок при работе с памятью в проекте используются защищённые варианты функции для выделения и освобождения памяти, а также набор абстрактных функций-обвязок для работы с буферами (проверяется выход за границы буфера и обращения к освобождённой памяти), файловыми операциями, форматирования вывода, буферизированного ввода/вывода и манипуляций со строками (включая возможности для работы со строками произвольного размера и автоматического изменения размера строк).
В соответствии с финальным автоматизированным опросом около 500 тысяч почтовых серверов (после июля 2025 года публикация отчётов прекращена), Postfix используется на 37.88% (год назад 36.81%) почтовых серверов, доля Exim составляет 55.59% (год назад 56.61%), Sendmail - 3.55% (3.60%), MailEnable - 1.81% (1.82%), MDaemon - 0.40% (0.40%), Microsoft Exchange - 0.20% (0.19%), OpenSMTPD - 0.12% (0.09%).
Основные новшества:
- Проведена работа по упрощению миграции с поисковых таблиц "hash:" и "btree:" на "lmdb:" или "cdb:" в связи с прекращением поставки в некоторых дистрибутивах Linux библиотек BerkeleyDB. Для сохранения совместимости с инструментарием Mailman, запускающим команду "postmap hash:/path/to/file" при добавлении или удалении списков рассылки, в Postfix добавлена поддержка автоматического перенаправления подобных команд на варианты с поддерживаемыми типам БД. По умолчанию включено подключения к SMTP-серверам с использованием TLS-шифрования. В настройках SMTP-клиента параметр smtp_tls_security_level выставлен в значение "may", если Postfix собран с поддержкой TLS. Значение "may" включает использование TLS для серверов с поддержкой шифрования, но допускает откат на передачу данных открытым, если сервер не поддерживает TLS. В ESMTP реализована поддержка расширения "REQUIRETLS" (RFC 8689), позволяющего отправителю запросить запросить гарантированное TLS-шифрование на всем пути доставки сообщения. В данном режиме любой SMTP и LMTP сервер, участвующий в перенаправлении письма, должен поддерживать REQUIRETLS и строгую аутентификацию через DANE или STS, а при передаче сообщения по цепочке другим серверам также использовать REQUIRETLS. Обеспечено отражение в логах уровня безопасности TLS, т.е. если для передачи сообщения затребован уровень REQUIRETLS, информация об использовании REQUIRETLS теперь будет сохранена в логе. Добавлен параметр smtp_tls_enforce_sts_mx_patterns, включающий режим совместимости между SMTP-клиентом Postfix и плагинами MTA-STS (MTA Strict Transport Security), требующими включения поддержки TLSRPT для перенаправления атрибутов STS. При выставлении данного параметра, который активен по умолчанию, SMTP-клиент Postfix подключится к MX-серверу только если его имя соответствует шаблону, указанному в политиках STS. В противном случае, будет использовано старое поведение - возможность соединения c MX-серверами на основании MX-записей в DNS при соответствии серверного сертификата политикам STS. Механизм MTA-STS позволяет информировать клиента, установившего соединение через незащищённый канал связи, о возможности и параметрах установки защищённого TLS-соединения. Поддержка параметра также добавлена в утилиты postfix-tlspol и postfix-mta-sts-resolver. Добавлена поддержка алгоритмов шифрования, стойких к подбору на квантовом компьютере, при сборке с OpenSSL 3.5 и более новыми выпусками. Переведены в разряд устаревших 16 параметров конфигурации, при использовании которых в лог теперь будет выводиться предупреждение об их удалении в одном из будущих выпусках. В число устаревших параметров, например, включены "virtual_maps", "fallback_relay", "postscreen_whitelist_interfaces" и "smtpd_client_connection_limit_exceptions". Добавлена поддержка вывода данных в формате JSON для команд: "postconf -j|-jM|-jF|-jP", "postalias -jq|-js", "postmap -jq|-js" и "postmulti -jl". Улучшена обработка ошибок в Milter-фильтрах, возникающих при обработке сообщений, полученных через уже давно установленные SMTP-соединения. Значение параметра #milter_default_action изменено с "tempfail" на значение "shutdown", подразумевающее закрытие соединения с клиентом.
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=64928