exim.ro

DMARC pas cu pas: de la p=none la reject

Cum publicați DMARC fără să pierdeți mail: rapoarte, aliniere SPF și DKIM, subdomenii, pct și trecerea treptată de la p=none la quarantine și reject.

Actualizat la 5 minute de citit9 secțiuni

Deschide Generator DMARC

DMARC (RFC 7489) le spune serverelor care primesc mail ce să facă cu mesajele care folosesc domeniul dumneavoastră în adresa From fără să treacă autentificarea, și unde să vă trimită rapoarte despre ele. Ghidul arată cum îl introduceți treptat, fără să blocați mailul legitim. Înregistrarea o faceți cu generatorul DMARC, iar rapoartele le citiți cu analizorul de rapoarte DMARC.

Când trece un mesaj DMARC

Un mesaj trece DMARC când cel puțin una dintre verificări trece și este aliniată cu domeniul din From (RFC 7489, secțiunea 3.1):

  • DKIM aliniat: o semnătură DKIM validă al cărei domeniu d= corespunde domeniului din From.
  • SPF aliniat: SPF trece pentru adresa din plic (MAIL FROM, Return-Path), iar domeniul ei corespunde domeniului din From.

Alinierea este necesară pentru că un mesaj poate purta o semnătură validă de la orice domeniu, inclusiv al unei liste de discuții sau al unui atacator. O semnătură validă nu dovedește singură că mesajul vine de la domeniul din From.

Alinierea are două moduri, alese cu adkim și aspf:

ModCe înseamnăExemplu: From alerte@stiri.exemplu.ro
r (relaxed, implicit)același domeniu organizaționaltrece cu d=exemplu.ro
s (strict)exact același numetrece doar cu d=stiri.exemplu.ro

Modul relaxat este de obicei alegerea potrivită: cel strict face să pice și mesajele de pe subdomenii semnate cu domeniul principal.

Înregistrarea

DMARC este o înregistrare TXT la _dmarc. + domeniu. Primele etichete trebuie să fie v=DMARC1, apoi p, în această ordine (secțiunea 6.3):

_dmarc.exemplu.ro.  IN  TXT  "v=DMARC1; p=none; rua=mailto:dmarc@exemplu.ro"
EtichetăImplicitCe face
pobligatoriepolitica: none, quarantine sau reject
spca ppolitica pentru subdomenii
pct100procentul de mesaje căruia i se aplică politica
rualipseșteunde vin rapoartele agregate zilnice
ruflipseșteunde vin rapoartele despre mesaje individuale
adkim, aspfrmodul de aliniere

Fără rua, serverele nu trimit rapoarte agregate (secțiunea 6.3). Fără rapoarte nu aveți cum să vedeți ce s-ar bloca, deci rua e primul lucru de pus.

Pasul 1: p=none și rapoarte

Porniți cu p=none. Politica nu schimbă nimic la livrare, dar serverele care implementează DMARC încep să vă trimită zilnic rapoarte agregate: de pe ce adrese IP s-a trimis mail cu domeniul dumneavoastră în From, câte mesaje și cu ce rezultate SPF și DKIM (secțiunea 7.2).

Rapoartele vin ca atașamente XML, de obicei comprimate. În analizorul de rapoarte vedeți sursele, ce trece și ce pică. Pentru fiecare sursă care pică:

  • O recunoașteți (un serviciu de newsletter, facturare, CRM, un server propriu): configurați-i SPF sau, mai bine, DKIM cu domeniul dumneavoastră.
  • Nu o recunoașteți: e, cel mai probabil, cineva care vă folosește domeniul fără drept. Exact asta va opri politica de mai târziu.

Lăsați p=none cel puțin câteva săptămâni, ca să prindeți și sursele care trimit rar, de exemplu facturile lunare.

Pasul 2: quarantine, treptat

Când sursele legitime trec, treceți la p=quarantine. Mesajele care pică ajung de obicei în spam. Cu pct puteți aplica politica doar unei părți a mesajelor:

v=DMARC1; p=quarantine; pct=25; rua=mailto:dmarc@exemplu.ro

pct nu schimbă rapoartele: toate mesajele sunt raportate, indiferent de procent (secțiunea 6.6.4). Creșteți procentul (25, 50, 100) urmărind rapoartele după fiecare pas.

Pasul 3: reject

p=reject le cere serverelor să respingă mesajele care pică, de preferat chiar în timpul conversației SMTP (secțiunea 6.3). Este protecția completă împotriva falsificării domeniului.

Un detaliu din secțiunea 6.6.4: cu p=reject și pct sub 100, mesajele care nu intră în procent sunt tratate ca la quarantine, nu livrate normal. Trecerea de la quarantine la reject nu slăbește deci nimic pe parcurs.

Redirecționările și listele de discuții

Un mesaj redirecționat automat (de exemplu, o adresă veche care trimite totul mai departe) pleacă de pe alt server decât al dumneavoastră, așa că SPF pică la destinația finală (RFC 7208, secțiunea 10.3). DKIM supraviețuiește de obicei redirecționării, pentru că semnătura călătorește cu mesajul.

Consecința practică: semnați tot mailul cu DKIM, nu vă bazați doar pe SPF. În analizor, mesajele care trec DMARC doar prin SPF sunt semnalate separat. Listele de discuții care modifică subiectul sau corpul mesajului strică însă și semnătura DKIM, pentru că semnătura acoperă exact acele părți.

Subdomeniile

Politica din _dmarc.exemplu.ro se aplică și subdomeniilor care nu au înregistrare proprie: serverele o caută întâi la domeniul exact din From, apoi la domeniul organizațional (secțiunea 6.6.3). Cu sp puteți da subdomeniilor altă politică, de exemplu p=quarantine; sp=reject când subdomeniile nu trimit mail deloc.

Rapoartele la alt domeniu

Dacă rapoartele trebuie să ajungă la alt domeniu decât al dumneavoastră (de exemplu, la un serviciu de analiză), acel domeniu trebuie să confirme că le acceptă, altfel serverele nu le trimit. Confirmarea este o înregistrare TXT v=DMARC1 la exemplu.ro._report._dmarc.domeniul-destinatie (secțiunea 7.1). Generatorul DMARC verifică automat această confirmare pentru adresele din rua și ruf.

Surse

  • RFC 7489: DMARC (aliniere 3.1, etichete 6.3, descoperirea politicii 6.6.3, pct 6.6.4, destinații externe 7.1, rapoarte 7.2)
  • RFC 7208: SPF, secțiunea 10.3 despre redirecționare
  • RFC 6376: DKIM