После года разработки и спустя 12 лет с момента появления (https://www.opennet.ru/opennews/art.shtml?num=1892) ветки 2.0 представлен (http://permalink.gmane.org/gmane.mail.postfix.announce/151) релиз новой стабильной ветки почтового сервера Postfix (http://www.postfix.org) - 3.0.0. Одновременно с выходом новой ветки, объявлено о прекращении поддержки ветки Postfix 2.8, выпущенной (https://www.opennet.ru/opennews/art.shtml?num=29334) в начале 2011 года. Ветка 3.0 примечательна измененим настроек по умолчанию и некоторыми изменениями, нарушающими обратную совместимость.
Postfix является одним из редких проектов, сочетающих одновременно высокую безопасность, надёжность и производительность, чего удалось добиться благодаря продуманной архитектуре (http://www.postfix.org/OVERVIEW.html) и достаточно жесткой политике оформления кода и аудита патчей. В соответствии с данными, полученными (http://www.securityspace.com/s_survey/data/man.201501/mxsurv...) в результате автоматизированного опроса около двух миллионов почтовых серверов, Postfix используется на 28.01% почтовых серверов, доля Exim составляет 50.65%, Sendmail - 9.22%, Microsoft Exchange - 5.47%.
Из особенностей (ftp://ftp.porcupine.org/mirrors/postfix-release/official/pos...) новой ветки можно отметить:
- Поддержка расширения SMTPUTF8 (RFC 6531 (http://tools.ietf.org/html/rfc6531)), позволяющего использовать символы национальных алфавитов в адресах электронной почты, именах хостов, названиях почтовых ящиков и SMTP-заголовках. В версии 3.0 полностью реализована (http://www.postfix.org/SMTPUTF8_README.html) поддержка SMTP-заголовков и адресов в кодировке UTF-8, но ещё остаётся реализовать средства для авторматического преобразования доменных имён в кодировках ASCII ("xn-") и UTF-8 (в myhostname и mydomain имена должны быть заданы в ASCII, а в mydestination, relay_domains и других директивах продублированы в обеих формах);
- Поддержка (http://www.postfix.org/INSTALL.html#build_dll) сборки с динамическим связыванием библиотек и плагинов доступа к БД. При сборке также добавлена возможность формирования исполняемых файлов в формате PIE (Position-Independent Executables), предоставляющих дополнительные механизмы защиты от атак, благодаря включению техники рандомизации адресного пространства (ASLR).
- Представлен новый набор настроек по умолчанию. Изменения активируются только для новых установок, при обновлении ранее существующих конфигураций прежний набор настроек по умолчанию будет сохранён (http://www.postfix.org/COMPATIBILITY_README.html), а для перехода к новым настройкам потребуется явное участие администратора. Информация об изменившихся настройках по умолчанию отображается в логе. Среди изменившихся настроек можно отметить append_dot_mydomain=no, chroot=no, smtputf8_enable=yes, mynetworks_style=host (было subnet), relay_domains="" (было $mydestination). Для управления обратной совместимостью представлена директива compatibility_level, установка значения "2" подразумевает использование конфигурации Postfix 3;
- Возможность выполнения операций одновременно над несколькими таблицами. Для обращения к нескольким таблицам представлены два новых новых типа БД: "pipemap:{map1,map2...}" для последовательного перебора таблиц одна за другой (если элемент не найден в таблице map1, выполняется запрос map2 и т.д.). Второй тип "unionmap:{map1,map2,...}" подразумевает отправку запросов сразу всем указанным таблицам с последующим объединением результатов выборки;
- Поддержка псевдо-таблиц, позволяющих быстро определить БД на основе перечисления значений непосредственно в месте определения таблицы. Например, указав "inline:{key1=value1,key2=value2,...}" можно избежать необходимости создания отдельной БД в файле. Также добавлен новый тип таблиц "randmap{value1,value2,...}", при обращении к которым элемент из таблицы выбирается случайным образом;- Возможность преобразования DNS-обращений, кодов статуса и сообщений при помощи таблиц. Для задания масок преобразования в таблицах типа PCRE задаются регулярные выражения и связанные с ними замены. При помощи данной техники появляется возможность исправления проблемных DNS-ответов, приводящих к ошибкам при доставке сообщений. Подключение фильтров производится через smtp_dns_reply_filter, smtp_delivery_status_filter и подобные директивы;
- Улучшен синтаксис файла конфигурации, в котором теперь допускается использование тройных условных операторов "${name?{iftrue}:{iffalse}}" и операторов сравнения "${{expr1}==${expr2}?{iftrue}:{iffalse}}". Возможна привязка отдельных таймаутов к Milter и policy-серверам. В параметрах master.cf, настройках import/export_environment и результатах выборки из таблиц теперь можно использовать пробелы. В Postfix 3.1 ожидается поддержка возвращения множественных результатов выборки в таблицах access и header/body_checks;- Привязка профилей команд к отдельным SMTP-сеансам, позволившая организовать запись в лог в конце каждого входящего сеанса, а не по мере поступления запросов, снабдив запись необходимой диагностической информацией. В итоге значительно упростился процесс диагностики проблем, дав возможность обойтись без включения расширенных логов и запуска сниффера. Например, активность бота, подбирающего пароли, теперь отражается в логе как "disconnect from name[addr] ehlo=1 auth=0/1 commands=1/2", показывая, что клиент отправил одну успешную команду EHLO, одну команду AUTH, которая завершилась неудачей, после чего оборвал соединение без передачи команды QUIT.
URL: http://permalink.gmane.org/gmane.mail.postfix.announce/151
Новость: https://www.opennet.ru/opennews/art.shtml?num=41636