След 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%).
Основни нововъведения:
- Добавена е възможност за вмъкване на малки таблици "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.
Източник: opennet.ru
