Après un an de développement, la nouvelle version stable du serveur de messagerie Postfix — 3.12.0 — a été publiée. En même temps, il a été annoncé que le support de la version Postfix 3.7, publiée début 2022, serait interrompu. Le code du projet est écrit en langage C et est diffusé sous les licences EPL 2.0 (Eclipse Public License) et IPL 1.0 (IBM Public License).
Postfix est l'un des rares projets à combiner simultanément haute sécurité, fiabilité et performance, ce qui a été réalisé grâce à une architecture multiprocessus isolant des gestionnaires distincts, ainsi qu'à une politique stricte de codage et d'audit des correctifs. Pour se prémunir contre les erreurs liées à la gestion de la mémoire, le projet utilise des variantes sécurisées des fonctions d'allocation et de libération de mémoire, ainsi qu'un ensemble de fonctions abstraites pour gérer les tampons (vérifiant les débordements de tampon et les accès à la mémoire libérée), les opérations sur fichiers, le formatage de sortie, l'entrée/sortie tamponnée et la manipulation de chaînes (y compris des capacités pour travailler avec des chaînes de taille arbitraire et un redimensionnement automatique des chaînes).
Selon une enquête automatisée finale menée auprès d'environ 500 000 serveurs de messagerie serveurs (après juillet 2025, la publication des rapports sera arrêtée), Postfix est utilisé sur 37,88 % (36,81 % l'année dernière) des serveurs de messagerie, la part d'Exim s'élève à 55,59 % (56,61 % l'année dernière), 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 %).
Les principales nouveautés :
- Des travaux ont été réalisés pour simplifier la migration des tables de recherche «hash:» et «btree:» vers «lmdb:» ou «cdb:» en raison de l'arrêt de la fourniture des bibliothèques BerkeleyDB dans certaines distributions Linux. Pour maintenir la compatibilité avec l'outil Mailman, qui exécute la commande «postmap hash:/path/to/file» lors de l'ajout ou de la suppression de listes de diffusion, Postfix a ajouté un support pour rediriger automatiquement de telles commandes vers des variantes avec des types de bases de données supportés.
- Par défaut, la connexion aux serveurs SMTP est activée avec un chiffrement TLS. Dans les paramètres du client SMTP, le paramètre smtp_tls_security_level est défini sur «may» si Postfix est compilé avec un support TLS. La valeur «may» permet l'utilisation de TLS pour les serveurs prenant en charge le chiffrement, tout en permettant un retour à la transmission des données en clair si le serveur ne prend pas en charge TLS.
- ESMTP prend en charge l'extension «REQUIRETLS» (RFC 8689), permettant à l'expéditeur de demander un chiffrement TLS garanti durant tout le chemin de livraison du message. Dans ce mode, tout serveur SMTP et LMTP participant à la redirection de l'e-mail doit prendre en charge REQUIRETLS et une authentification stricte via DANE ou STS, et lorsqu'un message est transmis en chaîne à d'autres serveurs, il doit également utiliser REQUIRETLS.
- L'enregistrement dans les journaux de sécurité TLS est assuré, c'est-à-dire que si le niveau REQUIRETLS est requis pour la transmission d'un message, les informations sur l'utilisation de REQUIRETLS seront désormais conservées dans le journal.
- Un paramètre smtp_tls_enforce_sts_mx_patterns a été ajouté, incluant un mode de compatibilité entre le client SMTP Postfix et les plugins MTA-STS (MTA Strict Transport Security) nécessitant l'activation de la prise en charge de TLSRPT pour la redirection des attributs STS. En activant ce paramètre, par défaut, le client SMTP Postfix se connectera au serveur MX uniquement si son nom correspond au modèle spécifié dans les politiques STS. Sinon, le comportement précédent sera utilisé : la possibilité de se connecter aux serveurs MX sur la base des enregistrements MX dans DNS, sous réserve que le certificat du serveur respecte les politiques STS. Le mécanisme MTA-STS permet d'informer le client qui a établi une connexion via un canal non sécurisé des possibilités et paramètres de mise en place d'une connexion TLS sécurisée. La prise en charge de ce paramètre a également été ajoutée aux utilitaires postfix-tlspol et postfix-mta-sts-resolver.
- Le support des algorithmes de chiffrement résistants aux attaques par ordinateur quantique a été ajouté lors de la compilation avec OpenSSL 3.5 et les versions plus récentes.
- Seize paramètres de configuration ont été rétrogradés au statut d'obsolètes ; leur utilisation générera un avertissement dans le journal concernant leur suppression dans une des futures versions. Parmi les paramètres obsolètes, on trouve par exemple «virtual_maps», «fallback_relay», «postscreen_whitelist_interfaces» et «smtpd_client_connection_limit_exceptions».
- La prise en charge de la sortie de données au format JSON a été ajoutée pour les commandes : «postconf -j|-jM|-jF|-jP», «postalias -jq|-js», «postmap -jq|-js» et «postmulti -jl».
- Le traitement des erreurs dans les filtres Milter a été amélioré, notamment lors du traitement des messages reçus via des connexions SMTP établies depuis longtemps. La valeur du paramètre #milter_default_action a été changée de «tempfail» à «shutdown», ce qui implique la fermeture de la connexion avec le client.
Source : opennet.ru
