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 hohe Sicherheit, Zuverlässigkeit und Leistung gleichzeitig vereint, was durch eine durchdachte Architektur und eine strenge Code- und Patch-Überprüfung 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 von rund 500.000 Mailservern Server, wird Postfix auf 34.08% (vor einem Jahr 33.66%) der Mailserver verwendet, der Anteil von Exim beträgt 58.95% (59.14%), 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%).
Hauptneuheiten:
- Es wurde die Möglichkeit hinzugefügt, an Ort und Stelle kleine Tabellen «cidr:», «pcre:» und «regexp:» innerhalb der Werte der Konfigurationsparameter von Postfix einzufügen, ohne externe Dateien oder Datenbanken anzuschließen. Die eingehende Substitution erfolgt mithilfe von geschweiften 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 anstelle von Befehlen senden. Die 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 jetzt mit einem set-gid-Flag ausgestattet und führt beim Start Aufgaben mit den Privilegien der Gruppe postdrop aus, was es ermöglicht, ihn von nicht privilegierten Programmen zum Schreiben von Protokollen über den Hintergrundprozess postlogd zu verwenden, was die Flexibilität bei der Konfiguration der maillog_file erhöht und unter anderem das Protokollieren von stdout aus dem Container ermöglicht.
- Die Unterstützung für die API-Bibliotheken OpenSSL 3.0.0, PCRE2 und Berkeley DB 18 wurde hinzugefügt.
- Der Schutz gegen Angriffe zur Ermittlung von Hash-Kollisionen mittels Schlüssel-Brute-Force-Angriffen wurde implementiert. Der Schutz wird durch Randomisierung des anfänglichen Zustands der in RAM gespeicherten Hash-Tabellen realisiert. Bisher wurde nur eine Methode für solche Angriffe identifiziert, die mit der Brute-Force-Navigation von IPv6-Adressen von SMTP-Clients im Dienst anvil verbunden ist, und die Hunderte von kurzfristigen Verbindungen pro Sekunde bei zyklischer Durchsuchung von Tausenden verschiedener Clients erfordert. IP-Adressen. Andere Hash-Tabellen, bei denen die Überprüfung der Schlüssel auf Basis der Daten des Angreifers erfolgen kann, sind nicht anfällig für solche Angriffe, da sie eine Größenbeschränkung anwenden (in Anvil wurde alle 100 Sekunden bereinigt).
- Der Schutz vor externen Kunden und Servern wurde verstärkt, die sehr langsam Daten in kleinen Mengen übermitteln, um SMTP- und LMTP-Verbindungen aktiv zu halten (zum Beispiel zur Blockierung des Betriebs durch die Schaffung von Bedingungen zur Erschöpfung des Limits für die Anzahl der etablierten Verbindungen). Anstelle von Zeitbeschränkungen hinsichtlich der Aufzeichnungen wird nun eine Anfrage-Beschränkung angewendet, ebenso wie eine Begrenzung der minimalen Übertragungsrate von Daten in den DATA- und BDAT-Blöcken. Entsprechend wurden 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 eine Bereinigung nicht druckbarer Zeichen, wie Zeilenumbrüche, vor dem Ausgeben an die Standardausgabe oder der Formatierung in JSON sichergestellt.
- 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 eine Vereinheitlichung der Parameterbezeichnungen in Postfix zu erreichen (die Bezeichnung der Einstellungen tlsproxy_client_xxx entspricht nun den smtp_tls_xxx-Einstellungen).
- Die Fehlerbehandlung von Clients, die LMDB verwenden, wurde überarbeitet.
Quelle: opennet.ru
