Nach 10 Monaten Entwicklung wurde die neue stabile Version des Mailservers Postfix — 3.7.0 — veröffentlicht. Gleichzeitig wurde die Unterstützung für die Version Postfix 3.3, die Anfang 2018 veröffentlicht wurde, eingestellt. Postfix ist eines der wenigen Projekte, das gleichzeitig hohe Sicherheit, Zuverlässigkeit und Leistung kombiniert, was durch eine durchdachte Architektur und eine strikte Codierungspolitik sowie Patch-Audits erreicht wurde. Der Code des Projekts wird unter den Lizenzen EPL 2.0 (Eclipse Public License) und IPL 1.0 (IBM Public License) verbreitet.
Laut einer automatisierten Umfrage im Januar unter etwa 500.000 Mailservern Server: wird Postfix auf 34,08 % (vor einem Jahr 33,66 %) der Mailserver verwendet, während Exim einen Anteil von 58,95 % (59,14 %) hat, Sendmail — 3,58 % (3,6 %), MailEnable — 1,99 % (2,02 %), MDaemon — 0,52 % (0,60 %), Microsoft Exchange — 0,26 % (0,32 %), OpenSMTPD — 0,06 % (0,05 %) hat.
Hauptneuheiten:
- Es wurde die Möglichkeit geschaffen, kleine Tabellen «cidr:», «pcre:» und «regexp:» innerhalb der Werte von Postfix-Konfigurationsparametern einzufügen, ohne externe Dateien oder Datenbanken anschließen zu müssen. Die Platzierung vor Ort erfolgt durch geschweifte Klammern, zum Beispiel enthält der Standardwert des Parameters smtpd_forbidden_commands jetzt die Zeile «CONNECT GET POST regexp:{{/^[^A-Z]/ Thrash}}», die Verbindungen von Clients zurücksetzt, die Müll statt Kommandos senden. Allgemeine Syntax: /etc/postfix/main.cf: parameter = .. map-type:{ { rule-1 }, { rule-2 } .. } .. /etc/postfix/master.cf: .. -o { parameter = .. map-type:{ { rule-1 }, { rule-2 } .. } .. } ..
- Der postlog-Handler ist nun mit dem set-gid-Flag ausgestattet und führt beim Start Vorgänge mit den Rechten der Gruppe postdrop aus, was es unverprivilegierten Programmen ermöglicht, Protokolle über den Hintergrundprozess postlogd zu schreiben. Dies erhöht die Flexibilität bei der Konfiguration von maillog_file und ermöglicht unter anderem das Loggen von stdout aus dem Container.
- Unterstützung für die API-Bibliotheken OpenSSL 3.0.0, PCRE2 und Berkeley DB 18 hinzugefügt.
- Es wurde ein Schutz gegen Angriffe zur Kollisionserkennung in Hashes durch Schlüssel-Brute-Force-Methoden hinzugefügt. Der Schutz wird durch die Randomisierung des initialen Zustands der in RAM gespeicherten Hash-Tabellen realisiert. Derzeit wurde nur eine Methode zum Durchführen solcher Angriffe identifiziert, die mit dem Durchprobieren von IPv6-Adressen von SMTP-Clients im Anvil-Dienst verbunden ist und Hunderte von kurzfristigen Verbindungen pro Sekunde erfordert, während tausende verschiedener Clients durchgegangen werden. IP-Adressen. Andere Hash-Tabellen, bei denen die Schlüsselüberprüfung auf der Grundlage von Angriffsdaten erfolgen kann, sind nicht anfällig für solche Angriffe, da hier eine Größenbeschränkung angewendet wird (im Anvil fand alle 100 Sekunden eine Bereinigung statt).
- Verstärkter Schutz vor externen Clients und Servern, die sehr langsam Daten in kleinen Mengen übertragen, um aktive SMTP- und LMTP-Verbindungen aufrechtzuerhalten (zum Beispiel um die Funktion durch das Erstellen von Bedingungen zur Begrenzung der Anzahl der aktiven Verbindungen zu blockieren). Anstelle von Zeitbeschränkungen in Bezug auf Datensätze wird nun eine Anforderungseinschränkung angewendet, sowie eine Begrenzung der minimalen möglichen Übertragungsintensität in den DATA- und BDAT-Blöcken hinzugefügt. Dementsprechend werden die Einstellungen {smtpd,smtp,lmtp}_per_record_deadline durch {smtpd,smtp,lmtp}_per_request_deadline und {smtpd,smtp,lmtp}_min_data_rate ersetzt.
- Im postqueue-Team wurde die Bereinigung von nicht druckbaren Zeichen, wie Zeilenumbrüchen, vor der Ausgabe in den Standardausgabestrom oder der Formatierung der Zeile in JSON implementiert.
- Im tlsproxy wurden die Parameter tlsproxy_client_level und tlsproxy_client_policy durch die neuen Einstellungen tlsproxy_client_security_level und tlsproxy_client_policy_maps ersetzt, um die Benennung der Parameter in Postfix zu vereinheitlichen (die Benennung der tlsproxy_client_xxx-Einstellungen entspricht nun den smtp_tls_xxx-Einstellungen).
- Die Fehlerbehandlung für Clients, die LMDB verwenden, wurde überarbeitet.
Quelle: opennet.ru
