После 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%).
Основные новшества:
В соответствии с январским автоматизированным опросом около 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-адресов. Остальные хэш-таблицы, проверка ключей в которых может производиться на основании данных атакующего, не подвержены подобным атакам, так как в них применяется ограничение по размеру (в anvil применялась чистка раз в 100 секунд).
- Усилена защита от внешних клиентов и серверов, очень медленно по крупицам передающих данные для удержания активными соединений SMTP и LMTP (например, для блокирования работы через создание условий исчерпания лимита на число установленных соединений). Вместо ограничений времени в привязке к записям теперь применено ограничение в привязке к запросам, а также добавлено ограничение минимально возможной интенсивности передачи данных в блоках DATA и BDAT. Соответственно, на смену настойкам {smtpd,smtp,lmtp}_per_record_deadline пришли {smtpd,smtp,lmtp}_per_request_deadline и {smtpd, smtp,lmtp}_min_data_rate.
- В команде postqueue обеспечена чистка непечатных символов, таких как перевод строки, на этапе до вывода в стандартный выходной поток или форматирования строки в JSON.
- В tlsproxy на смену параметрам tlsproxy_client_level и tlsproxy_client_policy пришли новые настройки tlsproxy_client_security_level и tlsproxy_client_policy_maps для унификации наименования параметров в Postfix (наименование настроек tlsproxy_client_xxx теперь соответствует настройкам smtp_tls_xxx).
- Переделана обработка ошибок от клиентов, использующих LMDB.
Доступен почтовый сервер Postfix 3.7.0
www.opennet.ru