Увидел свет почтовый сервер Postfix 3.0.0

Материал из Викиновостей, свободного источника новостей

9 февраля 2015 года

После года разработки и спустя 12 лет с момента появления ветки 2.0 представлен релиз новой стабильной ветки почтового сервера Postfix - 3.0.0. Одновременно с выходом новой ветки, объявлено о прекращении поддержки ветки Postfix 2.8, выпущенной в начале 2011 года. Ветка 3.0 примечательна изменением настроек по умолчанию, поддержкой в адресах национальных алфавитов, расширением синтаксиса конфигурации и появлением новых типов таблиц.

Postfix является одним из редких проектов, сочетающих одновременно высокую безопасность, надёжность и производительность, чего удалось добиться благодаря продуманной архитектуре и достаточно жесткой политике оформления кода и аудита патчей. В соответствии с данными, полученными в результате автоматизированного опроса около двух миллионов почтовых серверов, Postfix используется на 28.01% почтовых серверов, доля Exim составляет 50.65%, Sendmail - 9.22%, Microsoft Exchange - 5.47%.

Из особенностей новой ветки можно отметить:

  • Поддержка расширения SMTPUTF8 ( RFC 6531), позволяющего использовать символы национальных алфавитов в адресах электронной почты, именах хостов, названиях почтовых ящиков и SMTP-заголовках. В версии 3.0 полностью реализована поддержка SMTP-заголовков и адресов в кодировке UTF-8, но ещё остаётся реализовать средства для автоматического преобразования доменных имён в кодировках ASCII ("xn-*") и UTF-8 (в myhostname и mydomain имена должны быть заданы в ASCII, а в mydestination, relay_domains и других директивах продублированы в обеих формах);
  • Представлен новый набор настроек по умолчанию. Изменения активируются только для новых установок, при обновлении ранее существующих конфигураций прежний набор настроек по умолчанию будет сохранён, а для перехода к новым настройкам потребуется явное участие администратора. Информация об изменившихся настройках по умолчанию отображается в логе. Среди изменившихся настроек можно отметить append_dot_mydomain=no, chroot=no, smtputf8_enable=yes, mynetworks_style=host (было subnet), relay_domains="" (было $mydestination). Для управления обратной совместимостью представлена директива compatibility_level, установка значения "2" подразумевает использование конфигурации Postfix 3;
  • Возможность выполнения операций одновременно над несколькими таблицами. Для обращения к нескольким таблицам представлены два новых новых типа БД: "pipemap:{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;
  • Поддержка обработки BCC в header/body_checks

и milter_header_checks. В таблицы access добавлено новое действие INFO.

  • Новые директивы check_client_a_access, check_reverse_client_a_access, check_sender_a_access, check_helo_a_access и check_recipient_a_access для проверки по IP-адресам, вычисленным на основе резолвинга хоста клиента,

параметров заголовка HELO, домена отправителя или домена получателя;

  • Новый параметр smtp_address_verify_target, определяющий стадию принятия решения о валидности получателя. По умолчанию решение принимается при получении заголовка "rcpt". Установив значение "data" можно организовать отсеивание некорректных получателей при поступлении команды DATA;
  • Поддержка сборки с динамическим связыванием библиотек и динамической загрузки плагинов доступа к БД.

Из поддерживающих динамическую загрузку плагинов отмечены CDB, LDAP, LMDB, MYSQL, PCRE, PGSQL, SDBM и SQLITE. При сборке также добавлена возможность формирования исполняемых файлов в формате PIE (Position-Independent Executables), предоставляющих дополнительные механизмы защиты от атак, благодаря включению техники рандомизации адресного пространства (ASLR).

Источники[править]

Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Увидел свет почтовый сервер Postfix 3.0.0», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.