Release av Postfix 3.6.0 e-postserver

Efter ett års utveckling släpptes en ny stabil gren av Postfix-postservern - 3.6.0. Samtidigt tillkännagav det slutet på stödet för Postfix 3.2-grenen, som släpptes i början av 2017. Postfix är ett av de sällsynta projekten som kombinerar hög säkerhet, tillförlitlighet och prestanda på samma gång, vilket uppnåddes tack vare en genomtänkt arkitektur och en ganska strikt policy för koddesign och patch-revision. Projektkoden distribueras under EPL 2.0 (Eclipse Public License) och IPL 1.0 (IBM Public License).

Enligt en automatiserad undersökning i april av cirka 600 tusen e-postservrar, används Postfix på 33.66% (för ett år sedan 34.29%) av e-postservrarna, andelen Exim är 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%).

Huvudsakliga innovationer:

  • På grund av ändringar i de interna protokoll som används för interaktion mellan Postfix-komponenter, krävs att e-postservern stoppas med kommandot "postfix stop" innan uppdatering. Annars kan det uppstå misslyckanden när du interagerar med processerna för pickup, qmgr, verify, tlsproxy och postscreen, vilket kan resultera i en försening av att skicka e-post tills Postfix startas om.
  • Omnämnanden av orden "vit" och "svart", som av vissa medlemmar i samhället uppfattas som rasdiskriminering, har rensats bort. Istället för "whitelist" och "blacklist" ska nu "allowlist" och "denylist" användas (till exempel parametrarna postscreen_allowlist_interfaces, postscreen_denylist_action och postscreen_dnsbl_allowlist_threshold). Ändringarna påverkar dokumentation, inställningar av postscreen-processen (inbyggd brandvägg) och reflektion av information i loggar. postfix/postscreen[pid]: ALLOWLIST VETO [adress]:port postfix/postscreen[pid]: ALLOWLISTED [adress]:port postfix/postscreen[pid]: DENYLISTED [adress]:port

    För att bevara de tidigare termerna i loggarna tillhandahålls parametern "respectful_logging = no", som bör anges i main.cf före "compatibility_level = 3.6". Stöd för gamla postscreen-inställningar har behållits för bakåtkompatibilitet. Dessutom har konfigurationsfilen "master.cf" förblivit oförändrad för närvarande.

  • I läget "compatibility_level = 3.6" gjordes standardväxlingen för att använda SHA256-hashfunktionen istället för MD5. Om du ställer in en tidigare version i parametern compatibility_level fortsätter MD5 att användas, men för inställningar relaterade till användningen av hash där algoritmen inte är explicit definierad kommer en varning att visas i loggen. Stödet för exportversionen av Diffie-Hellman-nyckelutbytesprotokollet har upphört (värdet på parametern tlsproxy_tls_dh512_param_file ignoreras nu).
  • Förenklad diagnos av problem i samband med att ange ett felaktigt hanterarprogram i master.cf. För att upptäcka sådana fel annonserar varje backend-tjänst, inklusive postdrop, nu protokollnamnet innan kommunikationen påbörjas, och varje klientprocess, inklusive sendmail, kontrollerar att det annonserade protokollnamnet matchar den variant som stöds.
  • Lade till en ny mappningstyp "local_login_sender_maps" för flexibel kontroll över tilldelningen av avsändarens kuvertadress (anges i kommandot "MAIL FROM" under en SMTP-session) till sendmail- och postdrop-processerna. Till exempel, för att tillåta lokala användare, med undantag för root och postfix, att endast ange sina inloggningar i sendmail, med UID-bindning till namnet, kan du använda följande inställningar: /etc/postfix/main.cf: local_login_sender_maps = inline :{ { root = *} , { postfix = * } }, pcre:/etc/postfix/login_senders /etc/postfix/login_senders: # Det är tillåtet att ange både inloggningar och formuläret login@domän. /(.+)/ $1 [email protected]
  • Lade till och aktiverade som standard inställningen "smtpd_relay_before_recipient_restrictions=yes", där SMTP-servern kontrollerar smtpd_relay_restrictions före smtpd_recipient_restrictions, och inte vice versa, som tidigare.
  • Lade till parametern "smtpd_sasl_mechanism_list", som är standard till "!external, static:rest" för att förhindra förvirrande fel i fallet där SASL-backend påstår sig stödja läget "EXTERNAL", vilket inte stöds i Postfix.
  • När man löser namn i DNS är ett nytt API som stöder multithreading (threadsafe) aktiverat som standard. För att bygga med det gamla API:et bör du ange "make makefiles CCARGS="-DNO_RES_NCALLS..." när du bygger.
  • Lade till läget "enable_threaded_bounces = yes" för att ersätta meddelanden om leveransproblem, försenad leverans eller leveransbekräftelse med samma diskussions-ID (meddelandet kommer att visas av e-postklienten i samma tråd, tillsammans med andra korrespondensmeddelanden).
  • Som standard används inte längre /etc/services-systemdatabasen för att fastställa TCP-portnummer för SMTP och LMTP. Istället konfigureras portnummer genom parametern known_tcp_ports (standard lmtp=24, smtp=25, smtps=submissions=465, submission=587). Om någon tjänst saknas från known_tcp_ports, fortsätter /etc/services att användas.
  • Kompatibilitetsnivån ("compatibility_level") har höjts till "3.6" (parametern ändrades två gånger tidigare, förutom 3.6 är de stödda värdena 0 (standard), 1 och 2). Från och med nu kommer "compatibility_level" att ändras till versionsnumret där ändringar gjordes som bryter mot kompatibiliteten. För att kontrollera kompatibilitetsnivåer har separata jämförelseoperatorer lagts till main.cf och master.cf, som "<=nivå" och "<nivå" (standardjämförelseoperatorer är inte lämpliga, eftersom de kommer att betrakta 3.10 som mindre än 3.9).

Källa: opennet.ru

Lägg en kommentar