После года разработки представлен релиз новой стабильной ветки почтового сервера Postfix - 3.1.0. В то же время объявлено о прекращении поддержки ветки Postfix 2.9, выпущенной в начале 2012 года.
Postfix является одним из редких проектов, сочетающих одновременно высокую безопасность, надёжность и производительность, чего удалось добиться благодаря продуманной архитектуре и достаточно жесткой политике оформления кода и аудита патчей. В соответствии с данными, полученными в результате автоматизированного опроса около двух миллионов почтовых серверов, Postfix используется на 32.80% (год назад 28.01%) почтовых серверов, доля Exim составляет 53.62% (50.65%), Sendmail - 6.38% (9.22%), Microsoft Exchange - 1.90% (5.47%).
Основные новшества:
- Реализована команда "postfix tls", позволяющая быстро включить TLS-шифрование без аутентификации (opportunistic TLS) в SMTP клиенте и сервере, а также управлять сертификатами и ключами шифрования, включая обработку запросов по формированию цифровых подписей и управление записями TLSA DNS для DANE;
- В postscreen, выступающем в роли легковесного межсетевого экрана, предназначенного для первичного блокирования соединений от рассылающих спам зомби-машин, добавлена возможность установки минимального и максимального значений времени жизни (TTL) для ответов DNSBL и DNSWL (черные и белые списки, работающие через формирование DNS-запросов). Ранее параметры TTL управлялись только настройкой "postscreen_dnsbl_ttl = 1h", которая влияла лишь на время кэширования негативных ответов ("not found") DNSBL/DNSWL. В новом выпуске представлены настройки "postscreen_dnsbl_min_ttl" (по умолчанию 60 секунд) и "postscreen_dnsbl_max_ttl" (по умолчанию 1 час), определяющие минимальный и максимальный лимит на удержание в кэше результатов проверки через DNSBL или DNSWL. При этом непосредственно значение времени жизни берётся на основе значения TTL, выдаваемого DNS-сервером для заданных DNSBL и DNSWL зон. Лимиты применяются в случае, если полученный TTL не укладывается в заданный диапазон допустимых значений;
- В SMTP-сервере реализована возможность ограничения интенсивности запросов SASL AUTH (параметр "smtpd_client_auth_rate_limit", определяющий интенсивность отправки команды AUTH в привязке к IP-адресу клиента);
- Поддержка задания задержки между отправкой сообщений для снижения интенсивности доставки, независимо от пункта назначения (destination-independent). Например, установка "smtp_transport_rate_delay = 20s" приведёт к появлению 20-секундной задержки между доставками через транспорт SMTP, ограничив общую интенсивность доставки в три сообщения в минуту;
- Возможность мягкого ограничения числа запросов на проверку адресов в активной очереди сообщений (параметр address_verify_pending_request_limit). По умолчанию значение установлено в 1/4 от максимального размера очереди;
- Команда "postqueue -j" для вывода списка элементов в очереди сообщений в формате JSON (выводится отдельный JSON-объект для каждого файла в очереди);
- Поддержка задания используемых по умолчанию параметров Milter-фильтров. Через опцию milter_macro_defaults можно перечислить список макросов в формате ключ=значение, которые будут использованы в качестве значений по умолчанию, если параметры не удалось вычислить на основе данных SMTP-сеанса. Например, установка "milter_macro_defaults = auth_type=TLS" приведёт к отправке в Milter параметра auth_type=TLS во всех случаях, кроме использования клиентом аутентификации SASL;
- Прекращена поддержка протоколов SSLv2 и SSLv3, а также слабых экспортных шифров. Размер используемых для инициализации алгоритма Диффи-Хеллмана (Diffie-Hellman) простых чисел увеличен с 1024 до 2048 бит.