После 10 месяцев разработки состоялся релиз новой стабильной ветки почтового сервера Postfix – 3.7.0. В то же время объявлено о прекращении поддержки ветки Postfix 3.3, выпущенной в начале 2018 года. Postfix является одним из редких проектов, сочетающих одновременно высокую безопасность, надёжность и производительность, чего удалось добиться благодаря продуманной архитектуре и достаточно жёсткой политике оформления кода и аудита патчей. Код проекта распространяется под лицензиями EPL 2.0 (Eclipse Public license) и IPL 1.0 (IBM Public License).
В соответствии с январским автоматизированным опросом около 500 тысяч почтовых серверов, Postfix используется на 34.08% (год назад 33.66%) почтовых серверов,
доля Exim составляет 58.95% (59.14%), Sendmail – 3.58% (3.6%), MailEnable – 1.99% (2.02%), MDaemon – 0.52% (0.60%), Microsoft Exchange – 0.26% (0.32%), OpenSMTPD – 0.06% (0.05%).
Основные новшества:
- Предоставлена возможность вставки по месту содержимого небольших таблиц “cidr:”, “pcre:” и “regexp:” внутри значений параметров конфигурации Postfix, без подключения внешних файлов или БД. Подстановка по месту определяется при помощи фигурных скобок, например, значение по умолчанию параметра smtpd_forbidden_commands теперь содержит строку “CONNECT GET POST regexp:{{/^[^A-Z]/ Thrash}}”, обеспечивающую сброс соединений от клиентов, отправляющих мусор вместо команд. Общий синтаксис: /etc/postfix/main.cf: parameter = .. map-type:{ { rule-1 }, { rule-2 } .. } .. /etc/postfix/master.cf: .. -o { parameter = .. map-type:{ { rule-1 }, { rule-2 } .. } .. } ..
- Обработчик postlog теперь снабжён флагом set-gid и при запуске меняет выполняет операции с привилегиями группы postdrop, что позволяет использовать его непривилегированными программами для записи логов через фоновый процесс postlogd, что позволяет повысить гибкость настройки maillog_file и реализовать в том числе логгирование stdout из контейнера.
- Добавлена поддержка API библиотек OpenSSL 3.0.0, PCRE2 и Berkeley DB 18.
- Добавлена защита от атак по определению коллизий в хэшах методом перебора ключей. Защита реализована через рандомизацию начального состояния хэш-таблиц, хранимых в оперативной памяти. В настоящее время выявлен только один способ проведение подобных атак, связанный с перебором IPv6-адресов SMTP-клиентов в сервисе anvil и требующий установки сотен кратковременных подключений в секунду при цикличном переборе тысяч разных клиентских IP-адресов.
- Усилена защита от внешних клиентов и серверов, очень медленно по крупицам передающих данные для удержания активными соединений SMTP и LMTP (например, для блокирования работы через создание условий исчерпания лимита на число установленных соединений). Вместо ограничений времени в привязке к записям теперь применено ограничение в привязке к запросам, а также добавлено ограничение минимально возможной интенсивности передачи данных.