Liberasyon sèvè lapòs Postfix 3.6.0

Apre yon ane nan devlopman, yo te lage yon nouvo branch ki estab nan sèvè lapòs Postfix - 3.6.0. An menm tan an, li te anonse fen sipò pou branch Postfix 3.2, ki te pibliye nan kòmansman 2017. Postfix se youn nan pwojè ki ra ki konbine sekirite segondè, fyab ak pèfòmans nan menm tan an, ki te reyalize gras a yon achitekti byen panse ak yon politik jistis strik pou konsepsyon kòd ak odit patch. Kòd pwojè a distribye anba EPL 2.0 (Eclipse Public License) ak IPL 1.0 (IBM Public License).

Dapre yon sondaj avril otomatik sou 600 mil serveurs lapòs, Postfix yo itilize sou 33.66% (yon ane de sa 34.29%) nan sèvè lapòs, pati nan Exim se 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%).

Prensipal inovasyon:

  • Akòz chanjman ki fèt nan pwotokòl entèn yo itilize pou entèraksyon ant konpozan Postfix, li nesesè pou kanpe sèvè lapòs la ak lòd "postfix stop" anvan mete ajou. Sinon, ka gen echèk lè w ap kominike avèk pwosesis pickup, qmgr, verify, tlsproxy, ak postscreen, ki ka lakòz yon reta nan voye imèl jiskaske Postfix rekòmanse.
  • Mensyon mo "blan" ak "nwa," kèk manm nan kominote a konsidere kòm diskriminasyon rasyal, yo te elimine. Olye de "whitelist" ak "blacklist", "allowlist" ak "denylist" ta dwe kounye a itilize (pa egzanp, paramèt postscreen_allowlist_interfaces, postscreen_denylist_action ak postscreen_dnsbl_allowlist_threshold). Chanjman yo afekte dokiman, paramèt pwosesis postscreen la (pare-feu entegre) ak refleksyon enfòmasyon nan mòso bwa. postfix/postscreen[pid]: ALLOWLIST VETO [adrès]:port postfix/postscreen[pid]: ALLOWLISTED [adrès]:port postfix/postscreen[pid]: DENYLISED [adrès]:pò

    Pou prezève tèm anvan yo nan mòso bwa yo, yo bay paramèt "respectful_logging = non", ki ta dwe espesifye nan main.cf anvan "compatibility_level = 3.6". Sipò pou ansyen non paramèt postscreen yo te konsève pou konpatibilite bak. Epitou, fichye konfigirasyon "master.cf" rete san chanjman pou kounye a.

  • Nan mòd "compatibility_level = 3.6", yo te fè switch default la pou itilize fonksyon hash SHA256 olye pou yo MD5. Si ou mete yon vèsyon pi bonè nan paramèt compatibility_level, MD5 kontinye ap itilize, men pou anviwònman ki gen rapò ak itilizasyon hashes kote algorithm a pa klèman defini, yon avètisman pral parèt nan boutèy la. Yo sispann sipò pou vèsyon ekspòtasyon pwotokòl echanj kle Diffie-Hellman (valè paramèt tlsproxy_tls_dh512_param_file kounye a inyore).
  • Senplifye dyagnostik pwoblèm ki asosye ak espesifye yon pwogram moun k ap okipe pa kòrèk nan master.cf. Pou detekte erè sa yo, chak sèvis backend, ki gen ladan postdrop, kounye a fè piblisite non pwotokòl la anvan yo kòmanse kominikasyon, epi chak pwosesis kliyan, ki gen ladan sendmail, tcheke si non pwotokòl pibliye a matche ak variant yo sipòte.
  • Te ajoute yon nouvo kalite kat "local_login_sender_maps" pou kontwòl fleksib sou plasman adrès anvlòp moun k la (ki bay nan lòd "MAIL FROM" pandan yon sesyon SMTP) nan pwosesis sendmail ak postdrop. Pa egzanp, pou pèmèt itilizatè lokal yo, eksepte rasin ak postfix, pou presize sèlman koneksyon yo nan sendmail, lè l sèvi avèk UID ki konekte ak non an, ou ka itilize paramèt sa yo: /etc/postfix/main.cf: local_login_sender_maps = inline :{ { root = *} , { postfix = * } }, pcre:/etc/postfix/login_senders /etc/postfix/login_senders: # Espesifye tou de login ak fòm login@domain la pèmèt. /(.+)/ $1 $1…@example.com
  • Te ajoute ak aktive pa default "smtpd_relay_before_recipient_restrictions=yes", nan ki sèvè SMTP a pral tcheke smtpd_relay_restrictions anvan smtpd_recipient_restrictions, epi yo pa vis vèrsa, tankou anvan.
  • Te ajoute paramèt "smtpd_sasl_mechanism_list", ki pa default nan "!external, static:rest" pou anpeche erè konfizyon nan ka kote backend SASL reklamasyon sipòte mòd "EXTERNAL" la, ki pa sipòte nan Postfix.
  • Lè rezoud non nan DNS, yon nouvo API ki sipòte multithreading (threadsafe) aktive pa default. Pou konstwi ak ansyen API a, ou ta dwe presize "fè makefiles CCARGS="-DNO_RES_NCALLS..." lè w ap bati.
  • Te ajoute "enable_threaded_bounces = yes" mòd pou ranplase notifikasyon sou pwoblèm livrezon, livrezon reta oswa konfimasyon livrezon ak menm idantite diskisyon an (kliyan lapòs la pral montre notifikasyon an nan menm fil la, ansanm ak lòt mesaj korespondans).
  • Pa default, baz done sistèm /etc/services la pa itilize ankò pou detèmine nimewo pò TCP pou SMTP ak LMTP. Olye de sa, nimewo pò yo konfigirasyon atravè paramèt know_tcp_ports (default lmtp=24, smtp=25, smtps=submissions=465, submission=587). Si gen kèk sèvis ki manke nan known_tcp_ports, /etc/services kontinye ap itilize.
  • Nivo konpatibilite ("compatibility_level") te ogmante a "3.6" (paramèt la te chanje de fwa nan tan lontan an, eksepte pou 3.6 valè yo sipòte yo se 0 (default), 1 ak 2). Depi koulye a, "compatibility_level" pral chanje nan nimewo vèsyon an ki te fè chanjman ki vyole konpatibilite. Pou tcheke nivo konpatibilite yo, yo te ajoute operatè konparezon separe nan main.cf ak master.cf, tankou "<=level" ak "<level" (operatè konparezon estanda yo pa apwopriye, paske yo pral konsidere 3.10 mwens pase 3.9).

Sous: opennet.ru

Add nouvo kòmantè