Na bijna een jaar ontwikkeling is de release van de nieuwe stabiele tak van de mailserver Postfix - 3.10.0. Tegelijkertijd is aangekondigd dat de ondersteuning voor de tak Postfix 3.6, die begin 2021 is uitgebracht, is stopgezet. De code van het project is geschreven in de programmeertaal C en wordt verspreid onder de licenties EPL 2.0 (Eclipse Public License) en IPL 1.0 (IBM Public License).
Postfix is een van de zeldzame projecten die tegelijkertijd hoge veiligheid, betrouwbaarheid en prestaties combineren, wat is bereikt dankzij de multi-processing architectuur die afzonderlijke handlers isoleert, evenals een strikte codering- en patchauditbeleid. Voor bescherming tegen fouten bij geheugenbeheer maakt het project gebruik van beveiligde varianten van functies voor geheugenallocatie en -deallocatie, evenals een set abstracte wrapper-functies voor bufferbeheer (dat overflow en toegang tot vrijgegeven geheugen controleert), bestandsbewerkingen, uitvoerindelingen, bufferinvoer/uitvoer en tekenreeksmanipulaties (inclusief mogelijkheden voor het werken met tekenreeksen van willekeurige grootte en automatische aanpassing van tekenreeksformaten).
Overeenkomend met een geautomatiseerde enquĆŖte in februari, gebruiken ongeveer 550.000 mailservers servers, Postfix wordt gebruikt op 37,64% (een jaar geleden 36,81%) van de mailservers, de aandeel Exim bedraagt 56,03% (een jaar geleden 56,61%), Sendmail - 3,39% (3,60%), MailEnable - 1,80% (1,82%), MDaemon - 0,39% (0,40%), Microsoft Exchange - 0,19% (0,19%), OpenSMTPD - 0,10% (0,09%).

Belangrijkste vernieuwingen:
- De mogelijkheid om TLS-cryptografie-algoritmen te gebruiken die bestand zijn tegen kraken door een quantumcomputer is toegevoegd. Voor het gebruik van deze algoritmen is de tak van de OpenSSL-bibliotheek 3.5 vereist, die nog niet uit de ontwikkelingsfase is. Voor het selecteren van post-quantum-algoritmen heeft Postfix geen nieuwe syntaxis voor TLS-groepen geĆÆntroduceerd, maar vertrouwde op de OpenSSL-instellingen die zullen worden gebruikt bij het instellen van de parameters "tls_eecdh_auto_curves" en "tls_ffdhe_auto_groups" op lege waarden.
- Ondersteuning voor de berichtheader "TLS-Required: no" (RFC 8689) is toegevoegd, waardoor de aflevering wordt uitgevoerd, zelfs wanneer het niet mogelijk is om de in de instellingen vastgelegde TLS-beveiligingsbeleid te implementeren. Met deze header werkt de SMTP-client in de modus "smtp_tls_security_level = may", wat betekent dat het certificaat niet wordt gecontroleerd. de server en kan terugvallen op een verbinding met gegevensoverdracht in platte tekst. In de volgende belangrijke tak van Postfix willen we de SMTP-uitbreiding REQUIRETLS implementeren.
- Ondersteuning voor het TLS-RPT (Transport Layer Security Reporting) protocol is toegevoegd, waarmee verzendfouten kunnen worden gevolgd die optreden wanneer er geen versleutelde verbinding kan worden opgezet, zoals vereist door het gebruik van de DANE (DNS-based Authentication of Named Entities) of MTA-STS (MTA Strict Transport Security) extensies. De eigenaar van het e-maildomein defineert in de DNS de parameters voor TLS-RPT, waarna e-mailservers rapporten zullen verzenden met informatie over succesvolle en mislukte TLS-verbindingen naar de MX-servers die het domein bedienen. De implementatie is gebaseerd op de libtlsrpt-bibliotheek.
- De instelling "smtpd_hide_client_session = yes" is toegevoegd, waarmee het invoegen van informatie over de cliƫntsessie bij het invoegen van de "Received:" header door de SMTP-server wordt uitgeschakeld. Voorbeeld van een verkorte header: "Received: by mail.example.com (Postfix) id postfix-queue-id for ; Dag, dd Mon jjjj uu:mm:ss tz-offset (zone)."
- De mogelijkheid voor MIME-codering (RFC 2047) van namen in de gegenereerde Postfix headers "From:" die niet-ASCII-tekens bevatten is toegevoegd. Het voorgestelde coderingsschema maakt het mogelijk zonder het SMTPUTF8 (RFC 6531) extensie, dat niet door alle applicaties wordt ondersteund. Het resultaat van de MIME-codering ziet eruit als '"=?charset?Q?gibberish?=:'. Voor het bepalen van de oorspronkelijke codering van namen is de parameter "full_name_encoding_charset" toegevoegd, standaard ingesteld op utf8.
- De logica voor het omgaan met mislukte verbindingen is gewijzigd wanneer in de configuratie "mysql:" of "pgsql:" slechts ƩƩn server is opgegeven. Zo'n server wordt nu beschouwd als een load balancer en bij een enkele fout wordt het verzoek onmiddellijk, zonder een vertraging van 60 seconden, opnieuw verzonden.
- In de Milter is logging van de reden voor het quarantainen van een bericht gerealiseerd.
- In de SMTP-server wordt de queue-id of de waarde "NOQUEUE" in de log weergegeven bij het beƫindigen van een verbinding door een time-out, een onderbreking of het overschrijden van de foutlimiet. Het cleanup-proces geeft in de log "queueid: canceled" voor berichten met een lopende, maar niet voltooide, transactie.
- In de Dovecot SASL-client wordt bij het loggen van de berichten 'Invalid authentication mechanism' nu het authenticatiemechanisme vermeld dat niet kon worden gebruikt. De SMTP-server toont bij het loggen van 'reject'-berichten nu de waarden van de instellingen sasl_method, sasl_username en sasl_sender.
- Door een wijziging in het interne protocol dat door de afgifte-agent wordt gebruikt, is na de update van de Postfix-versie een herstart vereist met het commando 'postfix reload' of met de commando's 'postfix stop' en 'postfix start'. Anders verschijnt er een waarschuwing in het logboek: 'unexpected attribute smtputf8 from xxx socket (expecting: sendopts)'.
Bron: opennet.ru
