Релиз почтового сервера Postfix 3.2.0
3 марта 2017 года
После года разработки представлен релиз новой стабильной ветки почтового сервера Postfix - 3.2.0. В то же время объявлено о прекращении поддержки ветки Postfix 2.10, выпущенной в начале 2013 года. В феврале проект Postfix отметил своё двадцатилетие. Первая сборка, включающая библиотеку функций и базовый обработчик, была сформирована 20 февраля 1997 года и включала 8086 строк кода (4204 без комментариев). Для сравнения выпуск Postfix 3.2 содержит 236 тысяч строк кода (137 тысяч без комментариев).
Postfix является одним из редких проектов, сочетающих одновременно высокую безопасность, надёжность и производительность, чего удалось добиться благодаря продуманной архитектуре и достаточно жесткой политике оформления кода и аудита патчей. В соответствии с данными, полученными в результате автоматизированного опроса около двух миллионов почтовых серверов, Postfix используется на 33.07% (год назад 32.80%) почтовых серверов, доля Exim составляет 56.02% (53.62%), Sendmail - 5.06% (6.38%), Microsoft Exchange - 1.14% (1.90%).
Основные новшества Postfix 3.2.0:
- Реализована возможность согласования TLS-соединения с использованием криптографических алгоритмов на базе эллиптических кривых, при наличии OpenSSL 1.0.2 или более новой ветки. По умолчанию параметр smtpd_tls_eecdh_grade теперь установлен в значение "auto". Для определения списка доступных для согласования TLS-соединения эллиптических кривых представлен новый параметр tls_eecdh_auto_curves;
- Поддержка вызова хранимых процедур для MySQL. Например, теперь можно не только осуществить запрос с использованием выражения SELECT, но и вынести логику запроса в хранимую процедуру ("query = CALL lookup('%s')" вместо "query = SELECT....");
- По аналогии с таблицами "regexp:" и "pcre:" в таблицы CIDR ("cidr:", сопоставление IP и подсетей) добавлена возможность использования условных выражений if/endif, при помощи которых можно выборочно исключать или добавлять обработку отдельных блоков при совпадении заданного шаблона подсети;
- В команде postmap, а также в наборах "inline:" и "texthash:" появилась возможность оставления пробелов в левой части таблиц сопоставления (ранее начальные пробелы обрабатывались как часть маски, что приводило к возникновению не бросающихся в глаза ошибок). При наличии начального пробела в маске, его теперь следует экранировать при помощи двойных кавычек;
- Возможность привязки разных настроек Milter для отдельных клиентов. Для привязки настроек нужно использовать таблицы сопоставления smtpd_milter_maps, параметры из которых переопределят заданные по умолчанию настройки (smtpd_milters в main.cf). Имеется также возможность отключения Milter для отдельных клиентов, для этого в таблице сопоставления следует указать значение "DISABLE";
- В протокол, используемый для обращения к внешнему policy-серверу, добавлена возможность передачи данных об IP-адресе и сетевом порте локального SMTP-сервера (атрибуты server_address и server_port). Аналогичные сведения также доступны в протоколе взаимодействия с Milter ({daemon_addr} и {daemon_port}) и протоколе XCLIENT (DESTADDR, DESTPORT);
- Опция "-C" в утилите sendmail теперь может указывать только на директории, явно заданные в конфигурации Postfix (параметры alternate_config_directories и multi_instance_directories в main.cf). Ограничение действует если утилита sendmail запущена под идентификатором обычного пользователя. Обойти ограничение можно запустив sendmail c правами root. Изменение внесено с целью повышения безопасности и блокирования дополнительных векторов атак, осуществляемых через манипуляцию с параметрами sendmail из PHP-функции mail();
- В таблицы сопоставления по маскам в заголовке и теле письма (header_checks и body_checks) добавлена поддержка новых действий "PASS" и "STRIP". "STRIP" похож на действие "IGNORE", но производит запись данных о срабатывании в лог. При указании "PASS" производится отключение дальнейших проверок заголовков и тела сообщения, а также инспектирования в Milter;
- В состав включён вспомогательный скрипт collate.pl (auxiliary/collate/collate.pl), выполняющий группировку записей в файле с логом Postfix для более удобного разбора и изучения лога. Записи группируются по сеансам на основе информации об идентификаторах очереди и процесса;
- В реализации SMTPUTF8 отключен ранее добавленный временный слой для обеспечения совместимости стандартов IDNA2003 и IDNA2008, определяющих использование символов национальных алфавитов в доменных именах. Изменение позволило привести поведение Postfix в соответствие с поведением web-браузеров при работе с интернационализированными доменными именами;
- Прекращена поддержка сертификатов PKIX-EE и записей "TLSA 2 [01] [12]", как методов, устаревших после внедрения спецификации DANE.
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.