После 14 месяцев разработки состоялся релиз новой стабильной ветки почтового сервера Postfix – 3.8.0. В то же время объявлено о прекращении поддержки ветки Postfix 3.4, выпущенной в начале 2019 года. Postfix является одним из редких проектов, сочетающих одновременно высокую безопасность, надёжность и производительность, чего удалось добиться благодаря продуманной архитектуре и достаточно жёсткой политике оформления кода и аудита патчей. Код проекта распространяется под лицензиями EPL 2.0 (Eclipse Public license) и IPL 1.0 (IBM Public License).
В соответствии с январским автоматизированным опросом около 400 тысяч почтовых серверов, Postfix используется на 33.18% (год назад 34.08%) почтовых серверов, доля Exim составляет 60.27% (58.95%), Sendmail – 3.62% (3.58%), MailEnable – 1.86% (1.99%), MDaemon – 0.39% (0.52%), Microsoft Exchange – 0.19% (0.26%), OpenSMTPD – 0.06% (0.06%).
Основные новшества:
- В клиенте SMTP/LMTP реализована возможность проверки DNS-записей
SRV для определения хоста и порта почтового сервера, который будет использован для передачи сообщений. Например, при указании в настройках “use_srv_lookup = submission” и “relayhost =
example.com:submission” SMTP-клиент запросит SRV-запись хоста _submission._tcp.example.com для определения хоста и порта почтового шлюза. Предложенную возможность можно использовать в инфраструктурах, в которых для доставки почтовых сообщению используются сервисы с динамически выделяемыми номерами сетевых портов. - Из списка применяемых по умолчанию в настройках TLS алгоритмов исключены шифры SEED, IDEA, 3DES, RC2, RC4 и RC5, хэш MD5 и алгоритмы обмена ключами DH и ECDH, которые отнесены к числу устаревших или неиспользуемых. При указании в настройках типов шифров “export” и “low” фактически теперь выставляется тип “medium”, так как в OpenSSL 1.1.1 поддержка типов “export” и “low” прекращена.
- Добавлена новая настройка “tls_ffdhe_auto_groups” для включения протокола согласования групп FFDHE (Finite-Field Diffie-Hellman Ephemeral) в TLS 1.3 при сборке с OpenSSL 3.0.
- Для защиты от атак, нацеленных на исчерпание доступной памяти, обеспечено агрегирование статистики “smtpd_client_*_rate” и “smtpd_client_*_count” в разрезе сетевых блоков, размер которых задан директивами “smtpd_client_ipv4_prefix_length” и “smtpd_client_ipv6_prefix_length” (по умолчанию /32 и /84)
- Добавлена защита от атак, использующих запрос на повторное согласование TLS-соединения внутри уже установленного SMTP-соединения для создания излишней нагрузки на CPU.
- В команде postconf обеспечен вывод предупреждения для комментариев, заданных непосредственно следом за значениями параметров в файле конфигурации Postfix.
- Предоставлена возможность настройки кодировки клиента для PostgreSQL через указание атрибута “encoding” в файле конфигурации (по умолчанию значение теперь выставлено в “UTF8”, а раньше использовалась кодировка “LATIN1”).
- В командах postfix и postlog вывод логов в stderr теперь производится независимо от подключения потока stderr к терминалу.
- В дереве исходных текстов файлы “global/mkmap*.[hc]” перемещены в каталог “util”, в основном каталоге оставлены только файлы “global/mkmap_proxy.*”.