Lansarea serverului de e-mail Postfix 3.6.0

După un an de dezvoltare, a fost lansată o nouă ramură stabilă a serverului de e-mail Postfix - 3.6.0. În același timp, a anunțat sfârșitul suportului pentru ramura Postfix 3.2, lansată la începutul anului 2017. Postfix este unul dintre rarele proiecte care combină securitatea ridicată, fiabilitatea și performanța în același timp, care a fost realizat datorită unei arhitecturi bine gândite și unei politici destul de stricte pentru proiectarea codului și auditarea patch-urilor. Codul proiectului este distribuit sub EPL 2.0 (Eclipse Public License) și IPL 1.0 (IBM Public License).

Conform unui sondaj automatizat din aprilie cu aproximativ 600 de mii de servere de e-mail, Postfix este utilizat pe 33.66% (cu un an în urmă 34.29%) dintre serverele de e-mail, ponderea Exim este de 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%).

Principalele inovații:

  • Din cauza modificărilor protocoalelor interne utilizate pentru interacțiunea dintre componentele Postfix, este necesară oprirea serverului de e-mail cu comanda „postfix stop” înainte de actualizare. În caz contrar, pot exista eșecuri la interacțiunea cu procesele de preluare, qmgr, verificare, tlsproxy și postscreen, ceea ce poate duce la o întârziere în trimiterea e-mailurilor până la repornirea Postfix.
  • Mențiunile cuvintelor „alb” și „negru”, percepute de unii membri ai comunității drept discriminare rasială, au fost eliminate. În loc de „listă albă” și „listă neagră”, „listă permisă” și „listă respinsă” ar trebui acum să fie utilizate (de exemplu, parametrii postscreen_allowlist_interfaces, postscreen_denylist_action și postscreen_dnsbl_allowlist_threshold). Modificările afectează documentația, setările procesului postscreen (paravan de protecție încorporat) și reflectarea informațiilor în jurnale. postfix/postscreen[pid]: ALLOWLIST VETO [adresă]:port postfix/postscreen[pid]: ALLOWLISTED [adresă]:port postfix/postscreen[pid]: DENYLISTED [adresă]:port

    Pentru a păstra termenii anteriori în jurnale, este furnizat parametrul „respectful_logging = no”, care trebuie specificat în main.cf înainte de „compatibility_level = 3.6”. Suportul pentru vechile nume de setări postscreen a fost păstrat pentru compatibilitate cu versiunea inversă. De asemenea, fișierul de configurare „master.cf” a rămas neschimbat pentru moment.

  • În modul „compatibility_level = 3.6”, comutarea implicită a fost făcută pentru a utiliza funcția hash SHA256 în loc de MD5. Dacă setați o versiune anterioară în parametrul compatibility_level, MD5 continuă să fie utilizat, dar pentru setările legate de utilizarea hashurilor în care algoritmul nu este definit în mod explicit, va fi afișat un avertisment în jurnal. Suportul pentru versiunea de export a protocolului de schimb de chei Diffie-Hellman a fost întrerupt (valoarea parametrului tlsproxy_tls_dh512_param_file este acum ignorată).
  • Diagnosticare simplificată a problemelor asociate cu specificarea unui program de gestionare incorect în master.cf. Pentru a detecta astfel de erori, fiecare serviciu backend, inclusiv postdrop, face acum publicitate numele protocolului înainte de a începe comunicarea, iar fiecare proces client, inclusiv sendmail, verifică dacă numele protocolului anunțat se potrivește cu varianta acceptată.
  • S-a adăugat un nou tip de mapare „local_login_sender_maps” pentru control flexibil asupra atribuirii adresei plic a expeditorului (furnizată în comanda „MAIL FROM” în timpul unei sesiuni SMTP) proceselor sendmail și postdrop. De exemplu, pentru a permite utilizatorilor locali, cu excepția root și postfix, să-și specifice doar conectările în sendmail, folosind legarea UID-ului de nume, puteți utiliza următoarele setări: /etc/postfix/main.cf: local_login_sender_maps = inline :{ { root = *} , { postfix = * } }, pcre:/etc/postfix/login_senders /etc/postfix/login_senders: # Este permisă specificarea ambelor autentificări și a formularului login@domain. /(.+)/ $1 $1…@example.com
  • A adăugat și activat implicit setarea „smtpd_relay_before_recipient_restrictions=yes”, în care serverul SMTP va verifica smtpd_relay_restrictions înainte de smtpd_recipient_restrictions, și nu invers, ca înainte.
  • S-a adăugat parametrul „smtpd_sasl_mechanism_list”, care este implicit „!external, static:rest” pentru a preveni erorile confuze în cazul în care backend-ul SASL pretinde că acceptă modul „EXTERNAL”, care nu este acceptat în Postfix.
  • La rezolvarea numelor în DNS, un nou API care acceptă multithreading (threadsafe) este activat în mod implicit. Pentru a construi cu vechiul API, ar trebui să specificați „make makefiles CCARGS="-DNO_RES_NCALLS...” atunci când construiți.
  • S-a adăugat modul „enable_threaded_bounces = yes” pentru a înlocui notificările despre problemele de livrare, livrarea întârziată sau confirmarea livrării cu același ID de discuție (notificarea va fi afișată de clientul de e-mail în același fir, împreună cu alte mesaje de corespondență).
  • În mod implicit, baza de date a sistemului /etc/services nu mai este utilizată pentru a determina numerele de port TCP pentru SMTP și LMTP. În schimb, numerele de port sunt configurate prin parametrul known_tcp_ports (implicit lmtp=24, smtp=25, smtps=submissions=465, submission=587). Dacă lipsește un serviciu din porturile_tcp_cunoscute, /etc/services continuă să fie utilizat.
  • Nivelul de compatibilitate („compatibility_level”) a fost ridicat la „3.6” (parametrul a fost modificat de două ori în trecut, cu excepția lui 3.6, valorile acceptate sunt 0 (implicit), 1 și 2). De acum înainte, „compatibility_level” se va schimba la numărul versiunii în care au fost făcute modificări care încalcă compatibilitatea. Pentru a verifica nivelurile de compatibilitate, la main.cf și master.cf au fost adăugați operatori de comparație separați, cum ar fi „<=level” și „<level” (operatorii de comparație standard nu sunt potriviți, deoarece vor considera 3.10 mai puțin decât 3.9).

Sursa: opennet.ru

Adauga un comentariu