Nach fast einem Jahr Entwicklung wurde die neue stabile Version des Mailservers Postfix - 3.9.0 - veröffentlicht. Gleichzeitig wurde die UnterstĂŒtzung fĂŒr die Version Postfix 3.5, die Anfang 2020 veröffentlicht wurde, eingestellt. Postfix ist eines der wenigen Projekte, das gleichzeitig hohe Sicherheit, ZuverlĂ€ssigkeit und Leistung vereint, was durch eine durchdachte Architektur und eine strenge Richtlinie zur Codierung und Patching-PrĂŒfung erreicht 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) vertrieben.
Laut einer automatisierten Umfrage im Januar nutzen etwa 400.000 Mailserver Server, Postfix wird auf 36,81 % (vor einem Jahr 33,18 %) der Mailserver verwendet, der Anteil von Exim betrÀgt 56,61 % (vor einem Jahr 60,27 %), Sendmail - 3,60 % (3,62 %), MailEnable - 1,82 % (1,86 %), MDaemon - 0,40 % (0,39 %), Microsoft Exchange - 0,19 % (0,19 %), OpenSMTPD - 0,09 % (0,06 %).

Hauptneuheiten:
- Ein Client fĂŒr MongoDB wurde hinzugefĂŒgt, der es ermöglicht, in dieser DB die Datenbank virtueller Benutzer, Aliase, Adresszuordnungslisten und verschiedene PrĂŒf-Tabellen zu speichern. FĂŒr die Konfiguration des Zugriffs auf MongoDB wurde der Tabellen-Typ âmongodbâ hinzugefĂŒgt. Beispielsweise âalias_maps = proxy:mongodb:/etc/postfix/mongo.cfâ, wobei mongo.cf die Datei mit den Verbindungseinstellungen zu MongoDB und dem Abfragefilter ist.
- Im lokalen Zustellagenten wurde das Exportieren der Weiterleitungs-ID hinzugefĂŒgt, die wĂ€hrend der SMTP-Sitzung ĂŒber den Parameter ENVID (Envelope ID) im ESMTP MAIL-Befehl (RFC 3461) ĂŒbergeben wurde. Die ID wird in die Umgebungsvariable ENVID geschrieben und ĂŒber den Befehlszeilenparameter â${envid}â an den Pipe-Zustell-agent weitergegeben.
- In die Clients fĂŒr die Datenspeicherung in MySQL (âmysql:â) und PostgreSQL (âpgsql:â) wurden die Parameter âidle_intervalâ zur Festlegung der InaktivitĂ€tszeit vor dem SchlieĂen der Verbindung und âretry_intervalâ zur Festlegung eines Timers fĂŒr das erneute Senden von Anfragen hinzugefĂŒgt. StandardmĂ€Ăig sind die Parameter auf 60 Sekunden gesetzt. Der Wert von âretry_intervalâ kann beispielsweise verringert werden, um die Wiederherstellungszeit nach Fehlern zu verkĂŒrzen, falls nur ein Server im Attribut âhostsâ verwendet wird.
- Im MySQL-Client wurde die Einstellung âcharsetâ hinzugefĂŒgt, um die Standardzeichencodierung anzugeben. StandardmĂ€Ăig wird der Wert âutf8mb4â verwendet, der den Standardeinstellungen in MySQL 8.0 entspricht (in frĂŒheren Versionen wurde der Wert âlatin1â verwendet). Die UnterstĂŒtzung fĂŒr Versionen, die Ă€lter als MySQL 4.0 sind (d. h. Versionen, die vor 2003 veröffentlicht wurden), wurde eingestellt.
- Die optionale Möglichkeit zur Anforderung eines selbstsignierten (raw) öffentlichen SchlĂŒssels fĂŒr TLS, der nicht von einer Zertifizierungsstelle abhĂ€ngt, wurde bereitgestellt, anstelle eines X.509-Zertifikats. Die Verwendung von raw-SchlĂŒsseln fĂŒr die Authentifizierung von Clients und Servern wird ĂŒber die Parameter âsmtpd_tls_enable_rpk = yesâ und âsmtp_tls_enable_rpk = yesâ aktiviert, jedoch hĂ€ngt das Verhalten bei der ĂberprĂŒfung stark von dem festgelegten Sicherheitsniveau und der UnterstĂŒtzung fĂŒr raw-SchlĂŒssel in der lokalen TLS-Implementierung ab (siehe Dokumentation).
- Die erste UnterstĂŒtzung fĂŒr OpenSSL-Konfigurationsdateien wurde hinzugefĂŒgt. Um auf eine Datei mit TLS-Einstellungen zu verweisen, wurde der Parameter tls_config_file vorgeschlagen, und um den Namen des Abschnitts mit Einstellungen aus der Konfigurationsdatei anzugeben, der Parameter âtls_config_nameâ. Die Bindung an OpenSSL-Konfigurationsdateien kann verwendet werden, um die AbhĂ€ngigkeit von den Einstellungen der Distributionen zu verringern, deren Sicherheitsniveau Ănderungen unterliegen kann, die zu einer erhöhten Anzahl unverschlĂŒsselter Nachrichten fĂŒhren.
- In den Nachrichtenheadern wurde die Formatierung der Tageszahlen in den Daten geĂ€ndert â die Tage 1 bis 9 werden jetzt mit einer Null aufgefĂŒllt, statt mit einem Leerzeichen (d.h. â01â, â02â usw.). Diese Ănderung wurde vorgenommen, da RFC 5322 empfiehlt, als Trennzeichen fĂŒr Daten einzelne Leerzeichen zu verwenden.
- Es wurde ein Schutz gegen bestimmte Arten von âBlindâ-Angriffen (SSRF-Angriffe auf Web-Clients, die auf den SMTP-Server abzielen) hinzugefĂŒgt, der bei aktivierter Einstellung âsmtpd_forbid_unauth_pipelining = yesâ (standardmĂ€Ăig) angewendet wird.
- Standardeinstellung âsmtpd_forbid_bare_newline = normalizeâ aktiv, die den Server vor âSMTP Smugglingâ-Angriffen schĂŒtzt, die es ermöglichen, eine Nachricht in mehrere verschiedene Nachrichten aufzuteilen, indem eine nicht standardisierte Sequenz zur Trennung von Nachrichten verwendet wird. Es wurde auch ein Schutz gegen ausgehende SMTP Smuggling-Angriffe hinzugefĂŒgt, bei denen ein Angreifer den auf Postfix basierenden Server nutzt, um einen anderen SMTP-Server anzugreifen. Die Standardeinstellung âcleanup_replace_stray_cr_lf = yesâ ersetzt ĂŒberflĂŒssige Zeichen <CR> und <LF> durch Leerzeichen.
- In der Implementierung des DNS-Clients ist die GröĂe der zurĂŒckgegebenen Ergebnisse von DNS-Anfragen nun auf 100 DatensĂ€tze begrenzt, was 20-mal mehr ist als die im SMTP-Client unterstĂŒtzte maximale Anzahl IP-Adressen fĂŒr einen einzelnen Server.
- Die Parameter âdisable_dns_lookupâ und âpermit_mx_backupâ sowie einige TLS-Konfigurationseinstellungen wurden als veraltet eingestuft.
- Die UnterstĂŒtzung fĂŒr Einstellungen wurde eingestellt, die vor etwa 20 Jahren als veraltet erklĂ€rt wurden: âpermit_naked_ip_addressâ, âcheck_relay_domainsâ und âreject_maps_rblâ.
Quelle: opennet.ru
