DKIM: bezpieczeństwo e-mail dzieki podpisom cyfrowym

Poznaj mechanizm bezpieczeństwa DKIM. Co to jest? Jak działa? Jak sprawdzić i jak wdrożyć zabezpieczenie DomainKeys Identified Mail dla poczty e-mail.

Posiadając własną stronę internetową, obojętnie czy jest to mały blog, witryna firmowa czy duży sklep internetowy, z pewnością będziesz chciał używać poczty elektronicznej z nazwą Twojej domeny (czyli z takim adresem, jaki posiada Twoja strona www). Pomimo, iż powstają też inne kanały komunikacji online (np. Messenger czy WhatsApp), E-mail wciąż jest bardzo popularny i z roku na rok rośnie liczba wysyłanych i odbieranych wiadomości.

Samo stworzenie adresu mailowego we własnej domenie jest proste, ale ta podstawowa konfiguracja nie zapewnia Ci odpowiedniego bezpieczeństwa. Musisz mieć świadomość, że spoczywa na Tobie (lub osobach, które do tego zatrudnisz) odpowiedzialność za zabezpieczenie wysyłanych wiadomości przed np. phishingiem. Jednym z mechanizmów podnoszących bezpieczeństwo korzystania z poczty elektronicznej jest DKIM.

🏆️ Zobacz ranking hostingów (Październik 2021)

Co to jest DKIM?

DKIM (DomainKeys Identified Mail) to standard uwierzytelniania poczty elektronicznej poprzez weryfikację podpisu cyfrowego, który jest dołączony do wysyłanych wiadomości.

Mówiąc w sposób bardzo uproszczony, DKIM to pewnego rodzaju mechanizm, który ma zagwarantować, że wysyłana wiadomość mailowa pochodzi od właściciela adresu poczty elektronicznej.

W 2007 roku Yahoo! (w zasadzie ta firma dała początek technologii DKIM) radośnie informowało o oficjalnym wprowadzeniu DKIM, opisując tą technologię jako “One small step for email, one giant leap for Internet safety”. I rzeczywiście był to wielki krok dla bezpieczeństwa w internecie.

W jaki sposób działa DKIM?

Aby zrozumieć podstawy działania DKIM, powinieneś wiedzieć o kilku podstawowych zagadnieniach, związanych z pocztą elektroniczną i domenami:

  • wysyłana wiadomość e-mail oprócz treści, którą Ty napisałeś, składa się jeszcze z nagłówka (zawiera on m.in. temat, datę) oraz koperty SMTP (są tam informacje bardziej techniczne, które służą do komunikacji między serwerami pocztowymi)
  • za obsługę wiadomości w sensie technicznym odpowiada serwer pocztowy. Jeżeli jesteś klientem jakieś firmy hostingowej, z panelu administracyjnego masz również dostęp do serwera pocztowego, czyli specjalnego oprogramowania obsługującego pocztę. Wyróżniamy serwer poczty wychodzącej (a więc ten, który obsługuje wysyłane maile), jak i poczty przychodzącej (czyli odbieranie wiadomości)
  • do działania DKIM potrzebne są tzw. klucze. W zasadzie jest to para kluczy: klucz prywatny i pasujący do niego klucz publiczny
  • domena posiada specjalny panel sterowania o nazwie strefa DNS, w której znajdują się różne ustawienia domeny. Jest to coś w rodzaju tabeli, do której dodawane są rekordy. Każdy rekord ma określony typ, nazwę i wartość. Aby DKIM mógł funkcjonować, należy również dodać do domeny odpowiedni rekord.

Podstawowy schemat działania DKIM wygląda w następujący sposób:

DKIM
Zasada działania DKIM
  1. do nagłówka wysyłanej przez Ciebie wiadomości mailowej Twój serwer poczty wychodzącej dołącza podpis cyfrowy, który został wygenerowany na podstawie klucza prywatnego
  2. serwer poczty przychodzącej (ten po stronie adresata wiadomości) sprawdza, czy zaszyfrowany klucz prywatny w nagłówku Twojego maila pasuje do klucza publicznego Twojej domeny (znajdującego się w strefie DNS), a następnie:
  3. odrzuca wiadomość lub przekazuje ją do SPAMU odbiorcy, jeśli klucz prywatny nie pasuje do publicznego lub przekazuje maila do skrzynki odbiorczej, jeśli klucze pasują do siebie

Jak wdrożyć DKIM?

