Nach einem Jahr Entwicklung wurde die Veröffentlichung des neuen stabilen Zweigs des E-Mail-Servers Postfix - 3.12.0 - bekannt gegeben. Gleichzeitig wurde angekündigt, dass der Zweig Postfix 3.7, der Anfang 2022 veröffentlicht wurde, nicht mehr unterstützt wird. Der Code des Projekts ist in der Programmiersprache C geschrieben und wird unter den Lizenzen EPL 2.0 (Eclipse Public License) und IPL 1.0 (IBM Public License) vertrieben.
Postfix ist eines der wenigen Projekte, das gleichzeitig hohe Sicherheit, Zuverlässigkeit und Leistungsfähigkeit vereint, was durch eine Multithread-Architektur erreicht wird, die einzelne Handler isoliert, sowie durch strikte Codierungsrichtlinien und die Überprüfung von Patches. Um sich gegen Speicherfehler abzusichern, verwendet das Projekt sichere Varianten von Funktionen zur Bearbeitung und Freigabe von Speicher, sowie eine Sammlung von abstrakten Wrapper-Funktionen für die Arbeit mit Puffern (darunter die Überprüfung von Pufferüberläufen und den Zugriff auf freigegebenen Speicher), Dateivorgängen, der Formatierung von Ausgaben, gepuffertem Ein-/Ausgabe sowie der Manipulation von Zeichenfolgen (einschließlich Möglichkeiten zur Arbeit mit Zeichenfolgen beliebiger Größe und automatischen Größenänderungen von Zeichenfolgen).
Laut einer abschließenden automatisierten Umfrage von etwa 500.000 E-Mail Server (nach Juli 2025 werden keine Berichte mehr veröffentlicht), wird Postfix auf 37,88% (vor einem Jahr 36,81%) der E-Mail-Server verwendet, Exim hat einen Anteil 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%).
Hauptneuheiten:
- 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 Mailinglisten ausführt, wurde in Postfix die Unterstützung für die automatische Umleitung solcher Befehle auf Varianten mit unterstützten DB-Typen hinzugefügt.
- Standardmäßig ist die Verbindung zu SMTP-Servern mit TLS-Verschlüsselung aktiviert. In den SMTP-Client-Einstellungen 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, die Verschlüsselung unterstützen, gestattet jedoch einen Rückfall auf die unverschlüsselte Übertragung, wenn der Server TLS nicht unterstützt.
- In ESMTP wurde die Unterstützung für die 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 muss jeder SMTP- und LMTP-Server, der am Weiterleiten der E-Mail beteiligt ist, REQUIRETLS sowie strenge Authentifizierung über DANE oder STS unterstützen und bei der Übertragung der Nachricht an andere Server ebenfalls REQUIRETLS verwenden.
- Die Protokollierung des TLS-Sicherheitsniveaus wurde sichergestellt, d. h. wenn für die Übertragung einer Nachricht das Niveau REQUIRETLS angefordert wird, wird die Information über die Verwendung von REQUIRETLS jetzt im Protokoll gespeichert.
- Der Parameter smtp_tls_enforce_sts_mx_patterns wurde hinzugefügt, der den Kompatibilitätsmodus zwischen dem SMTP-Client Postfix und den MTA-STS-Plug-ins (MTA Strict Transport Security) aktiviert, die die Unterstützung von TLSRPT für die Weiterleitung von STS-Attributen erfordern. Bei Aktivierung dieses Parameters, der standardmäßig aktiviert ist, verbindet sich der SMTP-Client Postfix mit dem MX-Server nur, wenn dessen Name dem in den STS-Richtlinien angegebenen Muster entspricht. Andernfalls wird das alte Verhalten verwendet – die Möglichkeit zur Verbindung mit MX-Servern basierend auf den MX-Einträgen im DNS, sofern das Serverzertifikat den STS-Richtlinien entspricht. Der MTA-STS-Mechanismus ermöglicht es, den Client zu informieren, der über einen ungesicherten Kanal verbunden ist, über die Möglichkeit und die Parameter für die Einrichtung einer gesicherten TLS-Verbindung. Die Unterstützung des Parameters wurde auch in die Tools postfix-tlspol und postfix-mta-sts-resolver aufgenommen.
- Die Unterstützung für Verschlüsselungsalgorithmen, die gegen Quantencomputerangriffe resistent sind, wurde bei der Kompilierung mit OpenSSL 3.5 und neueren Versionen hinzugefügt.
- 16 Konfigurationsparameter wurden als veraltet markiert; bei deren Verwendung wird jetzt eine Warnung im Protokoll ausgegeben, dass sie in zukünftigen Versionen entfernt werden. Zu den veralteten Parametern gehören unter anderem „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 für die Befehle: „postconf -j|-jM|-jF|-jP“, „postalias -jq|-js“, „postmap -jq|-js“ und „postmulti -jl“ hinzugefügt.
- Die Fehlerbehandlung in Milter-Filtern, die bei der Verarbeitung von über bereits etablierte SMTP-Verbindungen erhaltenen Nachrichten auftreten, wurde verbessert. Der Wert des Parameters #milter_default_action wurde von „tempfail“ auf „shutdown“ geändert, was bedeutet, dass die Verbindung zum Client geschlossen wird.
Quelle: opennet.ru
