Co to jest DKIM & SPF? I jak to ustawić?

Cathy-Dawiskiba-CMO-at-Woodpecker

To jest poważny temat. Chodzi o dostarczalność twoich emaili. Wiem z własnego doświadczenia, że te akronimy mogą brzmieć obco, przerażająco i mogą wydawać się zupełnie nieciekawe. A może brzmią znajomo, ale nigdy nie dbałeś o to, by sprawdzić, co naprawdę oznaczają.

Tak czy inaczej, nadszedł czas, aby dowiedzieć się trochę o tym, co to jest SPF i DKIM i jak je ustawić w rekordach DNS dla swojego serwera pocztowego, jeśli chcesz mieć lepszą kontrolę nad dostarczalnością poczty.

Artykuł ten został opublikowany po raz pierwszy w dniu 1 września 2016 roku, a zaktualizowany 14 lipca 2020 roku.

Postaram się to wyjaśnić prostymi słowami, które zostaną zrozumiane nie tylko przez programistów.

Co to jest SPF?

Mówiąc wprost, Sender Policy Framework (SPF) jest mechanizmem bezpieczeństwa stworzonym, aby zapobiec wysyłaniu e-maili w Twoim imieniu przez oszustów. Mechanizm ten polega na komunikacji pomiędzy serwerami DNS… i to jest punkt, w którym wszystko zaczyna brzmieć przerażająco! Ale nie panikuj. Postaram się, żeby wyjaśnić to jak najprościej.

Powiedzmy, że wysłałeś maila do Boba. Ale skąd serwer DNS Boba wie, że ten email został wysłany przez ciebie? Problem w tym, że tak naprawdę to nie wie. Chyba, że masz ustawiony SPF w DNS na swoim serwerze.

SPF określa, które adresy IP mogą być używane do wysyłania wiadomości e-mail z Twojej domeny. Wyobraźmy sobie więc dwa możliwe “rozmowy” na serwerze. Aby to wszystko ułatwić, załóżmy, że masz na imię Mike.

Scenariusz 1 – Nie masz ustawionego SPF

Serwer Mike’a: Hej, serwerze Boba. Mam nową wiadomość od Mike’a.

Serwer Boba: Witam na serwerze Mike’a. Jaki jest twój SPF?

Serwer Mike’a: Tak, jeśli chodzi o SPF… Kogo to naprawdę obchodzi. Nie mam go. Zaufaj mi, to email od Mike’a.

Serwer Boba: Jeśli nie masz SPF, nie mogę być pewien, czy to Mike go wysłał. Podaj mi autoryzowane IP Mike’a, żebym mógł porównać je z twoim.

Serwer Mike’a: Nie mam listy autoryzowanych adresów IP Mike’a.

Serwer Boba: Więc nie chcę twojej wiadomości. Nie dostarczę jej. Przepraszam, kolego…

Scenariusz 2 – Masz ustawiony SPF

Serwer Mike’a: Hej, serwerze Boba. Mam nową wiadomość od Mike’a.

Serwer Boba: Witam na serwerze Mike’a. Jaki jest twój SPF?

Serwer Mike’a: Proszę bardzo, oto mój SPF. Jest cała lista IP, które sam Mike zadeklarował jako te, które mogą być użyte w jego imieniu.

Serwer Boba: Ok, pozwól mi zobaczyć… Wiadomość, którą masz dla mnie jest wysłana z IP 64.233.160.19. Ok, jest na liście. Wszystko wygląda dobrze. Daj mi tę wiadomość, pokażę ją Bobowi. Dzięki!

Przepraszam wszystkich zaawansowanych technicznie czytelników tego bloga za to ignoranckie uproszczenie. Proszę wybaczyć nam laikom i pamiętać, że zazdrościmy wam waszych super-analitycznych umysłów.

W każdym razie, morał tych dwóch krótkich dialogów jest następujący: ustaw swój SPF. Jeśli tego nie zrobisz, możesz wyglądać na oszusta, a nie wszystkie twoje e-maile zostaną dostarczone.

Jakie aplikacje należy dodać do swojego SPF?

Ogólną zasadą jest upewnienie się, że wszystkie aplikacje, które wysyłają emaile w twoim imieniu (i korzystają z własnego SMTP, a nie twojego) są zawarte w twoim SPF. Na przykład, jeśli używasz Google Apps do wysyłania emaili ze swojej domeny, powinieneś umieścić Google w swoim SPF. Oto instrukcja Google jak to zrobić.

