Nach einem Jahr Entwicklung wurde die neue stabile Version des Mailservers Postfix – 3.12.0 – veröffentlicht. Gleichzeitig wurde die Unterstützung für die Version Postfix 3.7 eingestellt, die Anfang 2022 herausgebracht wurde. Der Code des Projekts ist in C geschrieben und wird unter den Lizenzen EPL 2.0 (Eclipse Public License) und IPL 1.0 (IBM Public License) verbreitet.
Postfix gehört zu den wenigen Projekten, die gleichzeitig hohe Sicherheit, Zuverlässigkeit und Leistung bieten. Dies wurde durch eine Multiprozessorarchitektur erreicht, die einzelne Handler isoliert, sowie durch eine strenge Codierungsrichtlinie und Patch-Audits. Zum Schutz vor Fehlern im Umgang mit Speicher verwendet das Projekt sichere Versionen der Funktionen für die Zuweisung und Freigabe von Speicher sowie eine Reihe von abstrakten Wrapper-Funktionen für die Arbeit mit Buffern (Überprüfung auf Pufferüberläufe und Zugriffe auf freigegebenen Speicher), Dateioperationen, Formatierung von Ausgaben, gepuffertem Ein- und Ausgabe sowie Manipulationen mit Strings (einschließlich Funktionen zur Verarbeitung von Strings beliebiger Größe und automatischen Größenänderungen von Strings).
Laut der finalen automatisierten Umfrage von etwa 500.000 E-Mail-Postfächern (nach Juli 2025 wird die Veröffentlichung der Berichte eingestellt) wird Postfix von 37,88 % (vor einem Jahr 36,81 %) der Mailserver verwendet, Exim hat einen Marktanteil von 55,59 % (vor einem Jahr 56,61 %), Sendmail - 3,55 % (3,60 %), MailEnable - 1,81 % (1,82 %), MDaemon - 0,40 % (0,40 %), Microsoft Exchange - 0,20 % (0,19 %), OpenSMTPD - 0,12 % (0,09 %). Server Es wurden Arbeiten zur Vereinfachung der Migration von den Hash- und Btree-Suchtabellen auf lmdb: oder cdb: durchgeführt, da in einigen Linux-Distributionen die BerkeleyDB-Bibliotheken nicht mehr geliefert werden. Um die Kompatibilität mit dem Mailman-Toolkit zu gewährleisten, das den Befehl postmap hash:/path/to/file beim Hinzufügen oder Entfernen von Mailingslisten ausführt, wurde in Postfix die Unterstützung für die automatische Weiterleitung solcher Befehle auf die Varianten mit unterstützten Datenbanktypen hinzugefügt.
Hauptneuheiten:
- Standardmäßig ist die Verbindung zu SMTP-Servern über TLS-Verschlüsselung aktiviert. In den SMTP-Client-Einstellungen wird der Parameter smtp_tls_security_level auf „may“ gesetzt, wenn Postfix mit TLS-Unterstützung kompiliert wurde. Der Wert „may“ ermöglicht die Verwendung von TLS für Server, die Verschlüsselung unterstützen, erlaubt jedoch die Rückkehr zur unverschlüsselten Datenübertragung, falls der Server kein TLS unterstützt.
- Standardmäßig ist die Verbindung zu SMTP-Servern unter Verwendung von TLS-Verschlüsselung aktiviert. In den Einstellungen des SMTP-Clients ist der Parameter smtp_tls_security_level auf "may" gesetzt, wenn Postfix mit TLS-Unterstützung kompiliert wurde. Der Wert "may" ermöglicht die Verwendung von TLS für Server mit Unterstützung für Verschlüsselung, erlaubt jedoch einen Rückfall auf unverschlüsselte Übertragung, wenn der Server TLS nicht unterstützt.
- Im ESMTP wird die Unterstützung der Erweiterung „REQUIRETLS“ (RFC 8689) implementiert, die es dem Absender ermöglicht, eine garantierte TLS-Verschlüsselung für den gesamten Übertragungsweg der Nachricht anzufordern. In diesem Modus müssen alle SMTP- und LMTP-Server, die an der Weiterleitung der E-Mail beteiligt sind, REQUIRETLS und strenge Authentifizierung über DANE oder STS unterstützen und auch beim Versand der Nachricht an andere Server REQUIRETLS verwenden.
- Es wird sichergestellt, dass die Sicherheitsprotokolle von TLS protokolliert werden. Das bedeutet, dass, wenn für den Versand einer Nachricht der Sicherheitslevel REQUIRETLS angefordert wird, die Information über die Nutzung von REQUIRETLS nun im Protokoll gespeichert wird.
- Es wurde der Parameter smtp_tls_enforce_sts_mx_patterns hinzugefügt, der den Kompatibilitätsmodus zwischen dem SMTP-Client Postfix und den MTA-STS (MTA Strict Transport Security)-Plugins aktiviert, die die Unterstützung von TLSRPT zur Umleitung von STS-Attributen erfordern. Wenn dieser Parameter, der standardmäßig aktiv ist, eingestellt wird, verbindet sich der SMTP-Client Postfix nur mit dem MX-Server, wenn dessen Name dem in den STS-Richtlinien angegebenen Muster entspricht. Andernfalls wird das alte Verhalten beibehalten – die Möglichkeit, sich mit MX-Servern basierend auf den MX-Einträgen im DNS zu verbinden, sofern das Serverzertifikat den STS-Richtlinien entspricht. Der MTA-STS-Mechanismus ermöglicht es, einen Client, der über einen ungesicherten Kommunikationskanal verbunden ist, über die Möglichkeiten und Parameter der Einrichtung einer sicheren TLS-Verbindung zu informieren. Die Unterstützung des Parameters wurde auch zu den Dienstprogrammen postfix-tlspol und postfix-mta-sts-resolver hinzugefügt.
- Die Unterstützung für quantencomputersichere Verschlüsselungsalgorithmen wurde bei der Kompilierung mit OpenSSL 3.5 und neueren Versionen hinzugefügt.
- 16 Konfigurationsparameter wurden als veraltet eingestuft. Bei der Verwendung dieser Parameter wird in Zukunft eine Warnung in das Protokoll ausgegeben, die auf deren Entfernung in einer der zukünftigen Versionen hinweist. Zu den veralteten Parametern gehören beispielsweise «virtual_maps», «fallback_relay», «postscreen_whitelist_interfaces» und «smtpd_client_connection_limit_exceptions».
- Die Unterstützung für die Ausgabe von Daten im JSON-Format wurde hinzugefügt für die Befehle: «postconf -j|-jM|-jF|-jP», «postalias -jq|-js», «postmap -jq|-js» und «postmulti -jl».
- Die Fehlerbehandlung in Milter-Filtern wurde verbessert, insbesondere bei der Verarbeitung von Nachrichten, die über bereits etablierte SMTP-Verbindungen empfangen wurden. Der Wert des Parameters #milter_default_action wurde von «tempfail» auf «shutdown» geändert, was das Schließen der Verbindung mit dem Client bedeutet.
Quelle: opennet.ru
