ThinkRoot

bine ați navigat pe insula mea de pe internet

Am verificat SPF, DKIM și DMARC pentru mail-uri

Am citit un articol în care cineva explica de ce a renunțat să își mai întrețină propriul server de mail. Motivul principal era că e prea multă muncă pentru a-l menține în regulă - reputație IP, liste negre, actualizări, configurări. La un moment dat nu mai merită. Acolo am citit despre SPF, DKIM și DMARC și mi-am dat seama că ar trebui să verific dacă le am configurate corect pe domeniile mele.

SPF, DKIM și DMARC sunt trei recorduri DNS care spun serverelor de mail că ești cine zici că ești. Fără ele, un server ca Gmail nu are cum să verifice dacă emailul vine cu adevărat de la tine sau de la cineva. Nu e o problemă nouă - phishing-ul și spam-ul au existat dintotdeauna - dar din februarie 2024 Google și Yahoo cer explicit aceste setări, altfel emailurile au șanse mari să ajungă la spam sau să fie respinse complet.

SPF răspunde la întrebarea „de pe ce servere are voie domeniul meu să trimită email?". E un record TXT în DNS care listează serverele autorizate. Când un server primește un email de la tine, verifică lista și dacă IP-ul expeditorului nu e acolo, emailul e tratat cu suspiciune. Arată cam așa:

v=spf1 include:_spf.furnizor.ro ~all

~all înseamnă softfail - serverele neautorizate nu sunt respinse complet, doar marcate ca suspecte. Dacă folosești servicii terțe care trimit email în numele domeniului tău, adaugi și serverele lor în același record. Un singur record SPF per domeniu.

DKIM funcționează prin semnătură digitală. Serverul de mail semnează fiecare mesaj cu o cheie privată, iar cheia publică e publicată în DNS. Serverul destinatar verifică semnătura și știe că emailul vine chiar de pe serverul tău și că nu a fost modificat pe drum. Cheia privată stă pe server, cheia publică apare în DNS ca un record CNAME sau TXT.

DMARC leagă totul și spune ce să facă serverul destinatar când SPF sau DKIM eșuează. Se adaugă ca un record TXT cu numele _dmarc:

v=DMARC1; p=none; sp=none; adkim=r; aspf=r; pct=100; ri=86400

p= e politica principală și are trei variante: none înseamnă că emailurile trec indiferent și ești doar în modul de monitorizare, quarantine înseamnă că emailurile care eșuează DMARC merg la spam, iar reject înseamnă că sunt respinse complet. adkim=r și aspf=r setează verificarea în modul relaxed, mai permisiv. pct=100 înseamnă că politica se aplică tuturor emailurilor. ri=86400 setează frecvența rapoartelor la o dată pe zi.

Se poate adăuga și rua=mailto:adresa@domeniu.ro dacă vrei să primești rapoarte zilnice despre cine trimite email în numele domeniului tău. Nu e obligatoriu - dacă domeniul e personal și nu trimiți volume mari, poți trăi fără. Rapoartele vin în XML, dar există servicii gratuite care le parsează și le afișează lizibil, cum ar fi dmarcian.com sau dmarc.postmarkapp.com.

La domeniile mele de la Hosterion, care folosește cPanel, SPF și DKIM erau deja setate corect. Le-am verificat din cPanel → Email → Email Deliverability. Dacă apare „Invalid" sau „Problems Exist" lângă vreunul, există un buton Repair care rezolvă totul automat - generează și instalează recordurile fără să fie nevoie să copiezi manual nimic.

DMARC lipsea complet. L-am adăugat din cPanel → Domains → Zone Editor → Manage → + Add Record → Add DMARC Record. cPanel are un formular dedicat care generează recordul automat. Am setat p=none pentru început - e varianta sigură când nu știi exact dacă ai servicii terțe care trimit email în numele domeniului și nu sunt configurate perfect. Dacă sari direct la p=reject și ai un formular de contact sau un serviciu de newsletter care nu are DKIM configurat corect, emailurile respective sunt respinse.

După ce am terminat, am verificat pe mail-tester.com - trimiți un email normal la adresa afișată pe site și primești un scor din 10 cu detalii despre fiecare problemă. Am luat 10/10.

⬅ The one before
Ce este IndieWeb-ul și de ce ar trebui să-ți pese

Up next ➡
Prietenia și bunătatea