| Termin | Definicja |
|---|---|
| Exim | Exim to popularne oprogramowanie agenta transferu poczty (MTA), wykorzystywane na wielu serwerach linuksowych. Exim jako agent transferu pocztyExim jest agentem transferu poczty, czyli oprogramowaniem MTA (Mail Transfer Agent), którego zadaniem jest przyjmowanie, przekazywanie i dostarczanie wiadomości elektronicznych między systemami pocztowymi. Jest rozwijany jako wolne oprogramowanie i od lat jest używany przede wszystkim w środowiskach uniksowych oraz linuksowych. Exim może obsługiwać pocztę wychodzącą z lokalnych programów, przyjmować wiadomości przez SMTP, przekazywać je do innych serwerów oraz dostarczać je do skrzynek znajdujących się lokalnie. Exim nie jest klientem pocztowym takim jak program uruchamiany na laptopie ani samą skrzynką pocztową. Nie służy do redagowania wiadomości i nie zastępuje protokołów IMAP lub POP3, które umożliwiają użytkownikowi odczyt poczty. Jego rolą jest transport wiadomości oraz podejmowanie decyzji dotyczących dalszej drogi przesyłki. W typowym przepływie Exim otrzymuje wiadomość od aplikacji albo innego serwera SMTP, analizuje adres odbiorcy, wybiera trasę i przekazuje wiadomość do odpowiedniego transportu. Trasy, transporty i konfiguracja EximaJedną z charakterystycznych cech Exima jest rozdzielenie logiki routingu od sposobu dostarczenia wiadomości. Router określa, co należy zrobić z adresem odbiorcy: wiadomość może zostać dostarczona do lokalnej skrzynki, przekazana do innego hosta, skierowana przez określony relay albo odrzucona. Transport wykonuje później konkretną operację, na przykład zapisuje wiadomość w lokalnym systemie pocztowym lub otwiera połączenie SMTP z kolejnym serwerem. Konfiguracja Exima opisuje między innymi kolejność routerów i transportów, zasady przyjmowania połączeń oraz zachowanie w przypadku błędów. W Exim 4 konfiguracja jest zwykle generowana lub dostarczana jako rozbudowany plik tekstowy, którego składnia pozwala definiować warunki, zmienne, listy adresów i reguły przetwarzania. Błąd w konfiguracji może zmienić sposób kwalifikowania domeny jako lokalnej, spowodować odrzucanie prawidłowych wiadomości albo doprowadzić do niezamierzonego przekazywania poczty. Dlatego przy analizie problemu trzeba rozdzielić błąd składni konfiguracji od błędu logicznego w kolejności reguł. Exim może korzystać z rekordów DNS, w szczególności rekordów MX, aby ustalić serwer odpowiedzialny za pocztę dla domeny odbiorcy. Jeżeli wiadomość nie może zostać dostarczona natychmiast, trafia do kolejki. Mechanizm kolejkowania pozwala ponawiać próby połączenia, gdy zdalny serwer jest niedostępny, odrzuca wiadomość tymczasowo albo występuje problem z rozwiązywaniem nazw. Inaczej traktowane są błędy tymczasowe, a inaczej trwałe odrzucenia, ponieważ te pierwsze mogą uzasadniać kolejną próbę dostarczenia. SMTP, ACL i ślady diagnostyczneExim obsługuje komunikację SMTP, w której wiadomość jest przekazywana etapami obejmującymi połączenie, przedstawienie klienta, wskazanie nadawcy, wskazanie odbiorcy oraz przesłanie treści. Reguły ACL (Access Control List) mogą podejmować decyzje na poszczególnych etapach sesji. Mogą sprawdzać między innymi adres IP klienta, nazwę hosta, domenę nadawcy, adres odbiorcy oraz wyniki uwierzytelniania. Odrzucenie na etapie adresu nadawcy różni się od odrzucenia po przesłaniu całej treści, dlatego w logach należy ustalić dokładny etap zakończenia sesji. W środowisku wymagającym uwierzytelniania Exim może współpracować z mechanizmami SMTP AUTH, a połączenia mogą być chronione przez TLS. Sam fakt ustanowienia szyfrowanego połączenia nie oznacza jednak, że nadawca został uwierzytelniony. Są to odrębne elementy sesji: TLS chroni transmisję, natomiast SMTP AUTH potwierdza tożsamość klienta według skonfigurowanego mechanizmu. Nieprawidłowe rozdzielenie tych warunków może skutkować odrzucaniem legalnych klientów albo zbyt szerokim zezwoleniem na wysyłkę. Podstawowym źródłem informacji podczas diagnostyki są logi Exima. W zależności od konfiguracji można w nich znaleźć identyfikator wiadomości, adres nadawcy, adres odbiorcy, wynik dostarczenia, nazwę zdalnego hosta, kod odpowiedzi SMTP oraz informację o odłożeniu wiadomości do kolejki. Identyfikator wiadomości pozwala połączyć wpis dotyczący przyjęcia przesyłki z późniejszymi próbami dostarczenia. Jeżeli wiadomość pozostaje w kolejce, trzeba sprawdzić, czy przyczyną jest błąd DNS, niedostępność hosta, odmowa połączenia, odrzucenie przez zdalny serwer czy problem z lokalnym transportem. Rozpoznawanie problemów w działaniu EximaObjawy awarii Exima mogą wyglądać podobnie, mimo że ich przyczyny znajdują się w różnych częściach przepływu. Brak możliwości wysyłania może wynikać z odrzucenia klienta przez ACL, nieudanego uwierzytelniania, błędnego routingu, problemu z DNS albo zablokowania połączenia wychodzącego. Brak odbioru wiadomości może być związany z nasłuchiwaniem na niewłaściwym adresie lub porcie, niepoprawną konfiguracją domen lokalnych, błędnym certyfikatem TLS albo odrzuceniem wiadomości jeszcze przed zapisaniem jej w kolejce. Podczas sprawdzania systemu warto prześledzić pełną drogę jednej wiadomości: moment przekazania jej do Exima, decyzję routera, wybór transportu, wpis w kolejce oraz końcową odpowiedź serwera docelowego. Sama obecność procesu Exima nie potwierdza prawidłowego działania. Proces może działać, a jednocześnie nie przyjmować połączeń, odrzucać odbiorców lub odkładać wszystkie wiadomości z powodu błędu routingu. Również rosnąca kolejka nie zawsze oznacza awarię, ponieważ może być skutkiem czasowej niedostępności zewnętrznego serwera, ale powtarzalny błąd dla wielu domen wymaga sprawdzenia wspólnego elementu konfiguracji. W przypadku komputera używanego do obsługi poczty diagnostyka powinna obejmować stan usługi, dostępność portów, poprawność nazw DNS, zawartość logów, uprawnienia plików konfiguracyjnych oraz możliwość lokalnego zapisu i odczytu kolejki. Należy również sprawdzić, czy zmiana konfiguracji została rzeczywiście załadowana przez działający proces i czy połączenia TLS korzystają z właściwych plików certyfikatu oraz klucza. Naprawa problemu wymaga zachowania zgodności między konfiguracją Exima, ustawieniami systemu operacyjnego i wymaganiami zdalnych serwerów SMTP. |