Wydanie serwera pocztowego Postfix 3.6.0

Po roku rozwoju wydano nową stabilną gałąź serwera pocztowego Postfix - 3.6.0. Jednocześnie ogłosił koniec wsparcia dla wydanej na początku 3.2 roku gałęzi Postfix 2017. Postfix to jeden z nielicznych projektów, który łączy w sobie jednocześnie wysokie bezpieczeństwo, niezawodność i wydajność, co zostało osiągnięte dzięki przemyślanej architekturze i dość rygorystycznej polityce projektowania kodu i audytu poprawek. Kod projektu jest rozpowszechniany na licencji EPL 2.0 (licencja publiczna Eclipse) i IPL 1.0 (licencja publiczna IBM).

Według kwietniowego automatycznego badania obejmującego około 600 tysięcy serwerów pocztowych Postfix jest używany na 33.66% (rok temu 34.29%) serwerów pocztowych, udział Exima 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 innowacje:

  • Ze względu na zmiany w wewnętrznych protokołach używanych do interakcji pomiędzy komponentami Postfixa, przed aktualizacją wymagane jest zatrzymanie serwera pocztowego za pomocą polecenia „postfix stop”. W przeciwnym razie mogą wystąpić błędy podczas interakcji z procesami odbioru, qmgr, weryfikacji, tlsproxy i postscreenu, co może skutkować opóźnieniem w wysyłaniu wiadomości e-mail do czasu ponownego uruchomienia Postfix.
  • Usunięto wzmianki o słowach „biały” i „czarny”, postrzeganych przez niektórych członków społeczności jako dyskryminacja rasowa. Zamiast „białej listy” i „czarnej listy” należy teraz używać „list dozwolonych” i „list odrzuconych” (na przykład parametry postscreen_allowlist_interfaces, postscreen_denylist_action i postscreen_dnsbl_allowlist_threshold). Zmiany dotyczą dokumentacji, ustawień procesu postscreen (wbudowana zapora sieciowa) oraz odzwierciedlenia informacji w logach. postfix/postscreen[pid]: ALLOWLIST VETO [adres]:port postfix/postscreen[pid]: ALLOWLISTED [adres]:port postfix/postscreen[pid]: DENYLISTED [adres]:port

    Aby zachować w logach poprzednie terminy, udostępniany jest parametr „respectful_logging = no”, który należy podać w pliku main.cf przed „compatibility_level = 3.6”. Zachowano obsługę starych nazw ustawień ekranu końcowego w celu zapewnienia kompatybilności wstecznej. Również plik konfiguracyjny „master.cf” pozostał na razie niezmieniony.

  • W trybie „poziom_kompatybilności = 3.6” dokonano domyślnego przełącznika, aby używać funkcji skrótu SHA256 zamiast MD5. Jeśli w parametrze compliance_level ustawisz wcześniejszą wersję, MD5 będzie nadal używany, jednak w przypadku ustawień związanych z użyciem skrótów, w których algorytm nie jest jawnie zdefiniowany, w logu wyświetli się ostrzeżenie. Zaprzestano obsługi wersji eksportowej protokołu wymiany kluczy Diffiego-Hellmana (wartość parametru tlsproxy_tls_dh512_param_file jest teraz ignorowana).
  • Uproszczona diagnostyka problemów związanych ze wskazaniem nieprawidłowego programu obsługi w pliku master.cf. Aby wykryć takie błędy, każda usługa backendu, w tym postdrop, anonsuje teraz nazwę protokołu przed rozpoczęciem komunikacji, a każdy proces kliencki, w tym sendmail, sprawdza, czy anonsowana nazwa protokołu pasuje do obsługiwanego wariantu.
  • Dodano nowy typ mapowania „local_login_sender_maps” w celu elastycznej kontroli nad przypisaniem adresu kopertowego nadawcy (podawanego w poleceniu „MAIL FROM” podczas sesji SMTP) do procesów sendmail i postdrop. Na przykład, aby umożliwić użytkownikom lokalnym, z wyjątkiem roota i postfixa, określenie tylko swoich loginów w sendmailu, używając powiązania UID z nazwą, możesz użyć następujących ustawień: /etc/postfix/main.cf: local_login_sender_maps = inline :{ { root = *} , { postfix = * } }, pcre:/etc/postfix/login_senders /etc/postfix/login_senders: # Dozwolone jest podanie zarówno loginu, jak i formularza login@domena. /(.+)/ 1 $ 1…@example.com
  • Dodano i włączono domyślnie ustawienie „smtpd_relay_before_recipient_restrictions=yes”, w którym serwer SMTP będzie sprawdzał smtpd_relay_restrictions przed smtpd_recipient_restrictions, a nie odwrotnie jak poprzednio.
  • Dodano parametr „smtpd_sasl_mechanism_list”, który domyślnie ma wartość „!external, static:rest”, aby zapobiec mylącym błędom w przypadku, gdy backend SASL twierdzi, że obsługuje tryb „EXTERNAL”, który nie jest obsługiwany w Postfixie.
  • Podczas rozpoznawania nazw w DNS domyślnie włączone jest nowe API obsługujące wielowątkowość (threadsafe). Aby budować przy użyciu starego API, podczas budowania należy określić „make makefiles CCARGS=”-DNO_RES_NCALLS…”.
  • Dodano tryb „enable_threaded_bounces = Yes”, aby zastąpić powiadomienia o problemach z dostawą, opóźnionej dostawie lub potwierdzeniu dostarczenia tym samym identyfikatorem dyskusji (powiadomienie będzie wyświetlane przez klienta pocztowego w tym samym wątku, wraz z innymi wiadomościami korespondencyjnymi).
  • Domyślnie systemowa baza danych /etc/services nie jest już używana do określania numerów portów TCP dla SMTP i LMTP. Zamiast tego numery portów są konfigurowane za pomocą parametru znane_tcp_ports (domyślnie lmtp=24, smtp=25, smtps=submissions=465, przesyłanie=587). Jeśli w znanych_portach_tcp_portów brakuje jakiejś usługi, plik /etc/services będzie nadal używany.
  • Poziom kompatybilności („compatibility_level”) został podniesiony do „3.6” (parametr był w przeszłości zmieniany dwukrotnie, z wyjątkiem 3.6 obsługiwane wartości to 0 (domyślnie), 1 i 2). Od tego momentu „poziom_kompatybilności” zmieni się na numer wersji, w której wprowadzono zmiany naruszające kompatybilność. Aby sprawdzić poziomy kompatybilności, do plików main.cf i master.cf dodano osobne operatory porównania, takie jak „<=poziom” i „<poziom” (standardowe operatory porównania nie są odpowiednie, ponieważ uznają 3.10 za mniej niż 3.9).

Źródło: opennet.ru

Dodaj komentarz