Dopo 10 mesi di sviluppo, è stato rilasciato un nuovo ramo stabile del server di posta Postfix, 3.7.0. Allo stesso tempo è stata annunciata la fine del supporto per il ramo Postfix 3.3, rilasciato all’inizio del 2018. Postfix è uno dei rari progetti che combina allo stesso tempo elevata sicurezza, affidabilità e prestazioni, ottenuto grazie ad un'architettura ben congegnata e ad una politica piuttosto rigida per la codifica e il controllo delle patch. Il codice del progetto è distribuito sotto EPL 2.0 (licenza pubblica Eclipse) e IPL 1.0 (licenza pubblica IBM).
Secondo un sondaggio automatizzato condotto a gennaio su circa 500 operatori postali server, Postfix è utilizzato sul 34.08% (33.66% un anno fa) dei server di posta, la quota di Exim è del 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%).
Principali innovazioni:
- Aggiunta la possibilità di inserire il contenuto di piccole tabelle "cidr:", "pcre:" e "regexp:" all'interno dei valori dei parametri di configurazione di Postfix, senza includere file o database esterni. La sostituzione sul posto viene definita utilizzando parentesi graffe, ad esempio, il valore predefinito del parametro smtpd_forbidden_commands ora contiene la stringa "CONNECT GET POST regexp:{{/^[^AZ]/ Thrash}}", che causa l'interruzione delle connessioni da client che inviano spazzatura invece di comandi. Sintassi generale: /etc/postfix/main.cf: parametro = .. tipo-mappa:{ { regola-1 }, { regola-2 } .. } .. /etc/postfix/master.cf: .. -o { parametro = .. tipo-mappa:{ { regola-1 }, { regola-2 } .. } .. } ..
- Il gestore postlog è ora dotato del flag set-gid e, all'avvio, esegue operazioni con i privilegi del gruppo postdrop, che gli consente di essere utilizzato da programmi non privilegiati per scrivere log attraverso il processo in background postlogd, che consente più flessibilità nell'impostazione maillog_file e implementazione, tra le altre cose, registrazione stdout dal contenitore.
- Aggiunto il supporto API per le librerie OpenSSL 3.0.0, PCRE2 e Berkeley DB 18.
- Protezione aggiuntiva contro gli attacchi brute-force contro le collisioni di hash. Questa protezione viene implementata randomizzando lo stato iniziale delle tabelle hash memorizzate nella RAM. Attualmente, è stato identificato un solo metodo per condurre tali attacchi, che prevede attacchi brute-force contro gli indirizzi IPv6 dei client SMTP nel servizio Anvil. Ciò richiede la creazione di centinaia di connessioni a breve termine al secondo, provando ciclicamente migliaia di indirizzi client diversi. Indirizzi IPAltre tabelle hash, le cui chiavi possono essere verificate utilizzando i dati dell'aggressore, non sono soggette a tali attacchi, in quanto hanno un limite di dimensione (Anvil ha utilizzato una cancellazione di 100 secondi).
- Protezione migliorata contro client e server esterni che trasmettono dati molto lentamente bit per bit per mantenere attive le connessioni SMTP e LMTP (ad esempio per bloccare il lavoro creando le condizioni per l'esaurimento del limite del numero di connessioni stabilite). Al posto dei limiti temporali relativi alle registrazioni, ora è stato applicato un limite relativo alle richieste ed è stato aggiunto un limite alla velocità minima di trasferimento dati possibile nei blocchi DATA e BDAT. Di conseguenza, le impostazioni {smtpd,smtp,lmtp}_per_record_deadline sono state sostituite da {smtpd,smtp,lmtp}_per_request_deadline e {smtpd, smtp,lmtp}_min_data_rate.
- Il comando postqueue pulisce i caratteri non stampabili, come i ritorni a capo, prima di stampare sull'output standard o formattare la stringa in JSON.
- In tlsproxy, i parametri tlsproxy_client_level e tlsproxy_client_policy sono stati sostituiti dalle nuove impostazioni tlsproxy_client_security_level e tlsproxy_client_policy_maps per unificare i nomi dei parametri in Postfix (il nome delle impostazioni tlsproxy_client_xxx ora corrisponde alle impostazioni smtp_tls_xxx).
- Gestione degli errori rielaborata dai client che utilizzano LMDB.
Fonte: opennet.ru
