Trzej jeźdzcy bezpiecznej poczty.
O bezpieczeństwie poczty elektronicznej pisałem w październiku zeszłego roku. Skupiłem się wtedy na dodatkowym zabezpieczeniu naszych wiadomości. Dziś przyjrzymy się bezpieczeństwu od strony odbiorcy i protokołom zabezpieczającym, które są standardem u wszystkich dostawców @: SPF, DKIM i DMARC.
Wszystkie wymienione protokoły mają jeden cel: uchronić nas przed podszywaniem się pod nadawców wiadomości. Jak wiemy, każda wiadomość poczty elektronicznej, poza tekstem i załącznikami, posiada pola 'Od’ oraz 'Do’. W świecie cyfrowym, podobnie jak w fizycznym, w polu 'Od’ mogę podpisać się jako dowolny nadawca – co oczywiście wymaga wiedzy technicznej i dostępu do własnego serwera pocztowego, lecz jest to wykonalne. Problem ten zauważono już dawno, dlatego koncepcja stworzenia odpowiednich zabezpieczeń pojawiła się już w roku 2000. Warto na początek zaznaczyć, że wspomniane protokoły dotyczą bezpieczeństwa domen, czyli tego, co znajduje się za symbolem małpy '@’. Jako ciekawostkę mogę dodać, że @ w innych krajach jest zwana ślimakiem, słoniem, czy też różą. Bezpieczeństwo użytkowników, czyli osób korzystających ze skrzynek pocztowych przed symbolem '@’, jest odrębną kwestią. W przypadku mojego adresu ([email protected]), 'sto12.pl’ jest domeną, a 'kontakt’ to nazwa skrzynki pocztowej.
Podstawy poczty
Przygotowując wiadomość, korzystamy z klienta poczty, czyli aplikacji, która musi posiadać nie tylko nasz login i hasło, ale również pozostałe dane niezbędne do połączenia z serwerem. Jednak ten wpis koncentruje się nie na danych użytkowników, lecz na domenach, które obsługują pocztę elektroniczną, dlatego też nie będę wchodzić w szczegóły autoryzacji użytkowników.
To właśnie serwery są kluczowymi elementami w procesie wysyłania poczty. Kiedy klikniemy „wyślij” (1), nasza wiadomość przesyłana jest do serwera obsługującego naszą pocztę. Serwer szuka w „książce adresowej” (2) gdzie znajduje się serwer odbiorcy, do którego zaadresowaliśmy wiadomość. „Książką adresową” są serwery DNS, które tłumaczą nazwy domen na adresy IP, które są zrozumiałe dla komputerów. Następnie wiadomość trafia na serwer naszego odbiorcy (3), a aplikacja powiadamia o nadejściu wiadomości (4).
Sender Policy Framework
W pierwszym akapicie zaznaczyłem, że wysyłając wiadomość jestem w stanie w polu „od” wstawić dowolny tekst odpowiadający konstrukcji adresów mailowych.
Jak więc to się dzieje, że otrzymując wiadomość z adresu [email protected] mogę być pewien, że dostałem wiadomość od konkretnego ministerstwa, a nie od osoby, która mając własny serwer postanowiła zrobić nam brzydki kawał?
Zawdzięczamy to pierwszemu z protokołów: SPF (Sender Policy Framework). Jego zadaniem jest sprawdzenie, czy serwer pocztowy z którego nadano wiadomość jest upoważniony do korzystania z domeny. Pamiętajmy, że za komunikację w ramach poczty elektronicznej odpowiadają właśnie serwery, aplikacje z których korzystamy, to tylko nakładki.
Spójrzmy na schemat. Kiedy otrzymamy maila (1) wysłanego z adresu [email protected], nasz serwer „odpytuje” DNS (2) i sprawdza gdzie znajduje się serwer odpowiedzialny za odbieranie poczty dla domeny @sto12.pl. Za lokalizację serwera pocztowego przyjmującego pocztę odpowiadają wpisy MX na serwerze DNS. Jeśli wszystko się zgadza, wiadomość ląduje w skrzynce odbiorczej (3), jeśli adres IP serwera nie odpowiada wpisowi w DNS, wiadomość jest odrzucana lub ląduje w spamie (4).
W ramach ćwiczenia polecam sprawdzić narzędzie mxtoolbox, dzięki któremu dowiecie, który serwer odpowiada za moją lub jakąkolwiek inną domenę.
Ja trafiłem do spamu?
Takie informacje (i o wiele więcej), możemy znaleźć, gdy w opcjach naszego klienta poczty poprosimy o „oryginalną wiadomość„. Skupmy się teraz na wierszu SPF, znajduje się tam wpis „SOFTFAIL, IP 136.143.425.10”. Oznacza to, że wiadomość została wysłana z serwera o nr IP 136.143.425.10, który nie jest zarejestrowany w DNS jako uprawniony do wysyłki dla domeny sto12.pl. Ale co dokładnie oznacza 'SOFTFAIL’?
Spójrzmy na wpis dotyczący domeny sto12.pl:
v=spf1 include:_spf.google.com -all
Element ’-all’ na końcu oznacza, że wszystkie wiadomości nie pochodzące z serwerów wymienionych w wpisie (tutaj _spf.google.com) powinny być odrzucone. 'Softfail’ z kolei, oznaczony w polityce jako ~all
, sugeruje, że wiadomości z serwerów nie wymienionych w zasadach SPF powinny być oznaczone jako podejrzane lub spam, ale niekoniecznie odrzucane.
Wiadomość, która trafiła do spamu, wysłałem z serwera Zoho Mail, którego już nie używam i który nie jest autoryzowany do wysyłania wiadomości z domeny sto12.pl. Serwer ten, o IP 136.143.425.10, nie został uwzględniony w DNS jako uprawniony do korzystania z domeny, dlatego jego wiadomości trafiają do spamu. W trakcie testu, w rekordzie SPF określiłem politykę ~all, czyli softfail. Przy obecnej polityce -all, wiadomość nie trafiłaby do skrzynki odbiorczej, tylko została odrzucona przez serwer.
Politykę SPF określa właściciel domeny. Brak jakiejkolwiek polityki SPF sprawia, że podszywanie się pod taką domenę jest niebezpiecznie proste. Wiadomości wysłane przez oszustów mogą być traktowane na równi z tymi wysyłanymi przez prawowitych właścicieli domeny. 'Miękka’ polityka, którą miałem przypisaną dla celów testowych, sprawia, że wiadomość najprawdopodobniej trafi do spamu, choć wiele zależy od polityk stosowanych przez serwer odbiorcy.”
DKIM i DMARC
DKIM (DomainKeys Identified Mail) to protokół, który można postrzegać jako 'wzmocnienie’ protokołu SPF. DKIM dodaje cyfrowy podpis do każdej wiadomości, korzystając z tzw. kluczy asymetrycznych. Jak działają takie klucze? Klucz prywatny, używany do szyfrowania informacji, przechowywany jest na serwerze, który wysyła wiadomości. Drugi klucz, publiczny, jest umieszczany we wpisie DNS i służy do deszyfrowania tych informacji. Dzięki temu, informacje zaszyfrowane kluczem prywatnym można odczytać tylko za pomocą odpowiadającego mu klucza publicznego. Ten sam mechanizm wykorzystuje również technologia OpenPGP.
DMARC (Domain-based Message Authentication, Reporting and Conformance) to protokół służący do monitorowania i raportowania efektywności działania SPF i DKIM. Administratorzy domen korzystają z DMARC do analizy tego, czy wysyłane maile docierają do odbiorców oraz czy zaistniały próby fałszowania tożsamości.
Podsumowanie
Pod powierzchnią tak elementarnych czynności jak korzystanie z poczty elektronicznej, kryją się mniej lub bardziej skomplikowane protokoły. Posiadanie własnej domeny w adresie poczty elektronicznej nie tylko buduje pozytywny wizerunek firmy, ale również wiąże się z ważnymi obowiązkami związanymi z bezpieczeństwem. Niestety, wielu właścicieli domen nadal zapomina o tych zabezpieczeniach lub nie posiada wystarczającej wiedzy na ten temat. Dlatego też kluczowe jest, aby edukować się i implementować te protokoły, co zabezpieczy nie tylko firmową komunikację, ale także zwiększy zaufanie odbiorców do wysyłanych wiadomości.
Jako odbiorcy wiadomości, zachowujmy ostrożność odbierając pocztę elektroniczną. W przypadku otrzymania wiadomości zawierającej ważne informacje, takie jak faktury czy zmiany danych bankowych, zawsze przyglądajmy się uważnie detalom adresu nadawcy i treści wiadomości. Weryfikujmy autentyczność takich informacji za pomocą niezależnych kanałów, na przykład poprzez telefon do kontrahenta.