To pytanie jest może nieco na wyrost, ponieważ w praktyce, jako klient jakiejś firmy hostingowej, powinieneś jedynie zweryfikować, czy technologia DKIM jest w ogóle włączona na Twoim hostingu i czy działa prawidłowo dla domen, które wykorzystujesz na potrzeby adresów mailowych. Tak naprawdę wdrożenie od podstaw powinno leżeć na barkach administratora hostingu.

Nadmienię tylko, że jeśli stoisz dopiero przed wyborem odpowiedniego hostingu, zainteresuj się DKIM już na tym etapie – sprawdź, którzy hostingodawcy oferują tę technologię i uznaj DKIM za ważne kryterium wyboru serwera.

Jeżeli już korzystasz z jakiegoś hostingu, możesz wykorzystać któryś z poniższych sposobów, aby dowiedzieć się, czy DKIM działa poprawnie dla Twojej domeny.

Pierwszy sposób:

Musisz zajrzeć, do wspomnianej już wcześniej, strefy DNS. Dostęp do niej możliwy jest z poziomu panelu administracyjnego hostingu, gdzie delegowana została domena i umieszczona jest Twoja strona. Zaloguj się po prostu na swój serwer, na którym funkcjonuje strona i poczta mailowa. 

Jeżeli dysponujesz hostingiem z panelem administracyjnym DirectAdmin, wystarczy przejść do opcji “Zarządzanie strefą DNS”, a następnie spojrzeć, jakie rekordy zostały przypisane do domeny. Za DKIM odpowiada osobny rekord (najczęściej) o nazwie “x._domainkey”, typie TXT, a wartością tego rekordu jest właśnie klucz publiczny domeny. DKIM powinieneś odnaleźć bardzo szybko, poniżej przedstawiam screen, jak to może wyglądać w praktyce:

Rekord DKIM wpisany do DNS w DirectAdmin
Rekord DKIM wpisany do DNS w DirectAdmin

Jeżeli na liście rekordów nie ma tego z wartością DKIM, to znaczy, że ta technologia nie została wdrożona dla Twojej domeny. 

Drugi sposób:

Tutaj opiszę w jaki sposób podejrzeć nagłówek wiadomości mailowej. Do tego celu potrzebujesz dwa adresy e-mail:

  • adres nr 1, czyli ten z którego wysyłasz maila, na domenie, na której chcesz wdrożyć DKIM
  • adres nr 2, w tym przykładzie będzie to adresat wiadomości, skorzystaj najlepiej z konta Gmail.

Wyślij maila z adresu nr 1 na nr 2. Zaloguj się na swoje konto Gmail, odszukaj i otwórz wiadomość, wysłaną z adresu nr 1, wybierz 3 pionowe kropki po prawej stronie u góry, a następnie przejdź do opcji “Pokaż oryginał”. 

Gmail -> pokaż oryginał wiadomości e-mail
Gmail -> pokaż oryginał wiadomości e-mail

W nowej karcie otworzy Ci się wiadomość, która wygląda zupełnie inaczej niż tradycyjny e-mail. Znajdziesz tam sporo informacji technicznych, a najważniejszą dla Ciebie jest jej nagłówek. Zobaczysz tam, czy DKIM działa.

Tak wygląda mail z wdrożonym mechanizmem DKIM i poprawną weryfikacją domeny nadawcy (komunikat PASS):

DKIM: PASS
DKIM działa

Poniżej przykład, gdy DKIM nie działa (po prostu nie ma w nagłówku wiadomości wiersza DKIM):

Brak DKIM
Brak DKIM

Co zrobić, jeśli nie mogę odszukać rekordu DNS dla DKIM?

Jeśli stwierdziłeś, np. na podstawie któregoś sposobu powyżej, że Twoja skrzynka mailowa nie współpracuje z DKIM, powinieneś w pierwszej kolejności poszukać takiej opcji w panelu administracyjnym swojego hostingu

Niekiedy zdarza się, że administrator serwera wyłączył domyślnie opcję DKIM, ale jest ona możliwa do włączenia np. w konfiguracji skrzynki pocztowej. Przejrzyj zatem dokładnie panel swojego serwera. Czasem też możesz spotkać kreator, za pomocą którego, uda Ci się włączyć DKIM.

