====== Mail: DMARC – Ochrona przed Spoofingiem i Phishingiem ====== ===== Co to jest DMARC? ===== **DMARC** (Domain-based Message Authentication, Reporting, and Conformance) to **protokół uwierzytelniania e-maili**, który chroni domeny przed: * podszywaniem się pod adresy e-mail (spoofingiem), * atakami phishingowymi, * nieautoryzowanym użyciem domeny do wysyłki e-maili. DMARC współpracuje z dwoma innymi mechanizmami uwierzytelniania wiadomości: * **SPF** (Sender Policy Framework) – określa, które serwery mogą wysyłać maile w imieniu domeny. * **DKIM** (DomainKeys Identified Mail) – podpis kryptograficzny w wiadomości, potwierdzający autentyczność nadawcy. ===== Jak działa DMARC? ===== 1. Serwer odbiorcy (np. Gmail, Outlook) otrzymuje wiadomość e-mail. 2. Sprawdza, czy wiadomość: * przeszła test **SPF**, * przeszła test **DKIM**, * i czy **nadawca jest zgodny z domeną** (czyli tzw. „alignment”). 3. Na podstawie wyniku, serwer sprawdza **politykę DMARC**, którą ustawiła domena nadawcy. 4. W zależności od polityki (`none`, `quarantine`, `reject`), wiadomość jest: * zaakceptowana, * oznaczona jako spam, * lub całkowicie odrzucona. ===== Rekord DMARC w DNS ===== Rekord DMARC to **rekord TXT**, dodany do strefy DNS domeny, np.: _dmarc.ostrowski.net.pl. IN TXT "v=DMARC1; p=quarantine; rua=mailto\:kacper\@ostrowski.net.pl ===== Składnia rekordu DMARC ===== ^ Parametr ^ Opis ^ | `v=DMARC1` | Wersja protokołu (zawsze `DMARC1`) | | `p=` | Polityka DMARC (`none`, `quarantine`, `reject`) | | `rua=` | Adres e-mail do raportów zbiorczych (aggregate reports) | | `ruf=` | Adres e-mail do raportów szczegółowych (forensic reports – rzadko używane) | | `fo=` | Kiedy generować raporty (np. `fo=1` = każda porażka SPF/DKIM) | ===== Polityki DMARC ===== === p=none === * Tryb monitorowania. * Nie podejmuje żadnych działań wobec nieautoryzowanych wiadomości. * Służy do zbierania raportów i weryfikacji konfiguracji SPF/DKIM. * Zalecany jako pierwszy krok. === p=quarantine === * Wysyła podejrzane wiadomości do folderu **SPAM/JUNK**. * Ochrona przed phishingiem – ale nie blokuje wiadomości całkowicie. * Dobry kompromis pomiędzy bezpieczeństwem a ryzykiem fałszywych alarmów. * Zwykle używany jako drugi krok przed pełnym odrzucaniem (`reject`). === p=reject === * Najsilniejsza polityka – całkowicie **odrzuca** wiadomości, które nie przejdą testów. * Zapewnia maksymalną ochronę przed spoofingiem. * Zalecana **tylko wtedy**, gdy: * SPF i DKIM są poprawnie skonfigurowane, * Masz pełną kontrolę nad wszystkimi serwerami wysyłającymi wiadomości w imieniu domeny. ===== Przykładowe Rekordy DMARC ===== === Tryb monitorowania === v=DMARC1; p=none; rua=mailto\:kacper\@ostrowski.net.pl === Tryb kwarantanny === v=DMARC1; p=quarantine; rua=mailto\:kacper\@ostrowski.net.pl; fo=1 === Tryb odrzucania === v=DMARC1; p=reject; rua=mailto\:kacper\@ostrowski.net.pl; fo=1 ===== Raportowanie (rua, ruf) ===== * **rua** – raporty zbiorcze (raz dziennie), w formacie XML, pokazujące statystyki SPF/DKIM/DMARC. * **ruf** – raporty szczegółowe (jeśli wspierane przez odbiorcę), zawierające kopie problematycznych wiadomości. Raporty można analizować ręcznie lub za pomocą narzędzi takich jak: * https://dmarcian.com/ * https://easydmarc.com/ * https://mail-tester.com/ * https://mxtoolbox.com/ ===== Zalecana kolejność wdrażania ===== 1. **Utwórz i zweryfikuj SPF i DKIM**. 2. **Dodaj rekord DMARC z `p=none` i monitoruj raporty**. 3. Po kilku dniach/tygodniach: * jeśli legalne wiadomości przechodzą testy, * a raporty nie pokazują błędów, 4. **Zmień politykę na `p=quarantine`**. 5. Po kolejnej fazie testów, przejdź do **`p=reject`** (pełna ochrona). ===== Podsumowanie ===== DMARC to kluczowy element bezpieczeństwa poczty e-mail. Umożliwia właścicielowi domeny: * ochronę reputacji, * zapobieganie spoofingowi i phishingowi, * zbieranie danych diagnostycznych, * kontrolę nad sposobem obsługi nieautoryzowanych wiadomości. Pełna ochrona wymaga poprawnej konfiguracji **SPF**, **DKIM** oraz dobrze dobranej **polityki DMARC**.