Kā iestatīt SPF, DKIM un DMARC: piemēri kopēšanai
Katrs lielais pasta pakalpojumu sniedzējs tagad pārbauda SPF, DKIM un DMARC, pirms izlemj, vai tava vēstule nonāks iesūtnē, mēstuļu mapē vai tiks klusi atmesta. Šī pamācība paskaidro, ko katrs ieraksts patiesībā pierāda, dod kopējamus piemērus domēnam, kas sūta no sava servera un caur jaunumu izsūtīšanas servisu, un parāda, kā pakāpeniski nostiprināt DMARC politiku, nesalaužot savu pastu. Tā rakstīta ikvienam, kurš pārvalda DNS domēnam, kas sūta e-pastu.
Ko katrs ieraksts patiesībā pierāda
SPF ir TXT ieraksts tavā domēnā, kurā uzskaitītas IP adreses, kas drīkst lietot domēnu SMTP aploksnes sūtītājā (Return-Path). Pass pierāda tikai to, ka sūtošais serveris bija tavā sarakstā. Tas neko nepasaka par From adresi, ko redz lietotājs, un tas salūst, ja pastu pārsūta.
DKIM ir kriptogrāfisks paraksts, ko tavs pasta serveris pievieno katrai vēstulei. Publiskā atslēga glabājas DNS zem selektora, piemēram, s1._domainkey.example.com. Pass pierāda, ka vēstules saturs un galvenās galvenes nav mainītas kopš brīža, kad tās parakstīja kāds, kam ir tava privātā atslēga. Pārsūtīšanu šis paraksts pārdzīvo.
DMARC sasaista abas pārbaudes ar redzamo From domēnu (to sauc par alignment jeb sakritību) un publicē politiku, kas saņēmējiem pasaka, ko darīt, ja abas pārbaudes krīt: nedarīt neko, likt karantīnā vai noraidīt. Tas arī lūdz saņēmējus sūtīt tev atskaites. Bez DMARC SPF un DKIM rezultāti ir tikai ieteikuma signāli.
Kopējami ieraksti tipiskai shēmai
Pieņemsim, ka example.com sūta darījumu pastu no sava servera 192.0.2.10, bet jaunumu vēstules iet caur ārēju servisu. Nomaini nosaukumus un IP uz savām vērtībām.
SPF, viens TXT ieraksts domēna saknē:
example.com. TXT "v=spf1 ip4:192.0.2.10 include:servers.mcsv.net -all"
Include vērtību dod jaunumu servisa dokumentācija, piemērā ir Mailchimp variants. Mehānismus mx vai a pievieno tikai tad, ja tie hosti tiešām sūta pastu.
DKIM: uzģenerē 2048 bitu atslēgu pāri uz servera:
openssl genrsa -out dkim-private.pem 2048 openssl rsa -in dkim-private.pem -pubout -outform der | openssl base64 -A
Publicē base64 izvadi kā TXT ierakstu:
s1._domainkey.example.com. TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQ...AQAB"
Tad norādi savam MTA (OpenDKIM, rspamd, Exim, kas nu tev ir) privāto atslēgu un selektoru s1. Jaunumu serviss paraksta ar savām atslēgām: tas iedos tev divus vai trīs CNAME ierakstus, lai tā paraksti sakristu ar tavu domēnu. Pievieno tos, citādi jaunumu vēstules vēlāk kritīs uz DMARC.
DMARC, sāc novērošanas režīmā:
_dmarc.example.com. TXT "v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com"
Pārbaudi visu no jebkuras mašīnas:
dig +short TXT example.com dig +short TXT s1._domainkey.example.com dig +short TXT _dmarc.example.com
Tad nosūti testa vēstuli uz Gmail adresi un atver Show original: vienā ekrānā jāredz spf=pass, dkim=pass un dmarc=pass.
SPF kļūdas, kas tiešām sāp
- Divi SPF ieraksti. Standarts atļauj tieši vienu. Ja panelis vai SaaS vednis pievieno otru, saņēmēji atgriež permerror un uzskata to par fail. Apvieno visus mehānismus vienā ierakstā.
- +all. Tas atļauj visam internetam sūtīt tava domēna vārdā. Mēstuļu filtri to zina, un daži to jau pašu par sevi vērtē kā mēstuļu pazīmi. Beidz ierakstu ar
-allvai ar~all, kamēr vēl pārcel sūtītājus. - Par daudz DNS pieprasījumu. SPF atļauj ne vairāk kā 10 mehānismus, kas prasa DNS (
include,a,mx,redirect). Dažu SaaS rīku ligzdotie include ātri iztērē limitu, un rezultāts atkal ir permerror. Saskaiti pieprasījumus ar jebkuru SPF pārbaudītāju, izmet servisus, ko vairs nelieto, un aizstāja/mxar konkrētāmip4vērtībām tur, kur adreses ir stabilas.
DKIM atslēgu rotācijas pamati
Noplūdusi DKIM atslēga ļauj uzbrucējam parakstīt pastu, kas iziet DMARC, un no ārpuses tu to nepamanīsi. Rotācija reizi vai divas gadā notur riska logu mazu. Selektori padara rotāciju nesāpīgu:
- Uzģenerē jaunu atslēgu pāri un publicē to zem jauna selektora, piemēram,
s2._domainkey. - Nogaidi DNS TTL un pārslēdz MTA parakstīt ar
s2. - Atstāj veco
s1ierakstu DNS apmēram nedēļu, lai rindās un ceļā esošais pasts vēl verificējas, tad izdzēs to.
Paliec pie 2048 bitiem. Daži DNS paneļi prasa garo p= vērtību sadalīt pēdiņās liktos 255 rakstzīmju gabalos; tas ir normāli, risinātāji tos saliek kopā atpakaļ.
DMARC: no none līdz reject, neko nesalaužot
- Darbini
p=nonearruaatskaitēm vismaz divas līdz četras nedēļas. Nekas vēl netiek bloķēts, tu tikai vāc datus. - Salabo katru leģitīmo avotu, kam krīt sakritība. Parastie aizdomās turamie: mājaslapas kontaktforma, rēķinu rīks, CRM, ko kāds pieslēdza pirms diviem gadiem.
- Pārej uz
p=quarantine; pct=25, tad palielinipctlīdz 100, kamēr atskaites paliek tīras. Kritušais pasts tagad nonāk mēstulēs, nevis iesūtnē. - Nobeidz ar
p=reject. Pārsūtītāji un vēstkopas regulāri salauž SPF, tāpēc ej uz šo soli tikai tad, kad DKIM paraksta visu, ko sūti: sakritīgs DKIM pārdzīvo pārsūtīšanu un notur DMARC uz pass.
Apakšdomēni manto politiku, ja vien atsevišķi neiestati sp=. Ja apakšdomēns nekad nesūta pastu, skaidrs v=spf1 -all plus reject politika tam aizver bieži izmantotu viltošanas caurumu.
Kā lasīt DMARC atskaites, tajās nenoslīkstot
Apkopotās (rua) atskaites pienāk kā saarhivēts XML, pa vienai no katra saņēmēja dienā. Neviens tās ilgi nelasa neapstrādātas. Ielādē tās parserī: savā serverī uzturēts parsedmarc strādā labi, un vairākiem tīmekļa paneļiem ir bezmaksas līmenis. Tad reizi nedēļā pārbaudi tieši divas lietas:
- Leģitīmi avoti, kam pārbaudes krīt: salabo to SPF include vai DKIM parakstīšanu, pirms pievelc politiku.
- Nezināmas IP, kas sūta apjomu tava domēna vārdā: tā ir viltošana, un tieši to tava reject politika nogriezīs.
Forensiskās (ruf) atskaites vari ignorēt, vairums lielo saņēmēju tās vairs nesūta. Visi trīs ieraksti ir parasts DNS, tāpēc nekas šeit nav atkarīgs no tā, kur dzīvo pastkaste: ja tavs domēns iet caur mūsu domēnu reģistrāciju, šos TXT ierakstus rediģē tajā pašā DNS panelī, bet mūsu mājas lapu hostinga plānos SPF un DKIM ierakstus iekļautajam pastam var uzģenerēt no vadības paneļa. Iestati p=none jau šodien, izlasi pirmās atskaites nākamnedēļ, un tu jau būsi priekšā vairumam sūtītāju.
Turpini lasīt
Gatavs sākt?
Palaid dažās minūtēs vai aprunājies ar inženieri par piemērotāko risinājumu.