Nakon 10 mjeseci razvoja, objavljena je nova stabilna verzija poštanskog servera Postfix — 3.7.0. Istovremeno je najavljeno prekid podrške za verziju Postfix 3.3, objavljenu početkom 2018. godine. Postfix je jedan od rijetkih projekata koji istovremeno kombinira visok nivo sigurnosti, pouzdanosti i performansi, što je postignuto zahvaljujući promišljenoj arhitekturi i prilično strogim politikama formatiranja koda i revizije zakrpa. Kod projekta se distribuira pod licencijama EPL 2.0 (Eclipse Public License) i IPL 1.0 (IBM Public License).
Prema automatiziranom anketiranju u januaru, oko 500 tisuća poštanskih poslužitelja, Postfix se koristi na 34.08% (prije godine 33.66%) poštanskih servera, udio Exim-a iznosi 58.95% (59.14%), Sendmail — 3.58% (3.6%), MailEnable — 1.99% (2.02%), MDaemon — 0.52% (0.60%), Microsoft Exchange — 0.26% (0.32%), OpenSMTPD — 0.06% (0.05%).
Glavne novine:
- Omogućena je mogućnost umetanja na mjestu sadržaja malih tabela „cidr:“, „pcre:“ i „regexp:“ unutar vrijednosti konfiguracijskih parametara Postfix-a, bez povezivanja vanjskih datoteka ili baza podataka. Umetanje na mjestu određuje se pomoću vitičastih zagrada, na primjer, zadana vrijednost parametra smtpd_forbidden_commands sada sadrži string „CONNECT GET POST regexp:{{/^[^A-Z]/ Thrash}}“, koji omogućava resetiranje veza od klijenata koji šalju smeće umjesto komandi. Opći sintaksis: /etc/postfix/main.cf: parameter = .. map-type:{ { rule-1 }, { rule-2 } .. } .. /etc/postfix/master.cf: .. -o { parameter = .. map-type:{ { rule-1 }, { rule-2 } .. } .. } ..
- Obrada postlog sada je opremljena set-gid oznakom i pri pokretanju obavlja operacije s privilegijama grupe postdrop, što omogućava korištenje od strane neprivilegiranih programa za zapisivanje logova putem pozadinskog procesa postlogd, što poboljšava fleksibilnost podešavanja maillog_file i omogućava, između ostalog, logiranje stdout iz kontejnera.
- Dodana je podrška za API biblioteke OpenSSL 3.0.0, PCRE2 i Berkeley DB 18.
- Dodana je zaštita od napada kroz određivanje kolizija u hash-ovima metodom pokušaja ključevima. Zaštita je implementirana putem randomizacije inicijalnog stanja hash-tabela pohranjenih u radnoj memoriji. Trenutno je otkriven samo jedan način izvođenja takvih napada, povezan s pokušajima IPv6 adresa SMTP klijenata u servisu anvil i koji zahtijeva uspostavljanje stotina kratkoročnih veza u sekundi uz ciklično ponavljanje hiljada različitih klijentskih. IP adresa. Ostale hash-tablice, provjera ključeva u kojima se može izvršiti na temelju podataka napadača, nisu podložne takvim napadima, jer se primjenjuju ograničenja veličine (u anvil-u je čišćenje provedeno svakih 100 sekundi).
- Ojačana zaštita od vanjskih klijenata i servera, vrlo sporo prenoseći podatke kako bi se održale aktivne SMTP i LMTP veze (na primjer, radi blokiranja rada putem stvaranja uvjeta iscrpljenja limita za broj uspostavljenih veza). Umjesto ograničenja vremena vezanog uz zapise, sada se primjenjuje ograničenje vezano uz zahtjeve, a također je dodano ograničenje minimalno moguće intenzivnosti prijenosa podataka u blokovima DATA i BDAT. U skladu s tim, na mjesto postavki {smtpd,smtp,lmtp}_per_record_deadline došle su {smtpd,smtp,lmtp}_per_request_deadline i {smtpd,smtp,lmtp}_min_data_rate.
- U timu postqueue osigurana je čišćenje neisprintanih znakova, kao što su novi redovi, u fazi prije ispisivanja u standardni izlaz ili formatiranja niza u JSON.
- U tlsproxy-u, umjesto parametara tlsproxy_client_level i tlsproxy_client_policy, došle su nove postavke tlsproxy_client_security_level i tlsproxy_client_policy_maps radi unifikacije naziva parametara u Postfixu (nazivi postavki tlsproxy_client_xxx sada odgovaraju postavkama smtp_tls_xxx).
- Preuređena obrada pogrešaka od klijenata koji koriste LMDB.
Izvor: opennet.ru
