22 maja 2016

Walka ze spamem - DMARC

UPDATED:
Zaktualizowano odnośniki do konfiguracji Exchange Online.

Kiedy już mamy skonfigurowany rekord SPF oraz DKIM (konfigurację DKIM dla Office365 opisywałem w poprzedniej notatce), możemy uzupełnić konfigurację ochronną o DMARC.
Domain-based Message-based Authentication, Reporting & Conformance (DMARC) to specyfikacja publiczna dostępna od 2012 roku, opisująca metodę walki z phishingiem. Polega to na wykorzystaniu zarówno informacji o serwerze wysyłającym pocztę opisanych w rekordzie SPF, jak i zweryfikowaniu certyfikatu serwera poprzez DKIM. Dodatkowo DMARC umożliwia przekazywanie odbiorcy wytycznych, co powinien zrobić z naszym mailem, kiedy nie może zweryfikować pozytywnie SPF lub DKIM.
Poniższy rysunek, znaleziony w serwisie ReturnPath, pokazuje zasadę działania polisy DMARC:
DMARC flow
Żeby DMARC dla naszej domeny zadziałał, musimy mieć zdefiniowany odpowiedni rekord w publicznym DNS. Oczywiście tu zaczynają się schody - jak go utworzyć, jakie informacje są obowiązkowe i jak opisać poszczególne wartości?
Składnia rekordu jest stosunkowo prosta i składa się z kilku niezbędnych informacji, jak w przykładzie:
_dmarc.yourdomain.com IN TXT "v=DMARC1; p=quarantine; pct=100; rua=mailto:emailaddress@yourdomain.com; ruf=mailto:emailaddress@yourdomain.com;"

Poniższa tabela pokazuje wartości poszczególnych atrybutów:
WartośćDefinicjaPrzykładowa wartość
vWersja protokołu DMARCv=DMARC1
pct% wiadomości do filtrowaniapct=100
rufadres do wysyłania maili niezgodnych z polisąruf=mailto:authfail@pepug.org
rua
rf
ri
adres do wysyłania raportów od ISP
format generowania raportu
interwał generowania raportu (w sekundach)
rua=mailto:aggrep@pepug.org
rf=afrf lub rf=iodef
ri=86400
pustawienia polisy dla domenyp=quarantine, p=reject lub p=none
spustawienia polisy dla subdomensp=reject
adkimTryb Identifier Alignment dla DKIMadkim=strict lub adkim=relaxed
aspfTryb Identifier Alignment dla SPFaspf=relaxed lub aspf=strict

Nie wszystkie atrybuty są niezbędne do poprawnego działania polisy, żeby utworzyć rekord, najprościej skorzystać z jednego z dostępnych w internecie kreatorów, np. https://www.unlocktheinbox.com/dmarcwizard. Jeżeli nie jesteśmy pewni, czy mamy poprawnie ustawione wartości SPF i DKIM, najlepiej zacząć od polisy none, będziemy wtedy dostawać raporty z informacją, jak traktują maile z naszej domeny inni. Jeżeli wszystko działa poprawnie, możemy zmienić polisę na quarantine, a nawet reject.
UWAGA: Nie wszystkie dostępne w internecie systemy DNS pozwalają na tworzenie rekordów zaczynających się od "_", więc warto to sprawdzić.
UPDATED: Korzystając z Exchange Online w ramach usług Office 365 możemy również używać DMARC, Dla poczty przychodzącej usługa Exchange Online Protection (EOP) automatycznie sprawdza nadawcę, jednak warto wiedzieć, że nawet gdy mamy ustawioną polisę na odrzucanie niezgodnych z DMARC maili (p=reject) to EOP obniża poziom ochrony i wrzuca taki mail do kwarantanny (zgodnie z polisą p=quarantine). W przypadku poczty wychodzącej, subdomeny onmicrosoft.com mają DMARC automatycznie włączony, w przypadku korzystania z własnej domeny pocztowej musimy najpierw upewnić się, że poprawnie skonfigurowaliśmy SPF i DKIM, a następnie możemy korzystać z dodatkowej ochrony. Warto jednak przed włączeniem polisy reject początkowo ustawić polisę na none i sprawdzać przez jakiś czas raporty, dostarczane na adresy pocztowe, zdefiniowane przez nas w tym celu (atrybuty ruf i rua policy). Warto również zapoznać się z dokumentacją Office 365, gdzie również znajdziemy nieco więcej informacji na temat najlepszych praktyk i rozwiązywania problemów.

Brak komentarzy: