W dzisiejszym artykule opiszemy DMARC – ciekawą podatność związaną z pocztą elektroniczną, mogącą mieć wpływ na bezpieczeństwo Twojej firmy. Ponadto postaramy się wytłumaczyć działanie innych dwóch podstawowych mechanizmów mających na celu weryfikację nadawcy wiadomości: SPF oraz DKIM.
Poczta elektroniczna to z pewnością jeden z najbardziej popularnych środków komunikacji. Jest też jedną z najstarszych cyfrowych metod wymiany informacji (pierwszy mail wysłano w 1969 r. w ramach sieci komputerowej ARPANET w USA). Ponieważ używana jest zarówno w sferze biznesowej, jak i prywatnej, pozostaje narażona na ataki cyberprzestępców, np. phishing. Szacuje się, że około 95% ataków wykorzystuje wektor związany z pocztą elektroniczną. Pisaliśmy o tym w kampanii o socjotechnice i wciąż do tego nawiązujemy.
Na przestrzeni ostatnich lat powstawały kolejne standardy i mechanizmy, które miały spowodować, że ataki będą coraz trudniejsze do przeprowadzenia. Niestety możliwości ich konfiguracji oraz liczba wariantów doprowadziły do tego, że bardzo często są one nieużywane albo skonfigurowane niepoprawnie. Dlatego jeśli administrujesz pocztą w firmie albo zajmujesz się bezpieczeństwem teleinformatycznym, warto być na bieżąco z wszelkimi zaleceniami lub stosować odpowiednie narzędzia firm trzecich do ochrony.
DMARC, SPF i DKIM – co to za terminy?
Wraz z rosnącą ilością i różnorodnością fałszywych wiadomości e-mail niektórzy klienci poczty (zwłaszcza gmail.com i yahoo.com) zdecydowali się zaktualizować swoje wymogi bezpieczeństwa dotyczące odbierania poczty, wymagając rekordu DMARC, z zamiarem pełnej weryfikacji nadawcy wiadomości e-mail.
Wciąż spotykamy osoby, którym powyższe pojęcia są nieznane. Warto się jednak z nimi zapoznać, gdyż mogą wpływać na bezpieczeństwo poczty (a przynajmniej zmniejszyć ryzyko ataku). DMARC, SPC i DKIM to nic innego jak odpowiednie rekordy w usłudze DNS Twojej domeny konfigurujące mechanizm, który ma za zadanie utrudnić podszywanie się pod nadawcę wiadomości e-mail. Nie będziemy się na ich temat szczegółowo rozpisywać, ponieważ dokładny opis można znaleźć w wielu publikacjach w Internecie lub w standardach RFC7208, RFC6376 oraz RFC7489. Skupimy się na najważniejszym – DMARC-u, oraz krótko objaśniamy pozostałe.
- DKIM (skrót od DomainKeys Identified Mail) pozwala na uwierzytelnienie serwera uprawnionego do wysyłki poczty, za pomocą asymetrycznej kryptografii. Serwery przy odbieraniu wiadomości weryfikują sygnaturę zaszyfrowaną przez nadawcę kluczem prywatnym za pomocą klucza publicznego, jaki jest umieszczony w strefie DNS domeny.
- SPF (skrót od Sender Policy Framework) zapewnia ochronę przed próbami podszywania się pod nadawców poczty elektronicznej (pole MAIL FROM). Jego działanie polega na wskazaniu przez właściciela domeny, z jakich adresów IP w sieci Internet dopuszczalne jest przekazywanie poczty, ze wszystkich kont e-mail w tej domenie. Domyślna konfiguracja pozwala na wysyłanie wiadomości z serwera poczty obsługującego domenę.
- DMARC (skrót od Domain-based Message Authentication, Reporting & Conformance) to mechanizm definiujący, w jaki sposób ma się zachować serwer pocztowy, który otrzyma wiadomość negatywnie zweryfikowaną za pomocą zabezpieczeń SPF i DKIM. DMARC umożliwia również otrzymywanie, za pomocą poczty elektronicznej, okresowych raportów o próbach e-mail spoofingu, z serwerów pocztowych na całym świecie, które odnotowały takie naruszenia i obsługują zabezpieczenie DMARC.
Jak może wyglądać atak, jeśli DMARC nie jest włączony?
Poniżej posłużymy się jednym z prostych przykładów wykorzystania funkcji mail() w PHP, która wysyła z serwera pocztowego, na którym znajduje się strona internetowa, wiadomość e-mail do odbiorcy w domenie kapitanhack.pl. Zarówno odbiorcę, jak i fałszywego nadawcę możemy podać w parametrach.
<?php
$do="[email protected]<mailto:[email protected] >";
$temat="Domena wygasa – konieczna reakcja";
$tresc="Kliknij na ten link w celu przedłużenia okresu ważności domeny";
$nadawca="From:[email protected]<mailto:[email protected]>";
mail($do,$temat,$tresc,$nadawca);
?>
Rozwiązaniem powyższego problemu jest oczywiście dodanie rekordu DMARC do domeny (w naszym przypadku kapitanhack.pl) i skonfigurowanie w nim polityki kwarantanny/odrzucania takich wiadomości.
Przykład rekordu DMARC i jak można sprawdzić go w domenie
Prostym mechanizmem na sprawdzenie obsługi DMARC w Twoich DNS w firmie jest wykonanie poniższego polecenia w wierszu linii poleceń:
> nslookup -q=txt _dmarc.kapitanhack.pl
W wyniku powinniśmy otrzymać odpowiedź:
_dmarc.kapitanhack.pl text = "v=DMARC1;p=reject;sp=none;adkim=r;aspf=r;pct=100;fo=1;rf=afrf;ri=86400;rua=mailto:[email protected];ruf=mailto:[email protected]"
W powyższym przykładzie nadawca żąda, aby odbiorca natychmiast odrzucił wszystkie niedopasowane wiadomości i wysłał raport w określonym formacie zbiorczym na podany adres e-mail. Jeśli nadawca testował swoją konfigurację, mógłby zastąpić „reject” słowem „quarantine”, co poinformuje odbiorcę, że niekoniecznie powinien odrzucać wiadomość, ale rozważyć poddanie jej kwarantannie.
Rekordy DMARC są zgodne z rozszerzalną składnią „wartości tagu” dla rekordów kluczy opartych na DNS zdefiniowanych w DKIM.
Polecamy też skorzystanie z serwisu MXToolbox, który sprawdza te ustawienia (oraz przy okazji wiele innych).
Uwaga!
Zaleca się, aby mechanizm DMARC był implementowany stopniowo, z początkowymi ustawieniami reakcji (parametr “p”) na “none”, ale z włączonymi raportami. Na bazie analizy otrzymywanych raportów z sytuacji, gdzie sprawdzenie się nie powiodło, należy poprawiać konfigurację usług wysyłających e-maile. Skutkiem nagłego włączenie DMARC z ustawieniem reakcji na “quarantine” lub “reject”może być powstanie problemu w ważnych procesach biznesowych, które wykorzystują pocztę takich jak np. newsletter u zewnętrznego dostawcy. Wówczas może się okazać, że taki proces może przestać działać.
Na co należy zwrócić uwagę przy wdrażaniu zabezpieczeń DMARC?
Przed wdrożeniem DMARC rozważ wdrożenie następujących kroków w swojej organizacji:
- Sporządź listę wszystkich autoryzowanych źródeł wysyłania wiadomości e-mail i śledź je przez jakiś czas.
- Przedyskutuj z dostawcami poczty elektronicznej, czy wspierają oni praktyki uwierzytelniania poczty elektronicznej.
- Zapoznaj się szczegółowo z SPF, DKIM i DMARC zanim przejdziesz do kolejnych kroków.
- Spraw, aby proces wdrażania protokołu przebiegał bezproblemowo dzięki odpowiednim testom i procedurom lub narzędziom firm trzecich.
Podsumowanie
DMARC stał się standardem bezpiecznej i wysokiej dostarczalności, pomagając odbiorcom maila zweryfikować, czy nie chodzi o niebezpieczną (oszukańczą) wysyłkę. Ponadto metoda DMARC może zapobiec niewłaściwemu wykorzystaniu adresów e-mail i nadużywaniu domeny.
Pamiętaj, że ochrona Twojej domeny jest jednym z podstawowych kroków w kierunku zachowania reputacji i podtrzymania wiarygodności. Zachęcamy do jej jak najlepszego zabezpieczenia.