Efter et års udvikling blev den nye stabile version af mailserveren Postfix - 3.6.0 - udgivet. Samtidig blev det annonceret, at supporten til Postfix version 3.2, der blev udgivet i begyndelsen af 2017, er stoppet. Postfix er et af de få projekter, der kombinerer høj sikkerhed, pålidelighed og ydeevne, hvilket er opnået takket være en gennemtænkt arkitektur og en ret striks politik for koden og patchrevision. Projektets kode distribueres under licenserne EPL 2.0 (Eclipse Public License) og IPL 1.0 (IBM Public License).
Ifølge en automatiseret undersøgelse fra april med omkring 600.000 mailservere servere, anvendes Postfix på 33,66% (34,29% for et år siden) af mailserverne, Exims andel er 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%).
Hovednyhederne:
- På grund af ændringer i de interne protokoller, der anvendes til interaktion mellem komponenterne i Postfix, er det nødvendigt at stoppe mailserveren server med kommandoen «postfix stop». Ellers kan der opstå fejl i interaktionen med processerne pickup, qmgr, verify, tlsproxy og postscreen, hvilket kan medføre forsinkelser i forsendelsen af mails, indtil Postfix genstartes.
- Der er gjort rent i omtalerne af ordene «white» og «black», som nogle medlemmer af samfundet opfatter som racemæssig diskrimination. I stedet for «whitelist» og «blacklist» bør man nu bruge «allowlist» og «denylist» (for eksempel parametrene postscreen_allowlist_interfaces, postscreen_denylist_action og postscreen_dnsbl_allowlist_threshold). Ændringerne påvirker dokumentationen, indstillingerne for postscreen-processen (indbygget firewall) og refleksionen af oplysninger i loggene. postfix/postscreen[pid]: ALLOWLIST VETO [address]:port postfix/postscreen[pid]: ALLOWLISTED [address]:port postfix/postscreen[pid]: DENYLISTED [address]:port
For at bevare de tidligere termer i loggene er der indført parameteren «respectful_logging = no», som skal angives i main.cf før «compatibility_level = 3.6». Supporten for de gamle navne på postscreen-indstillingerne er bevaret for at sikre bagudkompatibilitet. Desuden er konfigurationsfilen «master.cf» stadig uændret.
- I tilstand "compatibility_level = 3.6" er der standardovergået til at bruge hash-funktionen SHA256 i stedet for MD5. Ved valg af en tidligere version i parameteren compatibility_level anvendes MD5 stadig, men for indstillinger relateret til brug af hashes, hvor algoritmen ikke er defineret, vil der blive vist en advarsel i loggen. Støtte til den eksporterede version af Diffie-Hellman nøgleudvekslingsprotokollen er ophørt (værdien af parameteren tlsproxy_tls_dh512_param_file ignoreres nu).
- Diagnosen af problemer relateret til angivelse af et forkert håndteringsprogram i master.cf er blevet forenklet. For at identificere sådanne fejl annoncerer hver intern tjeneste, inklusive postdrop, nu protokolnavnet før dataudvekslingen indledes, og hver klientproces, inklusive sendmail, kontrollerer overensstemmelsen mellem det annoncerede protokolnavn og den understøttede version.
- En ny type kortlægning "local_login_sender_maps" er tilføjet for fleksibel styring af destinationen for afsenderens envelope-adresse (angivet i "MAIL FROM" kommandoen under SMTP-sessionen) i processerne sendmail og postdrop. For eksempel, for at tillade lokale brugere, undtagen root og postfix, at angive deres egne loginoplysninger i sendmail ved at bruge binding af UID til navn, kan følgende konfigurationer anvendes: /etc/postfix/main.cf: local_login_sender_maps = inline:{ { root = *}, { postfix = * } }, pcre:/etc/postfix/login_senders /etc/postfix/login_senders: # Både login og former som login@domæne er tilladt. /(.+)/ $1 $1…@example.com
- Indstillingen "smtpd_relay_before_recipient_restrictions=yes" er tilføjet og aktiveret som standard, hvilket betyder, at SMTP-serveren vil kontrollere begrænsningerne for smtpd_relay_restrictions før smtpd_recipient_restrictions, fremfor omvendt, som det var tidligere.
- Parameteren "smtpd_sasl_mechanism_list" er tilføjet, som som standard er indstillet til "!external, static:rest" for at forhindre forvirrende fejl, når SASL-backenden angiver, at den understøtter "EXTERNAL"-modus, som ikke understøttes i Postfix.
- Ved bestemmelse af navne i DNS anvendes en ny API som standard, der understøtter multitrådning (threadsafe). For at bygge med den gamle API skal der angives "make makefiles CCARGS="-DNO_RES_NCALLS…" ved bygningen.
- Der er tilføjet en tilstand «enable_threaded_bounces = yes» for indsættelse af meddelelser om leveringsproblemer, forsinket levering eller bekræftelse af levering med samme diskussions-ID (meddelelsen vil blive vist af e-mailklienten i den samme tråd sammen med de øvrige meddelelser i korrespondancen).
- Standard brugen af systemdatabasen /etc/services til at bestemme TCP-portnumre for SMTP og LMTP er ophørt. I stedet konfigureres portnumrene gennem parameteren known_tcp_ports (standardmæssigt lmtp=24, smtp=25, smtps=submissions=465, submission=587). Hvis en tjeneste mangler i known_tcp_ports, fortsætter /etc/services med at blive brugt.
- Kompatibilitetsniveauet («compatibility_level») er hævet til værdien «3.6» (tidligere er parameteren ændret to gange; foruden 3.6 understøttes værdierne 0 (standard), 1 og 2). Fremover vil «compatibility_level» ændres til versionsnummeret, hvor ændringer, der bryder kompatibiliteten, er indført. Der er tilføjet separate sammenligningsoperatorer til at kontrollere kompatibilitetsniveauer i main.cf og master.cf, såsom «<=level» og «< level» (standard sammenligningsoperatorer fungerer ikke, da de vil betragte 3.10 som mindre end 3.9).
Kilde: opennet.ru