Ale ważne jest, aby upewnić się, czy Google jest jedyną aplikacją, którą należy autoryzować w swoim SPF. Na przykład, używamy HelpScout do zarządzania naszymi e-mailami pomocy technicznej i MailChimp do wysyłania naszego newslettera. Obydwa z nich dodaliśmy do naszego SPF.

Czy do mojego SPF należy dodać również Woodpeckera?

Nie. Jak już wspomniałam, powinieneś pamiętać, aby dodać do swojego SPF aplikacje, które wysyłają e-maile w twoim imieniu, ale używają własnego SMTP. Woodpecker używa twojego SMTP do wysyłania emaili, więc jest to bardziej klient pocztowy z super mocami niż aplikacja do wysyłania masowych emaili.

Dostarczalność e-maili wysyłanych przez Woodpeckera zależy od reputacji twojej domeny. Ustawienie SPF i DKIM pomoże Ci chronić dobrą reputację twojej domeny, a tym samym poprawić dostarczalność twoich e-maili.

Jak krok po kroku skonfigurować rekord SPF na swoim serwerze?

Pierwszym krokiem jest sprawdzenie, jaki jest twój obecny SPF. Możesz to zrobić używając takich narzędzi jak:

Kiedy wpiszesz tam swoją domenę (np. ja wpisałabym woodpecker.co), narzędzia przeprowadzą kilka testów i pokażą ci twój aktualny SPF lub powiadomienie, że nie został on jeszcze ustawiony.

Jakie są następne kroki?

W zależności od hosta twojej domeny, kroki będą się różnić. Zasadniczo, chodzi o wklejenie we właściwe miejsce w konsoli odpowiednio skonstruowanego wiersza tekstu.

Na przykład, jeśli używasz Google Apps do wysyłania wszystkich wiadomości e-mail z twojej domeny, linia będzie wyglądać tak:

“v=spf1 include:_spf.google.com ~all”

Część “v=spf1” rekordu nazywana jest wersją, a te, które następują po niej nazywane są parametrami.

Teraz zobaczmy, co każda z części dokładnie oznacza.

  1. v=spf1 ten element oznacza wersję SPF
  2. include:_spf.google.com to oznaczenie autoryzowanego serwera poczty
  3. ~all ten fragment mówi o tym, że jeśli email został wysłany z nieautoryzowanego serwera zostaje oznaczony jako “soft fail” – może być przepuszczony, ale może też zostać oflagowany przez spam filtry.

Jeśli jednak korzystasz z większej ilości aplikacji niż ta (na przykład coś do wysyłania newslettera, coś do wysyłania wiadomości wsparcia technicznego, itp.) Albo jeśli nie używasz Google Apps, ale innego hosta, na przykład GoDaddy, linia będzie wyglądać inaczej.

Oto jak skonfigurować SPF dla najbardziej popularnych hostów domen:

Najlepiej jest poprosić o pomoc kogoś technicznego. Będzie on wiedział jak sformułować tekst i szybko znajdzie odpowiednie miejsce do wklejenia go.

Jeśli obecnie używasz lub testujesz Woodpeckera i nie jesteś pewien, czy twój SPF jest prawidłowo ustawiony, możesz sprawdzić to bezpośrednio w aplikacji: idź do USTAWIENIA > KONTAKTY EMAILOWE > DOSTAWA (po lewej stronie) lub skontaktuj się z nami na [email protected], aby uzyskać indywidualną pomoc.

Co to jest DKIM?

Standard DomainKeys Identified Mail (DKIM) został stworzony z tego samego powodu co SPF: aby zapobiec podszywaniu się oszustów pod ciebie jako nadawcę wiadomości e-mail. Jest to sposób na dodatkowe podpisywanie twoich emaili, dzięki czemu serwer odbiorcy sprawdzi czy nadawca był naprawdę tobą czy nie.

Ustawiając DKIM w DNS, dodajesz dodatkowy sposób, aby powiedzieć odbiorcom “tak, to naprawdę ja wysyłam tę wiadomość”.

Cały pomysł polega na zaszyfrowaniu i odszyfrowaniu dodatkowego podpisu, umieszczonego w nagłówku wiadomości. Aby to umożliwić, musisz mieć dwa klucze:

  • klucz prywatny (który jest unikalny dla twojej domeny i dostępny wyłącznie dla Ciebie. Pozwala on na zaszyfrowanie podpisu w nagłówku wiadomości).
  • klucz publiczny (który dodajesz do swoich rekordów DNS za pomocą DKIM, aby umożliwić serwerowi odbiorcy odszyfrowanie ukrytego podpisu z nagłówka wiadomości).

