Po prawie roku prac nad nową stabilną wersją serwera pocztowego Postfix opublikowano wydanie 3.10.0. Jednocześnie ogłoszono zaprzestanie wsparcia dla wersji Postfix 3.6, wydanej na początku 2021 roku. Kod projektu jest napisany w języku C i jest dystrybuowany na licencjach EPL 2.0 (Eclipse Public License) i IPL 1.0 (IBM Public License).
Postfix jest jednym z nielicznych projektów, które łączą jednocześnie wysokie bezpieczeństwo, niezawodność i wydajność, co udało się osiągnąć dzięki wieloprocesowej architekturze, izolującej poszczególne przetworniki, a także rygorystycznej polityce formatowania kodu i audytu poprawek. W celu ochrony przed błędami w pracy z pamięcią projekt wykorzystuje zabezpieczone warianty funkcji do alokacji i dealokacji pamięci, a także zestaw abstrakcyjnych funkcji powiązań do pracy z buforami (sprawdzane są przekroczenia granicy bufora oraz dostęp do zwolnionej pamięci), operacjami plikowymi, formatowaniem wyjścia, buforowanym wejściem/wyjściem oraz manipulacjami na łańcuchach (w tym możliwości pracy z łańcuchami o dowolnym rozmiarze i automatycznej zmiany rozmiaru łańcuchów).
Zgodnie z lutowym automatycznym badaniem około 550 tysięcy serwerów pocztowych, serwerów, Postfix jest używany na 37.64% (rok temu 36.81%) serwerów pocztowych, udział Exim wynosi 56.03% (rok temu 56.61%), Sendmail — 3.39% (3.60%), MailEnable — 1.80% (1.82%), MDaemon — 0.39% (0.40%), Microsoft Exchange — 0.19% (0.19%), OpenSMTPD — 0.10% (0.09%).

Główne nowości:
- Dodano możliwość korzystania z algorytmów kryptograficznych w TLS odpornych na łamanie przy użyciu komputerów kwantowych. Aby korzystać z tych algorytmów, wymagana jest wersja biblioteki OpenSSL 3.5, która jeszcze nie wyszła z fazy rozwoju. Do wyboru post-kwantowych algorytmów w Postfix nie wprowadzono nowej składni grup TLS, polegając na ustawieniach OpenSSL, które będą używane przez parametry „tls_eecdh_auto_curves” i „tls_ffdhe_auto_groups” ustawione na puste wartości.
- Dodano wsparcie dla nagłówka wiadomości „TLS-Required: no” (RFC 8689), w którym dostarczenie będzie wykonane nawet w przypadku braku możliwości wdrożenia polityki bezpieczeństwa TLS ustawionej w opcjach. Przy obecności tego nagłówka klient SMTP działa w trybie „smtp_tls_security_level = may”, tj. nie weryfikuje certyfikatu. serwera i może powrócić do połączenia z przesyłem danych w postaci czystego tekstu. W następnej istotnej wersji Postfix planowane jest wdrożenie rozszerzenia SMTP REQUIRETLS.
- Dodano wsparcie dla protokołu TLS-RPT (Transport Layer Security Reporting), który pozwala na śledzenie błędów w dostarczaniu wiadomości, które występują, gdy nie udaje się nawiązać szyfrowanego połączenia, wymaganego przez użycie rozszerzeń DANE (DNS-based Authentication of Named Entities) lub MTA-STS (MTA Strict Transport Security). Właściciel domeny e-mail definiuje w DNS parametry dla TLS-RPT, po czym serwery pocztowe będą wysyłać raporty z informacjami o udanych i nieudanych połączeniach TLS do serwerów MX obsługujących domenę. Wdrożenie opiera się na bibliotece libtlsrpt.
- Dodano ustawienie „smtpd_hide_client_session = yes”, które wyłącza wstawianie informacji o sesji klienta podczas generowania przez serwer SMTP nagłówka „Received:”. Przykład skróconego nagłówka: „Received: by mail.example.com (Postfix) id postfix-queue-id for ; Day, dd Mon yyyy hh:mm:ss tz-offset (zone)”.
- Dodano możliwość kodowania MIME (RFC 2047) nazw w generowanych nagłówkach Postfix „From:”, które zawierają znaki nie-ASCII. Proponowany schemat kodowania pozwala na ominięcie użycia rozszerzenia SMTPUTF8 (RFC 6531), które nie jest wspierane przez wszystkie aplikacje. Wynik kodowania MIME wygląda jak ‘”=?charset?Q?gibberish?=:’. Aby określić oryginalne kodowanie nazw, dodano parametr „full_name_encoding_charset”, domyślnie ustawiony na wartość utf8.
- Zmieniono logikę obsługi błędnych połączeń, gdy w ustawieniach wskazany jest tylko jeden serwer „mysql:” lub „pgsql:”. Taki serwer jest teraz traktowany jako load balancer, a w przypadku jednostkowej awarii, ponowne zapytanie jest wysyłane od razu, bez opóźnienia 60 sekund.
- W Milter dodano rejestrację w logach informacji o przyczynie umieszczenia wiadomości w kwarantannie.
- W serwerze SMTP zapewniono zapis do logu identyfikatora kolejki lub wartości „NOQUEUE” podczas zakończenia połączenia z powodu limitu czasu, przerwania lub przekroczenia limitu liczby błędów. Proces cleanup w tym przypadku zapisuje w logu „queueid: canceled” dla wiadomości z uruchomioną, ale nie zakończoną transakcją.
- W kliencie Dovecot SASL, podczas zapisywania w logach wiadomości „Nieprawidłowy mechanizm uwierzytelniania”, teraz podawany jest mechanizm uwierzytelniania, który nie mógł zostać użyty. Serwer SMTP podczas rejestrowania wpisów 'odrzucony' teraz wyświetla wartości ustawień sasl_method, sasl_username i sasl_sender.
- Z powodu zmiany wewnętrznego protokołu używanego w agencie dostarczania, po aktualizacji wersji Postfix wymagany jest restart poleceniem „postfix reload” lub poleceniami „postfix stop” i „postfix start”. W przeciwnym razie w logach pojawi się ostrzeżenie „nieoczekiwany atrybut smtputf8 z xxx socket (oczekiwano: sendopts)”.
Źródło: opennet.ru
