Po roku vývoja bolo uvedené na trh nové stabilné vydanie poštového servera Postfix — 3.6.0. Zároveň bolo oznámené o ukončení podpory verzie Postfix 3.2, vydanej začiatkom roka 2017. Postfix je jedným z mála projektov, ktoré kombinujú vysokú bezpečnosť, spoľahlivosť a výkon, čo sa podarilo dosiahnuť vďaka dobre premyslenej architektúre a dostatočne prísnej politike formátovania kódu a auditu patchov. Kód projektu sa šíri pod licenciami EPL 2.0 (Eclipse Public License) a IPL 1.0 (IBM Public License).
Podľa aprílového automatizovaného prieskumu sa približne 600 tisíc poštových serverov, Postfix používa na 33.66% (pred rokom 34.29%) poštových serverov, podiel Exim predstavuje 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%).
Hlavné novinky:
- V súvislosti so zmenou interných protokolov používaných na interakciu medzi komponentmi Postfix je pred aktualizáciou nevyhnutné zastaviť poštový servera príkazom „postfix stop“. Inak môžu nastávať problémy pri interakcii s procesmi pickup, qmgr, verify, tlsproxy a postscreen, čo môže viesť k oneskoreniu odosielania správ až do reštartu Postfixu.
- Bola vykonaná úprava zmienok o slovách „white“ a „black“, ktoré niektorí členovia komunity vnímajú ako rasovú diskrimináciu. Namiesto „whitelist“ a „blacklist“ by sa teraz mali používať „allowlist“ a „denylist“ (napríklad parametre postscreen_allowlist_interfaces, postscreen_denylist_action a postscreen_dnsbl_allowlist_threshold). Zmeny sa týkajú dokumentácie, nastavení procesu postscreen (zabudovaný firewall) a odrážania informácií v logoch. postfix/postscreen[pid]: ALLOWLIST VETO [address]:port postfix/postscreen[pid]: ALLOWLISTED [address]:port postfix/postscreen[pid]: DENYLISTED [address]:port
Pre zachovanie predchádzajúcich termínov v logoch je určený parameter „respectful_logging = no“, ktorý treba uviesť v main.cf pred „compatibility_level = 3.6“. Podpora starých názvov nastavení postscreen bola zachovaná pre zabezpečenie spätné kompatibility. Takisto zatiaľ ostal nezmenený konfiguračný súbor „master.cf“.
- V režime «compatibility_level = 3.6» sa predvolene prešlo na používanie hashovacích funkcií SHA256 namiesto MD5. Pri nastavení staršej verzie v parametre compatibility_level sa naďalej používa MD5, avšak pre nastavenia súvisiace s hashmi, kde nie je explicitne definovaný algoritmus, sa do logu bude vypisovať varovanie. Podpora vývozných variantov protokolu výmeny kľúčov Diffe-Hellmana bola ukončená (hodnota parametra tlsproxy_tls_dh512_param_file je teraz ignorovaná).
- Zjednodušená diagnostika problémov súvisiacich s nesprávnym programom spracovateľom v master.cf. Na odhalenie takýchto chýb teraz každý interný servis, vrátane postdrop, oznamuje názov protokolu pred začiatkom výmeny údajov, a každý klientsky proces, vrátane sendmail, overuje zhodu oznámeného názvu protokolu s podporovanou verziou.
- Pridaný nový typ mapovania „local_login_sender_maps“ pre flexibilné riadenie priradenia envelope-adresy odosielateľa (posiela sa príkazom „MAIL FROM“ počas SMTP relácie) do procesov sendmail a postdrop. Napríklad na povolenie miestnym užívateľom, okrem root a postfix, uvádzať iba svoje prihlasovacie údaje v sendmail, pričom sa využíva viazanie UID na meno, môžu byť použité nasledujúce nastavenia: /etc/postfix/main.cf: local_login_sender_maps = inline:{ { root = *}, { postfix = * } }, pcre:/etc/postfix/login_senders /etc/postfix/login_senders: # Povolené uvádzanie ako prihlasovacích mien, tak aj foriem login@doména. /(.+)/ $1 $1…@example.com
- Pridaná a predvolene aktivovaná nastavenie „smtpd_relay_before_recipient_restrictions=yes“, pri ktorom SMTP server bude overovať obmedzenia smtpd_relay_restrictions pred smtpd_recipient_restrictions, a nie naopak, ako tomu bolo doteraz.
- Pridaný parameter „smtpd_sasl_mechanism_list“, predvolene nastavený na hodnotu „!external, static:rest“, aby sa predišlo mätúcim chybám, keď backend SASL tvrdí, že podporuje režim „EXTERNAL“, ktorý nie je podporovaný v Postfixe.
- Pri určovaní mien v DNS sa predvolene použije nový API, ktorý podporuje viacvláknovosť (threadsafe). Na zostavenie so starým API je potrebné určiť pri zostavovaní „make makefiles CCARGS=“-DNO_RES_NCALLS…“.
- Pridaný režim „enable_threaded_bounces = yes“ na substitúciu notifikácií o problémoch s doručením, oneskorenom doručení alebo potvrdení doručenia s rovnakým identifikátorom diskusie (notifikácia sa zobrazí poštovým klientom v tej istej vlákne, spolu s ostatnými správami v konverzácii).
- Predvolene sa prestalo používať systémovú databázu /etc/services na určovanie čísel TCP portov pre SMTP a LMTP. Namiesto toho sa čísla portov nastavujú pomocou parametra known_tcp_ports (predvolene lmtp=24, smtp=25, smtps=submissions=465, submission=587). V prípade, že nejaká služba chýba v known_tcp_ports, naďalej sa používa /etc/services.
- Úroveň kompatibility („compatibility_level“) bola zvýšená na hodnotu „3.6“ (v minulosti sa parameter menil dvakrát, okrem 3.6 sú podporované hodnoty 0 (predvolené), 1 a 2). Odteraz bude „compatibility_level“ meniť na číslo verzie, v ktorej došlo k zmenám narušujúcim kompatibilitu. Na kontrolu úrovní kompatibility v main.cf a master.cf boli pridané samostatné porovnávacie operátory, ako napríklad „<=level“ a „< level“ (štandardné porovnávacie operátory nevyhovujú, pretože považujú 3.10 za menšie ako 3.9).
Zdroj: opennet.ru
