Dopo un anno di sviluppo, è stata pubblicata la nuova versione stabile del server di posta Postfix — 3.12.0. Allo stesso tempo, è stata annunciata la fine del supporto per la versione Postfix 3.7, rilasciata all'inizio del 2022. Il codice del progetto è scritto in C e distribuito sotto le licenze EPL 2.0 (Eclipse Public License) e IPL 1.0 (IBM Public License).
Postfix è uno dei rari progetti che combinano elevata sicurezza, affidabilità e prestazioni, ottenute grazie a un'architettura multiprocessore che isola i singoli gestori, nonché a una rigorosa politica di codifica e audit delle patch. Per proteggere dagli errori nella gestione della memoria, nel progetto vengono utilizzate versioni sicure delle funzioni per l'allocazione e la deallocazione della memoria, insieme a un insieme di funzioni astratte per la gestione dei buffer (controllo per overflow e accesso alla memoria deallocata), operazioni sui file, formattazione dell'output, input/output bufferizzato e manipolazioni di stringhe (compresa la possibilità di gestire stringhe di dimensioni arbitrarie e il ridimensionamento automatico delle stringhe).
Secondo un recente sondaggio automatizzato finale di circa 500 mila server di posta server dopo luglio 2025 la pubblicazione dei report sarà interrotta), Postfix è utilizzato nel 37,88% (un anno fa 36,81%) dei server di posta, mentre la quota di Exim è del 55,59% (un anno fa 56,61%), Sendmail del 3,55% (3,60%), MailEnable dell'1,81% (1,82%), MDaemon dello 0,40% (0,40%), Microsoft Exchange dello 0,20% (0,19%), OpenSMTPD dello 0,12% (0,09%).
Novità principali:
- È stato completato il lavoro per semplificare la migrazione dalle tabelle hash: e btree: a lmdb: o cdb: a causa della cessazione della fornitura di librerie BerkeleyDB in alcune distribuzioni Linux. Per mantenere la compatibilità con lo strumento Mailman, che utilizza il comando postmap hash:/path/to/file per aggiungere o rimuovere liste di distribuzione, è stata aggiunta in Postfix la supporto per il reindirizzamento automatico di tali comandi verso le varianti con tipi di database supportati.
- Per impostazione predefinita, è abilitata la connessione ai server SMTP utilizzando la crittografia TLS. Nelle impostazioni del client SMTP, il parametro smtp_tls_security_level è impostato su "may", se Postfix è compilato con il supporto TLS. Il valore "may" consente l'uso di TLS per i server che supportano la crittografia, ma consente il fallback alla trasmissione di dati in chiaro se il server non supporta TLS.
- In ESMTP è stato implementato il supporto per l'estensione «REQUIRETLS» (RFC 8689), che consente al mittente di richiedere una garanzia di crittografia TLS lungo tutto il percorso di consegna del messaggio. In questa modalità, qualsiasi server SMTP e LMTP coinvolto nel reindirizzamento della mail deve supportare REQUIRETLS e l'autenticazione rigorosa tramite DANE o STS, e durante la trasmissione del messaggio tramite una catena di altri server deve anche utilizzare REQUIRETLS.
- È garantita la registrazione nei log di sicurezza TLS, ovvero se per la trasmissione del messaggio è stato richiesto il livello REQUIRETLS, le informazioni sull'uso di REQUIRETLS verranno ora salvate nel log.
- È stata aggiunta l'opzione smtp_tls_enforce_sts_mx_patterns, che include la modalità di compatibilità tra il client SMTP Postfix e i plugin MTA-STS (MTA Strict Transport Security), che richiedono l'attivazione del supporto TLSRPT per il reindirizzamento degli attributi STS. Quando questa impostazione è attivata, che è attiva per impostazione predefinita, il client SMTP Postfix si connette a un server MX solo se il suo nome corrisponde al pattern specificato nelle politiche STS. Altrimenti, sarà utilizzato il comportamento precedente: possibilità di connessione ai server MX basata sui record MX nel DNS, a condizione che il certificato del server soddisfi le politiche STS. Il meccanismo MTA-STS consente di informare il cliente che ha stabilito una connessione attraverso un canale non protetto, sulla possibilità e sui parametri di stabilire una connessione TLS sicura. Il supporto per l'opzione è stato aggiunto anche agli strumenti postfix-tlspol e postfix-mta-sts-resolver.
- È stato aggiunto il supporto per algoritmi di crittografia resistenti agli attacchi da parte di computer quantistici, compilando con OpenSSL 3.5 e versioni più recenti.
- Sono stati declassati 16 parametri di configurazione come obsoleti, il cui utilizzo porterà ora alla registrazione di un avviso nei log riguardante la loro rimozione in una delle versioni future. Tra i parametri obsoleti si trovano ad esempio «virtual_maps», «fallback_relay», «postscreen_whitelist_interfaces» e «smtpd_client_connection_limit_exceptions».
- È stato aggiunto il supporto per l'output dei dati in formato JSON per i comandi: «postconf -j|-jM|-jF|-jP», «postalias -jq|-js», «postmap -jq|-js» e «postmulti -jl».
- È stata migliorata la gestione degli errori nei filter Milter che si verificano durante l'elaborazione dei messaggi ricevuti tramite connessioni SMTP già stabilite da tempo. Il valore del parametro #milter_default_action è stato modificato da «tempfail» a «shutdown», implicando la chiusura della connessione con il client.
Fonte: opennet.ru