W zrozumieniu DKIM może pomóc taki przykład z Gry o Tron. Ned Stark wysyła kruka z wiadomością do króla Roberta. Każdy mógł wziąć kawałek papieru, napisać wiadomość i podpisać ją Ned Stark. Ale jest sposób na uwierzytelnienie wiadomości – pieczęć. Teraz każdy wie, że pieczęć Neda jest wilkorem (to jest klucz publiczny). Ale tylko Ned ma oryginalną pieczęć i może umieścić ją na swoich wiadomościach (to jest klucz prywatny).

Ustawienie DKIM to po prostu umieszczenie informacji o kluczu publicznym w rekordach twojego serwera. Jest to również rekord txt, który musi być umieszczony we właściwym miejscu.

Gdy już to ustawisz, za każdym razem, gdy ktoś dostanie od ciebie wiadomość, serwer odbiorcy będzie próbował rozszyfrować twój ukryty podpis przy użyciu klucza publicznego. Jeśli się to uda, to dodatkowo uwierzytelni twoją wiadomość i w rezultacie zwiększy dostarczalność wszystkich twoich emaili.

Jak krok po kroku skonfigurować rekord DKIM na swoim serwerze?

Po pierwsze, musisz wygenerować klucz publiczny. W tym celu należy zalogować się do konsoli administratora dostawcy poczty elektronicznej. Kolejne kroki mogą się różnić w zależności od dostawcy poczty elektronicznej.

Jeśli używasz Google Apps do wysyłania e-maili, oto instrukcja krok po kroku. Użytkownicy aplikacji Google Apps, powinni wiedzieć, że domyślnie podpisy DKIM są wyłączone, więc trzeba je włączyć ręcznie w konsoli Google Admin.

Gdy posiadasz klucz publiczny, bierzesz wygenerowany rekord txt i wklejasz go we właściwym miejscu do swoich rekordów DNS.

Na koniec, musisz włączyć podpisywanie wiadomości e-mail, aby rozpocząć wysyłanie wiadomości e-mail zawierających podpis zaszyfrowany kluczem prywatnym. Oto jak to zrobić, jeśli używasz Google Apps do wysyłania wiadomości e-mail.

Oto jak ustawić DKIM w niektórych z pozostałych hostów domeny:

Ponownie, najlepiej jest poprosić kogoś technicznego o pomoc. Będzie on wiedział lub szybko znajdzie, jak wygenerować klucz i gdzie ustawić wszystko, aby DKIM działał poprawnie dla ciebie.

Jeśli obecnie używasz Woodpeckera i nie masz informatyka, którego poprosiłbyś o pomoc w ustawieniach SPF i DKIM, możesz skontaktować się z nami na [email protected], aby uzyskać indywidualną pomoc.

Jeśli chcesz sprawdzić, czy Twoje SPF i DKIM są prawidłowo skonfigurowane, możesz to zrobić w aplikacji: przejdź do SETTINGS > EMAIL ACCOUNTS > DELIVERABILITY (po lewej stronie).

Skonfiguruj SPF i DKIM i popraw swoją dostarczalność

Jeśli wysyłasz dużo e-maili, czy to marketingowych, czy to do sprzedaży inboundowej lub outboundowej, reputacja twojej domeny jest kluczowa i powinieneś naprawdę o nią dbać. Nie chcesz, aby twoja domena dostała się na czarną listę, a twoje wiadomości email skończyły w spamie. Prawidłowe ustawienie rekordów SPF i DKIM w DNS serwera jest niezbędnym krokiem w kierunku bezpieczeństwa domeny i wysokiej dostarczalności twoich wiadomości.

Ustawienie go może wydawać się skomplikowane, ale bez wątpienia warto się postarać. Gdybym była tobą, weszłabym na moje konto w Woodpeckerze w zakładkę Dostarczalność i sprawdziła, czy moje SPF i DKIM są teraz poprawnie ustawione lub poprosiła moich informatyków, aby to zrobili (jeśli nie jesteś użytkownikiem Woodpeckera). A gdyby okazało się, że odpowiedź brzmi “nie”, poprosiłabym ich, żeby mi pomogli. I nie pozwoliłabym im się spławić. Nie w tym wypadku.

Sprawdź również te cztery posty na temat dostarczalności emaili: