Po skoraj letu razvoja je izšla nova stabilna različica poštnega strežnika Postfix – 3.9.0. Hkrati je bila napovedana prekinitev podpore za različico Postfix 3.5, izdano na začetku leta 2020. Postfix je eden redkih projektov, ki hkrati združujejo visoko varnost, zanesljivost in zmogljivost, kar so dosegli z dobro zasnovano arhitekturo ter dovolj strogo politiko oblikovanja kode in revizije popravkov. Koda projekta je napisana v programskem jeziku C in se distribuira pod licencama EPL 2.0 (Eclipse Public License) in IPL 1.0 (IBM Public License).
V skladu z januarjsko avtomatizirano anketo okoli 400 tisoč poštnih strežnikov, Postfix se uporablja na 36,81 % (pred letom 33,18 %) poštnih strežnikov, delež Exim znaša 56,61 % (pred letom 60,27 %), Sendmail – 3,60 % (3,62 %), MailEnable – 1,82 % (1,86 %), MDaemon – 0,40 % (0,39 %), Microsoft Exchange – 0,19 % (0,19 %), OpenSMTPD – 0,09 % (0,06 %).

Glavne novosti:
- Dodana je bila stranka za MongoDB, ki omogoča shranjevanje baze virtualnih uporabnikov, vzdevkov, seznamov za usklajevanje naslovov in različnih preveritvenih tabel v tem SGBD. Za nastavitev dostopa do MongoDB je dodana vrsta tabel "mongodb". Na primer, "alias_maps = proxy:mongodb:/etc/postfix/mongo.cf", kjer je mongo.cf datoteka z nastavitvami za povezavo z MongoDB in filtriranje poizvedb.
- V agenta lokalne dostave je dodano izvažanje identifikatorja preusmerjanja, ki je bil posredovan med SMTP sejo skozi parameter ENVID (Envelope ID) v ukazu ESMTP MAIL (RFC 3461). Identifikator se zapiše v okoljsko spremenljivko ENVID in se prenese v agent za dostavo pipe preko parametra ukazne vrstice "${envid}".
- Strankam za shranjevanje podatkov v MySQL ("mysql:") in PostgreSQL ("pgsql:") so dodani parametri: "idle_interval" za določanje časa neaktivnosti pred zaprtjem povezave in "retry_interval" za nastavitev časovne omejitve ponovnih pošiljanj poizvedb. Privzeto je vrednost teh parametrov 60 sekund. Vrednost "retry_interval" je mogoče zmanjšati, na primer za skrajšanje časa okrevanja po napakah, v primeru, da je uporabljen samo en strežnik v atributu "hosts".
- Stranki za MySQL je dodana nastavitev "charset" za določanje privzete šifre znakov. Privzeto se uporablja vrednost "utf8mb4", ki ustreza privzetim nastavitvam v MySQL 8.0 (v prejšnjih različicah je bila uporabljena vrednost "latin1"). Podpora za različice starejše od MySQL 4.0 (tj. različice izdane pred letom 2003) je bila prenehana.
- Dostavljena je opcijska mogućnost zahtjeva za vlastitim (raw) javnim ključem za TLS, koji nije vezan za certifikacijsko tijelo, umjesto X.509 certifikata. Korištenje raw-ključeva za autentifikaciju klijenata i servera aktivira se putem parametara «smtpd_tls_enable_rpk = yes» i «smtp_tls_enable_rpk = yes», ali ponašanje provjere jako ovisi o postavljenoj razini sigurnosti i podršci za raw-ključeve u lokalnoj implementaciji TLS (vidi dokumentaciju).
- Dodana je početna podrška za konfiguracijske datoteke OpenSSL. Za navođenje veze na datoteku s TLS podešavanjima predložen je parametar tls_config_file, a za navođenje imena sekcije s podešavanjima iz konfiguracijske datoteke — parametar «tls_config_name». Povezivanje s konfiguracijskim datotekama OpenSSL može se koristiti za smanjenje ovisnosti o postavkama distribucija, čija promjena razine sigurnosti može dovesti do povećanja udjela poruka koje se šalju bez enkripcije.
- U zaglavljima poruka promijenjen je način formatiranja brojeva dana u datumima — dani od 1 do 9 sada se dopunjuju nulom, a ne razmakom (tj. «01», «02» itd.). Promjena je izvršena jer RFC 5322 preporučuje korištenje pojedinačnih razmaka kao razdjeljivača u datumima.
- Dodana je zaštita od nekih vrsta «Blind» napada (SSRF napadi na web klijente, usmjereni na pristup serveru putem SMTP), koja se primjenjuje kada je postavka «smtpd_forbid_unauth_pipelining = yes» (po zadanim postavkama).
- Po zadanim postavkama uključena je postavka «smtpd_forbid_bare_newline = normalize», koja osigurava zaštitu servera od napada klase «SMTP smuggling», koji omogućuju razdvajanje jedne poruke na nekoliko različitih poruka pomoću nestandardne sekvence za razdvajanje poruka. Također je dodana zaštita od izvršavanja odlaznih SMTP smuggling napada, u kojima napadač koristi server temeljen na Postfixu za napad na drugi SMTP server. Po zadanim postavkama uključena je postavka «cleanup_replace_stray_cr_lf = yes», koja zamjenjuje suvišne znakove i razmakom.
- U implementaciji DNS klijenta veličina vraćenih rezultata DNS upita sada je ograničena na 100 zapisa, što je 20 puta više od maksimalnog broja podržanog u SMTP klijentu. IP naslovov za jedan server.
- U kategoriju zastarjelih prebačeni su parametri «disable_dns_lookup» i «permit_mx_backup», kao i neke postavke TLS.
- Podpora za nastavitve, ki so bile razglašene za zastarele pred približno 20 leti, je prenehala: „permit_naked_ip_address“, „check_relay_domains“ in „reject_maps_rbl“.
Izvor: opennet.ru
