Frigivelse af Postfix 3.6.0 mailserver

Efter et års udvikling blev en ny stabil gren af ​​Postfix mailserveren frigivet - 3.6.0. Samtidig annoncerede det afslutningen på supporten til Postfix 3.2-grenen, der blev frigivet i begyndelsen af ​​2017. Postfix er et af de sjældne projekter, der kombinerer høj sikkerhed, pålidelighed og ydeevne på samme tid, hvilket blev opnået takket være en gennemtænkt arkitektur og en ret stram politik for kodedesign og patch-audit. Projektkoden er distribueret under EPL 2.0 (Eclipse Public License) og IPL 1.0 (IBM Public License).

Ifølge en automatiseret undersøgelse fra april af omkring 600 tusinde mailservere bruges Postfix på 33.66% (for et år siden 34.29%) af mailserverne, andelen af ​​Exim er 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%).

Vigtigste innovationer:

  • På grund af ændringer i de interne protokoller, der bruges til interaktion mellem Postfix-komponenter, er det nødvendigt at stoppe mailserveren med kommandoen "postfix stop" før opdatering. Ellers kan der være fejl ved interaktion med afhentnings-, qmgr-, verify-, tlsproxy- og postscreen-processerne, hvilket kan resultere i en forsinkelse i afsendelsen af ​​e-mails, indtil Postfix genstartes.
  • Omtaler af ordene "hvid" og "sort", som af nogle medlemmer af samfundet opfattes som racediskrimination, er blevet udrenset. I stedet for "whitelist" og "blacklist" skal "allowlist" og "denylist" nu bruges (f.eks. parametrene postscreen_allowlist_interfaces, postscreen_denylist_action og postscreen_dnsbl_allowlist_threshold). Ændringerne påvirker dokumentation, indstillinger af postscreen-processen (indbygget firewall) og afspejling af information i logs. postfix/postscreen[pid]: ALLOWLIST VETO [adresse]:port postfix/postscreen[pid]: ALLOWLISTED [adresse]:port postfix/postscreen[pid]: DENYLISTED [adresse]:port

    For at bevare de tidligere termer i logfilerne er parameteren "respectful_logging = no" angivet, som skal angives i main.cf før "compatibility_level = 3.6". Understøttelse af gamle postscreen-indstillinger er blevet bibeholdt for bagudkompatibilitet. Desuden er konfigurationsfilen "master.cf" forblevet uændret indtil videre.

  • I tilstanden "compatibility_level = 3.6" blev standardomskifteren lavet til at bruge SHA256-hash-funktionen i stedet for MD5. Hvis du indstiller en tidligere version i parameteren compatibility_level, fortsætter MD5 med at blive brugt, men for indstillinger relateret til brugen af ​​hashes, hvor algoritmen ikke er eksplicit defineret, vil der blive vist en advarsel i loggen. Understøttelse af eksportversionen af ​​Diffie-Hellman-nøgleudvekslingsprotokollen er afbrudt (værdien af ​​parameteren tlsproxy_tls_dh512_param_file ignoreres nu).
  • Forenklet diagnosticering af problemer forbundet med angivelse af et forkert handlerprogram i master.cf. For at opdage sådanne fejl annoncerer hver backend-tjeneste, inklusive postdrop, nu protokolnavnet, før kommunikationen påbegyndes, og hver klientproces, inklusive sendmail, kontrollerer, at det annoncerede protokolnavn matcher den understøttede variant.
  • Tilføjet en ny kortlægningstype "local_login_sender_maps" for fleksibel kontrol over tildelingen af ​​afsenderens konvolutadresse (angivet i kommandoen "MAIL FROM" under en SMTP-session) til sendmail- og postdrop-processerne. For at tillade lokale brugere, med undtagelse af root og postfix, kun at angive deres logins i sendmail, ved at bruge UID-binding til navnet, kan du bruge følgende indstillinger: /etc/postfix/main.cf: local_login_sender_maps = inline :{ { root = *} , { postfix = * } }, pcre:/etc/postfix/login_senders /etc/postfix/login_senders: # Det er tilladt at angive både logins og login@domæneformen. /(.+)/ $1 $1…@example.com
  • Tilføjet og aktiveret som standard indstillingen "smtpd_relay_before_recipient_restrictions=yes", hvor SMTP-serveren kontrollerer smtpd_relay_restrictions før smtpd_recipient_restrictions, og ikke omvendt, som før.
  • Tilføjet parameter "smtpd_sasl_mechanism_list", som som standard er "!external, static:rest" for at forhindre forvirrende fejl i det tilfælde, hvor SASL-backend hævder at understøtte "EXTERNAL"-tilstanden, som ikke understøttes i Postfix.
  • Når du løser navne i DNS, er en ny API, der understøtter multithreading (threadsafe), aktiveret som standard. For at bygge med den gamle API, skal du angive "make makefiles CCARGS="-DNO_RES_NCALLS..." når du bygger.
  • Tilføjet "enable_threaded_bounces = yes"-tilstand for at erstatte meddelelser om leveringsproblemer, forsinket levering eller leveringsbekræftelse med det samme diskussions-id (meddelelsen vil blive vist af mailklienten i samme tråd sammen med andre korrespondancebeskeder).
  • Som standard bruges /etc/services-systemdatabasen ikke længere til at bestemme TCP-portnumre for SMTP og LMTP. I stedet konfigureres portnumre gennem parameteren known_tcp_ports (standard lmtp=24, smtp=25, smtps=submissions=465, submission=587). Hvis en tjeneste mangler fra kendte_tcp_ports, bliver /etc/services fortsat brugt.
  • Kompatibilitetsniveauet ("compatibility_level") er blevet hævet til "3.6" (parameteren blev ændret to gange tidligere, bortset fra 3.6 er de understøttede værdier 0 (standard), 1 og 2). Fra nu af vil "compatibility_level" ændre sig til det versionsnummer, hvor der blev foretaget ændringer, der krænker kompatibiliteten. For at kontrollere kompatibilitetsniveauer er der tilføjet separate sammenligningsoperatorer til main.cf og master.cf, såsom "<=niveau" og "<niveau" (standard sammenligningsoperatorer er ikke egnede, da de vil betragte 3.10 som mindre end 3.9).

Kilde: opennet.ru

Tilføj en kommentar