Der Mailserver Postfix 3.9.0 wurde veröffentlicht

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 %).

Der Mailserver Postfix 3.9.0 wurde veröffentlicht

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

60GB SSD 8Gb DDR4