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 cessazione del supporto per la versione Postfix 3.7, rilasciata all'inizio del 2022. Il codice del progetto è scritto in linguaggio C ed è distribuito sotto le licenze EPL 2.0 (Eclipse Public License) e IPL 1.0 (IBM Public License).
Postfix è uno dei rari progetti che combina elevata sicurezza, affidabilità e prestazioni, ottenute grazie a un'architettura multi-processo che isola i vari gestori, oltre a una rigorosa politica di scrittura del codice e audit delle patch. Per proteggere dagli errori di gestione della memoria, il progetto utilizza versioni sicure delle funzioni per allocare e deallocare memoria, così come un insieme di funzioni astratte per gestire i buffer (controllo dell'overflow del buffer e dell'accesso alla memoria liberata), operazioni di file, formattazione dell'output, input/output bufferizzati e manipolazioni delle stringhe (inclusa la possibilità di lavorare con stringhe di dimensione arbitraria e ridimensionamento automatico delle stringhe).
Secondo un sondaggio finale automatizzato che coinvolge circa 500.000 server di posta, server (dopo luglio 2025 la pubblicazione dei rapporti sarà interrotta), Postfix è utilizzato nel 37,88% (rispetto al 36,81% di un anno fa) dei server di posta, Exim detiene il 55,59% (56,61% un anno fa), Sendmail il 3,55% (3,60%), MailEnable l'1,81% (1,82%), MDaemon lo 0,40% (0,40%), Microsoft Exchange lo 0,20% (0,19%), OpenSMTPD lo 0,12% (0,09%).
Novità principali:
- È stato effettuato un lavoro per semplificare la migrazione dalle tabelle di ricerca «hash:» e «btree:» a «lmdb:» o «cdb:», a causa della cessazione della fornitura delle librerie BerkeleyDB in alcune distribuzioni Linux. Per mantenere la compatibilità con gli strumenti Mailman, che eseguono il comando «postmap hash:/path/to/file» durante l'aggiunta o la rimozione delle liste di distribuzione, è stata aggiunta in Postfix la supporto per il reindirizzamento automatico di tali comandi ai 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 supporto TLS. Il valore «may» consente l'uso di TLS per i server che supportano la crittografia, ma consente di tornare a una trasmissione aperta dei dati, se il server non supporta TLS.
- In ESMTP, support for the 'REQUIRETLS' extension (RFC 8689) has been implemented, allowing the sender to request guaranteed TLS encryption throughout the message delivery path. In this mode, any SMTP and LMTP server involved in forwarding the email must support REQUIRETLS and strict authentication via DANE or STS, and when transmitting the message through a chain of other servers, REQUIRETLS must also be used.
- The logging of TLS security level events has been enhanced, meaning that if a REQUIRETLS level is requested for message transmission, information about the use of REQUIRETLS will now be recorded in the log.
- È stato aggiunto il parametro smtp_tls_enforce_sts_mx_patterns, che attiva la modalità compatibile tra il client SMTP Postfix e i plugin MTA-STS (MTA Strict Transport Security), i quali richiedono l'attivazione del supporto TLSRPT per il reindirizzamento degli attributi STS. Con questo parametro, attivo per impostazione predefinita, il client SMTP Postfix si connetterà al server MX solo se il suo nome corrisponde al modello specificato nelle politiche STS. In caso contrario, verrà utilizzato il vecchio comportamento: la possibilità di connessione ai server MX basata sulle registrazioni MX in DNS, a condizione che il certificato del server sia conforme alle politiche STS. Il meccanismo MTA-STS consente di informare il cliente che stabilisce una connessione tramite un canale non sicuro sulla possibilità e sui parametri di stabilire una connessione TLS protetta. Il supporto di questo parametro è stato aggiunto anche agli strumenti postfix-tlspol e postfix-mta-sts-resolver.
- È stato aggiunto il supporto per algoritmi crittografici resistenti agli attacchi dei computer quantistici, durante la compilazione con OpenSSL 3.5 e versioni successive.
- Sono stati deprecati 16 parametri di configurazione, l'uso dei quali genererà un avviso nel log riguardo alla loro rimozione in una delle prossime versioni. Tra i parametri deprecati ci sono, 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 filtri Milter che si verificano durante l'elaborazione di messaggi ricevuti tramite connessioni SMTP ormai consolidate. Il valore del parametro #milter_default_action è stato cambiato da «tempfail» a «shutdown», che implica la chiusura della connessione con il client.
Fonte: opennet.ru
