SPF – Sender Policy Framework

DKIM – DomainKeys Identified Mail

DMARC – Domain-based Message Authentication, Reporting and Conformance

SPF

SPF – W momencie, gdy wiadomość email zostaje wysłana z naszego serwera pocztowego, który określmy jako serwer 🅰️ serwer odbiorcy, który nazwijmy 🅱️ sprawdza, czy serwer pocztowy, z którego została ona wysłana, czyli 🅰️ jest uprawniony do realizacji tej wysyłki. Serwer 🅱️ w tym celu odpytuje rekordy DNS sprawdzając, czy znajduje się wśród nich wpis TXT odpowiadający za politykę SPF.

https://www.dmarcanalyzer.com/spf/checker/

https://mxtoolbox.com/

Przykład:

pełna konwersacja SMTP między serwerami poczty. Wiersze z ==> wskazują coś, co wysyła serwer odbierający (teamits105); wiersze z <– wskazują to, co odpowiada serwer wysyłający. Załóżmy, że serwer wysyłający łączy się z adresu IP 64.233.167.99.

==> 220 teamits105.teamITS.net ESMTP Sendmail 8.13.6.20060614/8.13.6; Wed, 6 Dec 2007 14:27:47 -0600 (CST)
<-- HELO teamits104.teamITS.net
==> 250 teamits105.teamITS.net Hello py-in-f99.google.com [64.233.167.99], pleased to meet you
<-- mail from: sender@teamITS.com
==> 250 2.1.0 sender@teamITS.com... Sender ok
<-- rcpt to: steve@teamITS.com
==> 250 2.1.5 steve@teamITS.com... Recipient ok
<-- Data
==> 354 Please start mail input.
<-- From: sender@teamITS.com
<-- To: steve@teamITS.com
<-- Subject: Want to buy a widget?
<--
<-- Body text of message.
<-- .
==> 250 Mail queued for delivery.
<-- Quit
==> 221 Closing connection. Good bye.

SPF można sprawdzić w dwóch miejscach. Przede wszystkim, ponieważ serwer wysyłający przedstawił się nam jako HELO teamits104.teamITS.net, możemy sprawdzić, czy istnieje rekord SPF dla hosta teamits104.teamITS.net. A jest nim:

"v=spf1 ip4:204.200.197.197 -all"

Ponieważ adres IP teamits104.teamITS.net to w rzeczywistości 204.200.197.197, to sprawdzenie spowodowałoby niepowodzenie, ponieważ serwer wysyłający łączy się z innego adresu IP: 64.233.167.99. (Sendmail na serwerze odbierającym również zauważa, że nazwa hosta nie pasuje, ponieważ „Hello py-in-f99.google.com…” odpowiedź wskazuje adres IP nadawcy i nazwę hosta znalezioną za pomocą odwrotnego wyszukiwania DNS). Drugi test SPF opiera się na serwerze wysyłającym mówiącym pocztę z: sender@teamITS.com. Sprawdzamy rekord SPF dla teamITS.com i znajdujemy:

"v=spf1 ip4:204.200.197.197 ip4:199.236.109.182 ?include:spf.postini.com ?include:rs.spf.teamits.com ?ip4:192.67.9.40/30 ip4:72.54.24.99 -all"

Ten rekord SPF byłby interpretowany w następujący sposób, zakładając, że znaleziono dopasowanie z adresem IP serwera wysyłającego:

ip4:204.200.197.197          - The IP address shown = Pass
ip4:199.236.109.182          - The IP address shown = Pass
?include:spf.postini.com     - The SPF record for this domain is looked up, and the IP
                               blocks referenced in it = Neutral
?include:rs.spf.teamITS.com  - The SPF record for this domain is looked up, and the IP
                               block referenced in it ("?ip4:128.121.64.0/24") = Neutral
?ip4:192.67.9.40/30          - The IP range shown = Neutral
ip4:72.54.24.99              - The IP address shown = Pass
-all                         - Any other IP address = Fail

Pamiętaj, że serwer wysyłający łączy się z 64.233.167.99. Ponieważ żaden z wpisów w tym rekordzie SPF nie jest zgodny z 64.233.167.99, ta druga kontrola SPF również spowodowałaby niepowodzenie. Na podstawie wyniku niepowodzenia serwer odbierający powinien traktować wiadomość tak, jakby była fałszywa.

DKIM

DKIM korzysta z warstwy zabezpieczenia pozwalającego na ochronę przed atakiem typu phishing. Ten z kolegi polega na nieautoryzowanym użyciu poczty email. Korzystając z DKIM każda wysyłana wiadomość za pomocą serwera pocztowego zawiera zaszyfrowaną sygnaturę. Klucz potrzebny do odszyfrowania tej kłódki znajduje się w rekordzie domeny, do której należy poczta, dzięki czemu mamy pewność, że uwierzytelniona wiadomość nie została zmieniona po jej wysłaniu.

Rekord umieszczany jest w strefie DNS domeny jako typ TXT i musi zawierać selektor DKIM pozwalający na rozróżnienie wielu kluczy DKIM w tej samej domenie [np. dla subdomen]. Nazwa rekordu TXT dla DKIM wygląda więc np. tak:

dkim._poczta.swi.pl
DMARC

DMARC działa skutecznie tylko i wyłącznie wtedy kiedy Twój serwer pocztowy SMTP obsługuje zabezpieczenie SPF lub DKIM. Jego działanie można przyrównać do ochroniarza, który sprawdza, czy wiadomość email ma ważne uprawnienia pozwalające jej dostać się na serwer odbiorcy. Przepustką może być właśnie wspomniany SPF lub DKIM. Jeżeli wiadomość email posiada jedno z zezwoleń [najlepiej kiedy posiada oba] to zostanie ona dostarczona do odbiorcy. Jeżeli jednak wiadomość email nie posiada przepustki to ochroniarz nie pozwoli jej dostać się do serwera SMTP. Mało tego, powiadomi on centralę [w tym przypadku Twoją domenę i przypisaną do DMARC skrzynkę pocztową] o próbie włamania lub też podszycia się pod Twoją organizację.