Wydanie serwera pocztowego Postfix 3.6.0

Po roku prac rozwojowych ukazało się nowe stabilne wydanie serwera pocztowego Postfix — 3.6.0. Jednocześnie ogłoszono zakończenie wsparcia dla gałęzi Postfix 3.2, wydanej na początku 2017 roku. Postfix należy do nielicznych projektów, które łączą wysoki poziom bezpieczeństwa, niezawodność i wydajność, co udało się osiągnąć dzięki przemyślanej architekturze oraz dość rygorystycznej polityce tworzenia kodu i audytu poprawek. Kod projektu jest udostępniany na licencjach EPL 2.0 (Eclipse Public License) oraz IPL 1.0 (IBM Public License).

Zgodnie z kwietniowym zautomatyzowanym badaniem około 600 tysięcy serwerów pocztowych serwerów, Postfix jest używany na 33.66% (rok temu 34.29%) serwerów pocztowych, udział Exim wynosi 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%).

Główne nowości:

  • W związku ze zmianą wewnętrznych protokołów używanych do komunikacji między komponentami Postfix, przed aktualizacją konieczne jest zatrzymanie serwera pocztowego serwery poleceniem „postfix stop”. W przeciwnym razie mogą występować problemy we współpracy z procesami pickup, qmgr, verify, tlsproxy i postscreen, co może prowadzić do opóźnień w dostarczaniu wiadomości do czasu ponownego uruchomienia Postfix.
  • Usunięto część odniesień do słów „white” i „black”, które przez część społeczności są odbierane jako przejaw dyskryminacji rasowej. Zamiast „whitelist” i „blacklist” należy teraz używać „allowlist” i „denylist” (na przykład parametrów postscreen_allowlist_interfaces, postscreen_denylist_action i postscreen_dnsbl_allowlist_threshold). Zmiany obejmują dokumentację, ustawienia procesu postscreen (wbudowanej zapory sieciowej) oraz sposób prezentacji informacji w logach. postfix/postscreen[pid]: ALLOWLIST VETO [address]:port postfix/postscreen[pid]: ALLOWLISTED [address]:port postfix/postscreen[pid]: DENYLISTED [address]:port

    Aby zachować dotychczasowe terminy w logach, przewidziano parametr „respectful_logging = no”, który należy wskazać w main.cf przed „compatibility_level = 3.6”. Obsługa starych nazw ustawień postscreen została zachowana w celu zapewnienia wstecznej kompatybilności. Na razie bez zmian pozostaje także plik konfiguracyjny „master.cf”.

  • W trybie «compatibility_level = 3.6» domyślnie wprowadzono użycie funkcji skrótu SHA256 zamiast MD5. Przy ustawieniu wcześniejszej wersji w parametrze compatibility_level nadal stosowany jest MD5, jednak dla ustawień związanych z użyciem skrótów, w których algorytm nie został określony jawnie, w logu będzie wyświetlane ostrzeżenie. Zakończono obsługę eksportowego wariantu protokołu wymiany kluczy Diffie-Hellmana (wartość parametru tlsproxy_tls_dh512_param_file jest teraz ignorowana).
  • Uproszczono diagnozowanie problemów związanych z podaniem w master.cf nieprawidłowego programu obsługi. Aby wykrywać takie błędy, każda usługa wewnętrzna, w tym postdrop, anonsuje teraz nazwę protokołu przed rozpoczęciem wymiany danych, a każdy proces kliencki, w tym sendmail, sprawdza zgodność zadeklarowanej nazwy protokołu z obsługiwanym wariantem.
  • Dodano nowy typ mapowań «local_login_sender_maps» do elastycznego zarządzania przypisaniem adresu nadawcy envelope (przekazywanego w poleceniu «MAIL FROM» podczas sesji SMTP) do procesów sendmail i postdrop. Na przykład, aby zezwolić lokalnym użytkownikom, z wyjątkiem root i postfix, na podawanie w sendmail wyłącznie własnych loginów z użyciem powiązania UID z nazwą, można zastosować następujące ustawienia: /etc/postfix/main.cf: local_login_sender_maps = inline:{ { root = *}, { postfix = * } }, pcre:/etc/postfix/login_senders /etc/postfix/login_senders: # Dozwolone jest podawanie zarówno loginów, jak i formy login@domena. /(.+)/ $1 $1…@example.com
  • Dodano i domyślnie włączono ustawienie «smtpd_relay_before_recipient_restrictions=yes», przy którym serwer SMTP sprawdza ograniczenia smtpd_relay_restrictions przed smtpd_recipient_restrictions, a nie odwrotnie, jak wcześniej.
  • Dodano parametr «smtpd_sasl_mechanism_list», domyślnie ustawiony na wartość «!external, static:rest», aby zapobiec mylącym błędom w sytuacji, gdy backend SASL deklaruje obsługę trybu «EXTERNAL», który nie jest obsługiwany w Postfix.
  • Przy rozwiązywaniu nazw w DNS domyślnie używany jest nowy API obsługujący wielowątkowość (thread-safe). Aby skompilować ze starym API, należy podczas kompilacji podać «make makefiles CCARGS=»-DNO_RES_NCALLS…».
  • Dodano tryb «enable_threaded_bounces = yes», aby podstawiać powiadomienia o problemach z dostarczeniem, opóźnionej dostawie lub potwierdzeniu dostarczenia z tym samym identyfikatorem wątku (powiadomienie zostanie wyświetlone przez klienta pocztowego w tym samym wątku wraz z pozostałymi wiadomościami korespondencji).
  • Domyślnie zaprzestano używania systemowej bazy danych /etc/services do określania numerów portów TCP dla SMTP i LMTP. Zamiast tego numery portów konfiguruje się za pomocą parametru known_tcp_ports (domyślnie lmtp=24, smtp=25, smtps=submissions=465, submission=587). Jeśli jakaś usługa nie została uwzględniona w known_tcp_ports, nadal używany jest plik /etc/services.
  • Poziom zgodności («compatibility_level») został podniesiony do wartości «3.6» (wcześniej parametr zmieniano dwukrotnie; oprócz 3.6 obsługiwane są wartości 0 (domyślnie), 1 i 2). Od teraz «compatibility_level» będzie zmieniany na numer wersji, w której wprowadzono zmiany naruszające zgodność. Do sprawdzania poziomów zgodności w main.cf i master.cf dodano osobne operatory porównania, takie jak «<=level» i «< level» (standardowe operatory porównania się nie nadają, ponieważ uznają 3.10 za mniejsze niż 3.9).

Źródło: opennet.ru

Kup niezawodny hosting stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron z ochroną DDoS, serwery VPS VDS - ProHoster