Implementacja DMARC (Domain-based Message Authentication, Reporting & Conformance) w Postfix
Linux

Implementacja DMARC (Domain-based Message Authentication, Reporting & Conformance) w Postfix

Implementacja DMARC (Domain-based Message Authentication, Reporting & Conformance) w Postfix

DMARC (Domain-based Message Authentication, Reporting & Conformance) to protokół uwierzytelniania poczty elektronicznej, który łączy SPF i DKIM, pomagając chronić domenę przed spoofingiem i phishingiem. W tym artykule omówimy konfigurację DMARC dla serwera Postfix, publikację rekordów DMARC w DNS, a także odbieranie raportów o nieautoryzowanych próbach wysyłania poczty.


1. Co to jest DMARC i dlaczego jest ważny?

DMARC sprawdza, czy e-mail przechodzi testy SPF i DKIM oraz umożliwia określenie polityki dla niezgodnych wiadomości.
DMARC dostarcza szczegółowe raporty o ruchu e-mail i pomaga wykrywać ataki na domenę.
DMARC pozwala administratorom określić, czy wiadomości niespełniające wymagań powinny zostać zaakceptowane, oznaczone jako spam, czy odrzucone.

💡 SPF i DKIM to podstawa działania DMARC. Jeśli ich nie skonfigurujesz, DMARC nie będzie działać prawidłowo!


2. Wymagania wstępne

Przed wdrożeniem DMARC upewnij się, że:
Postfix działa poprawnie.
SPF i DKIM są skonfigurowane.
✔ Masz dostęp do DNS w celu dodania rekordów DMARC.

Implementacja DMARC (Domain-based Message Authentication, Reporting & Conformance) w Postfix
Implementacja DMARC (Domain-based Message Authentication, Reporting & Conformance) w Postfix

3. Tworzenie i publikacja rekordu DMARC w DNS

Rekord DMARC to wpis TXT w DNS, który instruuje serwery pocztowe, jak traktować wiadomości e-mail, które nie spełniają polityki SPF i DKIM.

3.1. Składnia rekordu DMARC

Rekord DMARC ma format:

_dmarc.example.com TXT "v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com; ruf=mailto:dmarc-failures@example.com; pct=100"

Co oznaczają poszczególne elementy?

  • v=DMARC1 – wersja DMARC.
  • p=none – polityka (na początek ustaw none, aby tylko zbierać raporty).
  • rua=mailto:dmarc-reports@example.com – adres e-mail do odbierania raportów zbiorczych (RUA).
  • ruf=mailto:dmarc-failures@example.com – adres e-mail do odbierania raportów szczegółowych (RUF).
  • pct=100 – procent wiadomości objętych polityką DMARC (można ustawić np. 50 na początek testów).
Czytaj  Skrypt Linuksa: Prosty Firewall z iptables

🔹 Polityki DMARC:

  • p=none – brak akcji, tylko monitorowanie.
  • p=quarantine – podejrzane e-maile trafiają do folderu SPAM.
  • p=reject – odrzucanie e-maili niespełniających kryteriów.

3.2. Dodanie rekordu DMARC do DNS

W panelu zarządzania domeną (np. Cloudflare, GoDaddy, OVH) dodajemy rekord TXT:

Typ rekordu Nazwa Wartość
TXT _dmarc.example.com "v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com; ruf=mailto:dmarc-failures@example.com; pct=100"

💡 Uwaga: Nie wszystkie dostawcy poczty obsługują raporty ruf – jeśli nie chcesz raportów szczegółowych, możesz usunąć ruf.


4. Weryfikacja poprawności rekordu DMARC

Po dodaniu rekordu DMARC, sprawdź jego poprawność za pomocą:

nslookup -type=TXT _dmarc.example.com

Powinieneś zobaczyć odpowiedź zawierającą ustawiony rekord DMARC.

Możesz także użyć narzędzi online:
🔹 https://dmarcian.com/dmarc-inspector/
🔹 https://mxtoolbox.com/dmarc.aspx


5. Otrzymywanie i analiza raportów DMARC

DMARC umożliwia otrzymywanie raportów dotyczących wiadomości e-mail wysyłanych z Twojej domeny.

🔹 Rodzaje raportów:

  • RUA (Aggregate Reports) – zbiorcze raporty o ruchu e-mail.
  • RUF (Forensic Reports) – szczegółowe raporty o nieudanych próbach uwierzytelnienia.

Raporty DMARC są wysyłane w formacie XML. Możesz użyć narzędzi do ich analizy, np.:

  • Dmarcian (https://dmarcian.com)
  • Postmark DMARC (https://dmarc.postmarkapp.com)

Jeśli chcesz odbierać raporty na własnym serwerze, możesz użyć parsedmarc:

pip install parsedmarc

A następnie analizować raporty:

parsedmarc /ścieżka/do/pliku.xml

6. Wdrażanie polityki DMARC (Quarantine / Reject)

Po przetestowaniu DMARC warto przejść do bardziej restrykcyjnej polityki:

6.1. Przejście na Quarantine

_dmarc.example.com TXT "v=DMARC1; p=quarantine; pct=100; rua=mailto:dmarc-reports@example.com"

Wiadomości niespełniające kryteriów będą trafiać do folderu SPAM zamiast być akceptowane.

6.2. Przejście na Reject

_dmarc.example.com TXT "v=DMARC1; p=reject; pct=100; rua=mailto:dmarc-reports@example.com"

Teraz wszystkie podejrzane e-maile będą odrzucane.

🔹 Rekomendacja: Stopniowo zwiększaj rygorystyczność DMARC (pct=10, pct=50, pct=100), aby uniknąć problemów z dostarczalnością.


Podsumowanie

Wdrożenie DMARC to kluczowy krok w zabezpieczeniu domeny pocztowej. W tym artykule omówiliśmy:

Czytaj  Monitorowanie systemu Debian: Konfiguracja narzędzi Nagios, Zabbix i Prometheus

Publikację rekordu DMARC w DNS.
Łączenie SPF i DKIM w DMARC.
Otrzymywanie i analizę raportów DMARC.
Stopniowe wdrażanie rygorystycznej polityki DMARC.

DMARC, w połączeniu z SPF i DKIM, pozwala zwiększyć bezpieczeństwo e-maili i zapobiec nadużyciom Twojej domeny przez cyberprzestępców.

Polecane wpisy
Jak sprawdzić wersję kernela w Linuksie
Jak sprawdzić wersję kernela w Linuksie

Jak sprawdzić wersję kernela w Linuksie W systemie Linux istnieje kilka sposobów na sprawdzenie wersji kernela. Poniżej przedstawiamy dwa najprostsze: Czytaj dalej

Jak sprawdzić numer seryjny dysku twardego Linux
Jak sprawdzić numer seryjny dysku twardego Linux

Aby sprawdzić numer seryjny dysku twardego w systemie Linux, można skorzystać z narzędzia smartmontools. Oto jak to zrobić: [caption id="attachment_6957" Czytaj dalej

Marek "Netbe" Lampart Inżynier informatyki Marek Lampart to doświadczony inżynier informatyki z ponad 25-letnim stażem w zawodzie. Specjalizuje się w systemach Windows i Linux, bezpieczeństwie IT, cyberbezpieczeństwie, administracji serwerami oraz diagnostyce i optymalizacji systemów. Na netbe.pl publikuje praktyczne poradniki, analizy i instrukcje krok po kroku, pomagając administratorom, specjalistom IT oraz zaawansowanym użytkownikom rozwiązywać realne problemy techniczne.