Na 'n jaar van ontwikkeling is 'n nuwe stabiele tak van die Postfix-posbediener vrygestel - 3.6.0. Terselfdertyd het dit die einde van ondersteuning vir die Postfix 3.2-tak aangekondig, wat vroeg in 2017 vrygestel is. Postfix is een van die seldsame projekte wat hoë sekuriteit, betroubaarheid en werkverrigting terselfdertyd kombineer, wat behaal is danksy 'n weldeurdagte argitektuur en 'n taamlik streng beleid vir kodeontwerp en pleisteroudit. Die projekkode word versprei onder EPL 2.0 (Eclipse Public License) en IPL 1.0 (IBM Public License).
Volgens 'n outomatiese opname in April van ongeveer 600 000 posvraestelle bedienersPostfix word op 33.66% (34.29% 'n jaar gelede) van posbedieners gebruik, die aandeel van Exim is 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%).
Belangrikste innovasies:
- As gevolg van veranderinge in die interne protokolle wat gebruik word vir kommunikasie tussen Postfix-komponente, is dit verpligtend om die posbediener te stop voor opgradering. bediener Gebruik die "postfix stop"-opdrag. Andersins kan jy foute ondervind wanneer jy met die pickup-, qmgr-, verify-, tlsproxy- en postscreen-prosesse interaksie het, wat die versending van e-pos kan vertraag totdat Postfix herbegin is.
- Vermeldings van die woorde "wit" en "swart", wat deur sommige lede van die gemeenskap as rassediskriminasie beskou word, is gesuiwer. In plaas van "witlys" en "swartlys", moet "toelaatlys" en "ontkenlys" nou gebruik word (byvoorbeeld die parameters postscreen_allowlist_interfaces, postscreen_denylist_action en postscreen_dnsbl_allowlist_threshold). Die veranderinge raak dokumentasie, instellings van die naskermproses (ingeboude firewall) en weerspieëling van inligting in logs. postfix/postscreen[pid]: TOELATSLYS VETO [adres]:port postfix/postscreen[pid]: TOEGELATEN [adres]:poort postfix/postscreen[pid]: GEDENYLISTED [adres]:poort
Om die vorige terme in die logs te bewaar, word die "respectful_logging = no" parameter verskaf, wat in main.cf voor "compatibility_level = 3.6" gespesifiseer moet word. Ondersteuning vir ou naskerm-instellingsname is behou vir terugwaartse versoenbaarheid. Die konfigurasielêer “master.cf” het ook vir nou onveranderd gebly.
- In die "compatibility_level = 3.6"-modus is die verstekskakelaar gemaak om die SHA256-hash-funksie in plaas van MD5 te gebruik. As jy 'n vroeër weergawe in die compatibility_level-parameter stel, word MD5 steeds gebruik, maar vir instellings wat verband hou met die gebruik van hashes waarin die algoritme nie eksplisiet gedefinieer is nie, sal 'n waarskuwing in die log vertoon word. Ondersteuning vir die uitvoerweergawe van die Diffie-Hellman-sleuteluitruilprotokol is gestaak (die waarde van die tlsproxy_tls_dh512_param_file-parameter word nou geïgnoreer).
- Vereenvoudigde diagnose van probleme wat verband hou met die spesifiseer van 'n verkeerde hanteerderprogram in master.cf. Om sulke foute op te spoor, adverteer elke backend-diens, insluitend postdrop, nou die protokolnaam voordat kommunikasie begin word, en elke kliëntproses, insluitend sendmail, kontroleer dat die geadverteerde protokolnaam ooreenstem met die ondersteunde variant.
- Het 'n nuwe karteringtipe "local_login_sender_maps" bygevoeg vir buigsame beheer oor die toewysing van die sender se koevertadres (verskaf in die "MAIL FROM"-opdrag tydens 'n SMTP-sessie) by die sendmail en postdrop-prosesse. Byvoorbeeld, om plaaslike gebruikers, met die uitsondering van root en postfix, toe te laat om slegs hul aanmeldings in sendmail te spesifiseer, deur gebruik te maak van UID wat aan die naam bind, kan jy die volgende instellings gebruik: /etc/postfix/main.cf: local_login_sender_maps = inline :{ { root = *} , { postfix = * } }, pcre:/etc/postfix/login_senders /etc/postfix/login_senders: # Spesifikasie van beide aanmeldings en die login@domain-vorm word toegelaat. /(.+)/ $1 $1…@example.com
- By verstek is die “smtpd_relay_before_recipient_restrictions=yes” instelling bygevoeg en geaktiveer, waarin die SMTP-bediener smtpd_relay_restrictions sal kontroleer voor smtpd_recipient_restrictions, en nie andersom, soos voorheen nie.
- Bygevoeg parameter "smtpd_sasl_mechanism_list", wat verstek na "!external, static:rest" om verwarrende foute te voorkom in die geval waar die SASL backend beweer dat dit die "EXTERNAL" modus ondersteun, wat nie in Postfix ondersteun word nie.
- Wanneer name in DNS opgelos word, word 'n nuwe API wat multithreading (threadsafe) ondersteun by verstek geaktiveer. Om met die ou API te bou, moet jy "make makefiles CCARGS="-DNO_RES_NCALLS..." spesifiseer wanneer jy bou.
- Bygevoeg "enable_threaded_bounces = yes"-modus om kennisgewings oor afleweringsprobleme, vertraagde aflewering of afleweringsbevestiging met dieselfde besprekings-ID te vervang (die kennisgewing sal deur die poskliënt in dieselfde draad gewys word, saam met ander korrespondensieboodskappe).
- By verstek word die /etc/services-stelseldatabasis nie meer gebruik om TCP-poortnommers vir SMTP en LMTP te bepaal nie. In plaas daarvan word poortnommers gekonfigureer deur die parameter known_tcp_ports (verstek lmtp=24, smtp=25, smtps=submissions=465, submission=587). As 'n diens ontbreek by bekend_tcp_ports, word /etc/services steeds gebruik.
- Die verenigbaarheidsvlak (“compatibility_level”) is verhoog na “3.6” (die parameter is twee keer in die verlede verander, behalwe vir 3.6 is die ondersteunde waardes 0 (verstek), 1 en 2). Van nou af sal "compatibility_level" verander na die weergawenommer waarin veranderinge aangebring is wat versoenbaarheid skend. Om versoenbaarheidsvlakke na te gaan, is aparte vergelykingsoperateurs by main.cf en master.cf gevoeg, soos “<=vlak” en “<vlak” (standaardvergelykingsoperateurs is nie geskik nie, aangesien hulle 3.10 minder as 3.9 sal beskou).
Bron: opennet.ru
