Versione del server di posta Postfix 3.6.0

Dopo un anno di sviluppo, è stato rilasciato un nuovo ramo stabile del server di posta Postfix: 3.6.0. Allo stesso tempo, ha annunciato la fine del supporto per il ramo Postfix 3.2, rilasciato all'inizio del 2017. Postfix è uno dei rari progetti che combina allo stesso tempo elevata sicurezza, affidabilità e prestazioni, ottenuto grazie a un'architettura ben congegnata e ad una politica abbastanza rigorosa per la progettazione del codice e il controllo delle patch. Il codice del progetto è distribuito sotto EPL 2.0 (Eclipse Public License) e IPL 1.0 (IBM Public License).

Secondo un sondaggio automatizzato di aprile condotto su circa 600mila server di posta, Postfix è utilizzato sul 33.66% (un anno fa 34.29%) dei server di posta, la quota di Exim è del 59.14% (57.77%), Sendmail - 3.6% (3.83 %), MailEnable - 2.02% (2.12%), MDaemon - 0.60% (0.77%), Microsoft Exchange - 0.32% (0.47%).

Principali innovazioni:

  • A causa dei cambiamenti nei protocolli interni utilizzati per l'interazione tra i componenti Postfix, è necessario arrestare il server di posta con il comando "postfix stop" prima dell'aggiornamento. In caso contrario, potrebbero verificarsi errori durante l'interazione con i processi pickup, qmgr, verify, tlsproxy e postscreen, che potrebbero comportare un ritardo nell'invio di e-mail fino al riavvio di Postfix.
  • Le menzioni delle parole “bianco” e “nero”, percepite da alcuni membri della comunità come discriminazione razziale, sono state eliminate. Invece di "whitelist" e "blacklist", ora dovrebbero essere utilizzati "allowlist" e "denylist" (ad esempio i parametri postscreen_allowlist_interfaces, postscreen_denylist_action e postscreen_dnsbl_allowlist_threshold). Le modifiche riguardano la documentazione, le impostazioni del processo postscreen (firewall integrato) e il riflesso delle informazioni nei registri. postfix/postscreen[pid]: ALLOWLIST VETO [indirizzo]:port postfix/postscreen[pid]: ALLOWLISTED [indirizzo]:port postfix/postscreen[pid]: DENYLISTED [indirizzo]:porta

    Per preservare i termini precedenti nei log, viene fornito il parametro “respectful_logging = no”, che deve essere specificato in main.cf prima di “compatibility_level = 3.6”. Il supporto per i nomi delle vecchie impostazioni postscreen è stato mantenuto per compatibilità con le versioni precedenti. Anche il file di configurazione “master.cf” per ora è rimasto invariato.

  • Nella modalità "compatibility_level = 3.6", è stata effettuata l'opzione predefinita per utilizzare la funzione hash SHA256 anziché MD5. Se si imposta una versione precedente nel parametro compatibilità_livello, MD5 continua a essere utilizzato, ma per le impostazioni relative all'uso degli hash in cui l'algoritmo non è esplicitamente definito, verrà visualizzato un avviso nel registro. Il supporto per la versione di esportazione del protocollo di scambio di chiavi Diffie-Hellman è stato interrotto (il valore del parametro tlsproxy_tls_dh512_param_file viene ora ignorato).
  • Diagnosi semplificata dei problemi associati alla specifica di un programma di gestione errato in master.cf. Per rilevare tali errori, ogni servizio di backend, incluso postdrop, ora pubblicizza il nome del protocollo prima di iniziare la comunicazione, e ogni processo client, incluso sendmail, controlla che il nome del protocollo pubblicizzato corrisponda alla variante supportata.
  • Aggiunto un nuovo tipo di mappatura "local_login_sender_maps" per un controllo flessibile sull'assegnazione dell'indirizzo della busta del mittente (fornito nel comando "MAIL FROM" durante una sessione SMTP) ai processi sendmail e postdrop. Ad esempio, per consentire agli utenti locali, ad eccezione di root e postfix, di specificare solo i propri login in sendmail, utilizzando l'associazione UID al nome, è possibile utilizzare le seguenti impostazioni: /etc/postfix/main.cf: local_login_sender_maps = inline :{ { root = *} , { postfix = * } }, pcre:/etc/postfix/login_senders /etc/postfix/login_senders: # È consentito specificare sia login che il formato login@dominio. /(.+)/ $1 $1…@esempio.com
  • Aggiunta e abilitata di default l'impostazione “smtpd_relay_before_recipient_restrictions=yes”, in cui il server SMTP controllerà smtpd_relay_restrictions prima di smtpd_recipient_restrictions, e non viceversa, come prima.
  • Aggiunto il parametro "smtpd_sasl_mechanism_list", che per impostazione predefinita è "!external, static:rest" per evitare errori confusi nel caso in cui il backend SASL affermi di supportare la modalità "EXTERNAL", che non è supportata in Postfix.
  • Quando si risolvono i nomi nel DNS, per impostazione predefinita viene abilitata una nuova API che supporta il multithreading (threadsafe). Per creare con la vecchia API, è necessario specificare "make makefiles CCARGS="-DNO_RES_NCALLS..." durante la creazione.
  • Aggiunta la modalità "enable_threaded_bounces = yes" per sostituire le notifiche di problemi di consegna, consegna ritardata o conferma di consegna con lo stesso ID discussione (la notifica verrà mostrata dal client di posta nello stesso thread, insieme ad altri messaggi di corrispondenza).
  • Per impostazione predefinita, il database di sistema /etc/services non viene più utilizzato per determinare i numeri di porta TCP per SMTP e LMTP. Invece, i numeri di porta vengono configurati tramite il parametroknown_tcp_ports (predefinito lmtp=24, smtp=25, smtps=submissions=465, submission=587). Se qualche servizio manca daknown_tcp_ports, /etc/services continua ad essere utilizzato.
  • Il livello di compatibilità (“compatibility_level”) è stato elevato a “3.6” (il parametro è stato modificato due volte in passato, ad eccezione del 3.6 i valori supportati sono 0 (default), 1 e 2). D'ora in poi, "compatibility_level" cambierà nel numero di versione in cui sono state apportate modifiche che violano la compatibilità. Per verificare i livelli di compatibilità, sono stati aggiunti operatori di confronto separati a main.cf e master.cf, come “<=level” e “<level” (gli operatori di confronto standard non sono adatti, poiché considereranno 3.10 inferiore a 3.9).

Fonte: opennet.ru

Aggiungi un commento