Lëshimi i serverit të postës Postfix 3.6.0

Pas një viti zhvillimi, u lëshua një degë e re e qëndrueshme e serverit të postës Postfix - 3.6.0. Në të njëjtën kohë, ajo njoftoi përfundimin e mbështetjes për degën Postfix 3.2, të lëshuar në fillim të 2017. Postfix është një nga projektet e rralla që ndërthur sigurinë e lartë, besueshmërinë dhe performancën në të njëjtën kohë, e cila u arrit falë një arkitekture të mirëmenduar dhe një politike mjaft strikte për hartimin e kodeve dhe auditimin patch. Kodi i projektit shpërndahet sipas EPL 2.0 (licencë publike Eclipse) dhe IPL 1.0 (licencë publike IBM).

Sipas një sondazhi të automatizuar të prillit të rreth 600 mijë serverëve të postës, Postfix përdoret në 33.66% (një vit më parë 34.29%) të serverëve të postës, pjesa e Exim është 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%).

Risitë kryesore:

  • Për shkak të ndryshimeve në protokollet e brendshme të përdorura për ndërveprimin midis komponentëve të Postfix, kërkohet ndalimi i serverit të postës me komandën "postfix stop" përpara përditësimit. Përndryshe, mund të ketë dështime gjatë ndërveprimit me proceset e marrjes, qmgr, verifikimit, tlsproxy dhe postscreen, të cilat mund të rezultojnë në një vonesë në dërgimin e emaileve derisa Postfix të riniset.
  • Përmendjet e fjalëve "e bardhë" dhe "e zezë", të perceptuara nga disa anëtarë të komunitetit si diskriminim racor, janë pastruar. Në vend të "listës së bardhë" dhe "listës së zezë", tani duhet të përdoren "lista e lejimit" dhe "mohoni listën" (për shembull, parametrat postscreen_allowlist_interfaces, postscreen_denylist_action dhe postscreen_dnsbl_allowlist_threshold). Ndryshimet ndikojnë në dokumentacionin, cilësimet e procesit postscreen (firewall i integruar) dhe pasqyrimin e informacionit në regjistra. postfix/postscreen[pid]: ALLOWLIST VETO [adresa]:port postfix/postscreen[pid]: ALLOWLISTED [adresa]:port postfix/postscreen[pid]: DENYLISTED [adresa]:port

    Për të ruajtur termat e mëparshëm në regjistra, është dhënë parametri “respectful_logging = jo”, i cili duhet të specifikohet në main.cf përpara “compatibility_level = 3.6”. Mbështetja për emrat e vjetër të cilësimeve të ekranit postar është ruajtur për pajtueshmërinë e pasme. Gjithashtu, skedari i konfigurimit "master.cf" ka mbetur i pandryshuar për momentin.

  • Në modalitetin "niveli_kompatibiliteti = 3.6", çelësi i parazgjedhur u bë për të përdorur funksionin hash SHA256 në vend të MD5. Nëse vendosni një version të mëparshëm në parametrin compatibility_level, MD5 vazhdon të përdoret, por për cilësimet që lidhen me përdorimin e hash-eve në të cilat algoritmi nuk është përcaktuar qartë, një paralajmërim do të shfaqet në regjistër. Mbështetja për versionin e eksportit të protokollit të shkëmbimit të çelësave Diffie-Hellman është ndërprerë (vlera e parametrit tlsproxy_tls_dh512_param_file tani është injoruar).
  • Diagnoza e thjeshtuar e problemeve që lidhen me specifikimin e një programi të pasaktë të mbajtësit në master.cf. Për të zbuluar gabime të tilla, çdo shërbim backend, duke përfshirë postdrop, tani reklamon emrin e protokollit përpara se të fillojë komunikimi dhe çdo proces klient, duke përfshirë sendmail, kontrollon që emri i protokollit të reklamuar përputhet me variantin e mbështetur.
  • U shtua një lloj i ri hartografie "local_login_sender_maps" për kontroll fleksibël mbi caktimin e adresës së zarfit të dërguesit (e dhënë në komandën "MAIL FROM" gjatë një sesioni SMTP) në proceset e dërgimit dhe post-drop. Për shembull, për të lejuar përdoruesit lokalë, me përjashtim të root dhe postfix, të specifikojnë vetëm hyrjet e tyre në sendmail, duke përdorur lidhjen UID me emrin, mund të përdorni cilësimet e mëposhtme: /etc/postfix/main.cf: local_login_sender_maps = inline :{ { root = *} , { postfix = * } }, pcre:/etc/postfix/login_senders /etc/postfix/login_senders: # Lejohet specifikimi i të dy hyrjeve dhe formës login@domain. /(.+)/ $1 $1…@example.com
  • Shtuar dhe aktivizuar si parazgjedhje cilësimin “smtpd_relay_before_recipient_restrictions=po”, në të cilin serveri SMTP do të kontrollojë smtpd_relay_restrictions përpara smtpd_recipient_restrictions dhe jo anasjelltas, si më parë.
  • Parametri i shtuar "smtpd_sasl_mechanism_list", i cili vendoset në "!external, static:rest" për të parandaluar gabimet konfuze në rastin kur mbështetësi SASL pretendon të mbështesë modalitetin "EXTERNAL", i cili nuk mbështetet në Postfix.
  • Kur zgjidhni emrat në DNS, një API e re që mbështet multithreading (threadsafe) aktivizohet si parazgjedhje. Për të ndërtuar me API-në e vjetër, duhet të specifikoni “make makefiles CCARGS=”-DNO_RES_NCALLS…” gjatë ndërtimit.
  • U shtua modaliteti "enable_threaded_bounces = po" për të zëvendësuar njoftimet për problemet e dërgimit, dërgimin e vonuar ose konfirmimin e dorëzimit me të njëjtin ID të diskutimit (njoftimi do të shfaqet nga klienti i postës në të njëjtën temë, së bashku me mesazhet e tjera të korrespondencës).
  • Si parazgjedhje, baza e të dhënave e sistemit /etc/services nuk përdoret më për të përcaktuar numrat e portave TCP për SMTP dhe LMTP. Në vend të kësaj, numrat e portave konfigurohen përmes parametrit Known_tcp_ports (e parazgjedhur lmtp=24, smtp=25, smtps=submissions=465, dorëzim=587). Nëse ndonjë shërbim mungon nga known_tcp_ports, /etc/services vazhdon të përdoret.
  • Niveli i përputhshmërisë ("niveli_përputhshmërisë") është ngritur në "3.6" (parametri është ndryshuar dy herë në të kaluarën, me përjashtim të 3.6, vlerat e mbështetura janë 0 (parazgjedhja), 1 dhe 2). Tani e tutje, "compatibility_level" do të ndryshojë në numrin e versionit në të cilin janë bërë ndryshime që shkelin përputhshmërinë. Për të kontrolluar nivelet e përputhshmërisë, operatorë të veçantë krahasimi janë shtuar në main.cf dhe master.cf, si "<=nivel" dhe "<nivel" (operatorët standardë të krahasimit nuk janë të përshtatshëm, pasi ata do të konsiderojnë 3.10 më pak se 3.9).

Burimi: opennet.ru

Shto një koment