Jeżeli takiej opcji nie znalazłeś, pozostaje Ci kontakt z firmą hostingową i zadanie pytania, czy taka opcja jest w ogóle włączona na serwerze i ewentualnie przesłanie prośby o jej wdrożenie. Administrator serwera powinien zadbać o jej włączenie, a Ty na podstawie jednego z wyżej podanych sposobów, zweryfikuj poprawność włączenia.

Z czego składa się rekord DKIM w DNS?

W weryfikacji poprawności wdrożenia DKIM, na pewno pomoże Ci znajomość parametrów, jakie są używane we wpisie w strefie DNS domeny. Wcześniej wspomniałem już o nazwie i typie (TXT) tego rekordu. Poniżej zobacz, z czego składa się jego wartość:

  • v=DKIM1 – to pewna stała określająca mechanizm DKIM, bez tego zapisu DKIM nie będzie działać
  • k= – odpowiada za rodzaj klucza. Domyślnym typem klucza jest rsa
  • p= – tutaj musi znajdować się publiczny klucz domeny, w kodowaniu Base64

Oczywiście są to podstawowe identyfikatory, oprócz tego możliwe jest rozszerzanie opcji tego rekordu o dodatkowe konfiguracje. Niektóre z opcjonalnych tagów to:

  • x= – wskazuje czas, w którym podpis DKIM został utworzony. Wartość jest wyrażana w sekundach, liczona od 01.01.1970.
  • t= – czas wygaśnięcia podpisu DKIM

W specyfikacji zapoznasz się z pełną listą identyfikatorów (tagów), które mogą być używane w rekordzie DNS

Dlaczego warto używać DKIM?

Jest to technologia darmowa i relatywnie prosta do wdrożenia. W znaczący sposób zwiększa prawdopodobieństwo skutecznej ochrony przed phishingiem. Jest uzupełnieniem innych protokołów odpowiedzialnych za bezpieczeństwo poczty elektronicznej: DMARC i SPF.

Co to jest phishing? Najkrócej mówiąc: phishing to podszywanie się pod inną osobę w celu dokonania jakiegoś oszustwa. Przykładem są maile, które wyglądają jak oficjalne wiadomości z jakieś firmy czy instytucji (np. banku), zawierające w treści np. linki, przekierowujące do stron, które proszą Cię o podanie danych. W ten sposób może nastąpić próba wyłudzenia np. dostępu do konta bankowego.

Phishing jest tematem tak popularnym i niebezpiecznym, że ostrzegają przed nim nawet strony rządowe. Według statystyk jednej z amerykańskich firm, 75% organizacji w 2020 roku doświadczyło ataku phishingowego.

Każdy internauta powinien być zaznajomiony z tematem phishingu, aby nie dać się oszukać. Natomiast Ty, jako właściciel swojego adresu mailowego powinieneś dołożyć starań, aby nikt nie podszył się pod Ciebie lub Twoją firmę

Czy DKIM daje 100-procentowe bezpieczeństwo?

Nie. Technologia ta znacząco zmniejsza ryzyko zagrożeń, ale w celu zapewnienia jeszcze większego bezpieczeństwa rekomenduję używanie dodatkowych zabezpieczeń, m.in. SPF i DMARC.

Podsumowanie

Bezpieczeństwo poczty elektronicznej jest ważnym aspektem funkcjonowania biznesu. Kontakt z kontrahentami musi odbywać się w sposób sprawny i bezpieczny. Jednak nie tylko firmy powinny być zainteresowane wdrożeniem DKIM. W zasadzie jest to ważny mechanizm dla każdego, kto dysponuje własną domeną i chce w ramach niej korzystać z adresów mailowych. 

Znając już zalety, jakie niesie ze sobą DKIM w połączeniu z bardzo prostym i darmowym wdrożeniem, odpowiedź na to, czy warto wdrożyć DKIM powinna zawsze brzmieć TAK.

Mechanizm ten powinien zainteresować każdego już na etapie wyboru hostingu, tak aby wybrać serwer, które wspiera DKIM.

Szukasz bezpiecznego hostingu ze wsparciem dla DMARC? Zobacz na ranking hostingów, w którym znajdziesz hostingi przetestowane pod kątem bezpieczeństwa, z których zdecydowana większość obsługuje DMARC „z automatu”.

Każdy z hostingów w tym zestawieniu został przeze mnie gruntownie przetestowany i zrecenzowany (w tym pod kątem DMARC i bezpieczeństwa poczty), aby upewnić się, że polecam wyłącznie bezpieczne, sprawdzone i pewne rozwiązania. Zapraszam.