4 modulis · 4.3
DKIM praktikoje: selektoriai, raktai ir paslaugos
4 modulis: Pristatomumas: SPF, DKIM ir DMARC praktikoje · Skaitymo trukmė: 12 min.
Mokymosi tikslas: Po šios pamokos galėsite išanalizuoti DKIM-Signature antraštę, įjungti DKIM su savo domenu kiekvienoje siuntimo paslaugoje, patikrinti, ar selektorius veikia, ir paaiškinti, kaip saugiai pakeisti raktus.
Pagrindinės sąvokos: DKIM-Signature, d= (pasirašantis domenas), s= (selektorius), h= (pasirašytos antraštės), bh= ir b=, kanonikalizacija (c=), <selector>._domainkey.<domein>, TXT su p= arba CNAME į paslaugą, rakto ilgis 2048 bitai (RFC 8301), 255 simbolių dalys, ed25519 (RFC 8463), rakto keitimas, tuščias p= (atšauktas), DKIM ir peradresavimas
Kodėl DKIM yra svarbiausias iš trijų
SPF nurodo, kurie serveriai gali siųsti paštą, tačiau nebeveikia peradresuojant ir tikrina Return-Path, kuris daugelyje paslaugų nepriklauso Jums. DKIM įterpia parašą į patį laišką. Šis parašas išlieka galiojantis po peradresavimo (jei laiškas nekeičiamas) ir yra susietas su domenu, kurį Jūs pasirenkate. Todėl DKIM praktikoje dažnai yra vienintelis dalykas, dėl kurio DMARC sėkmingai patvirtinamas naujienlaiškiams, sąskaitoms iš apskaitos programos ir peradresuotam paštui.
Pagrindai (kaip raktas saugomas DNS, kas yra selektorius) pateikti DNS kurse, 4.4 pamokoje. Čia nagrinėsime toliau: kas tiksliai nurodyta parašo, ir kaip sutvarkyti DKIM kiekvienai paslaugai?
Parašo analizė
Atidarykite gauto laiško antraštes (1.5 pamoka). Viršuje, jei laiškas pasirašytas, matysite kažką panašaus į:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=x;
t=1762588800; h=from:to:subject:date:message-id:mime-version:content-type;
bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
b=Gm7yW3q...ilga simbolių seka...Qx9A==| Žymė | Reikšmė |
|---|---|
v=1 | DKIM versija |
a=rsa-sha256 | Algoritmas: RSA raktas, SHA-256. Taip pat galimas: ed25519-sha256 |
c=relaxed/relaxed | Kanonikalizacija: kaip griežtai vertinami nedideli pakeitimai (tarpai, didžiosios raidės antraščių pavadinimuose), atskirai antraštėms ir tekstui. relaxed yra įprastas ir lankstesnis už simple |
d=example.com | Tai pasirašantis domenas. Šis domenas atsako už laišką. DMARC lygina jį su Iš adresu |
s=x | Selektorius: kuris to domeno raktas naudotas |
t= | Pasirašymo laikas (sekundės nuo 1970 m.) |
h= | Kurios antraštės pasirašytos. from turi būti visada įtraukta |
bh= | Laiško teksto kontrolinis kodas (hash) |
b= | Pats parašas |
Gavėjas gauna viešąjį raktą iš <s>._domainkey.<d>, šiuo atveju x._domainkey.example.com, ir patikrina, ar b= atitinka h= nurodytas antraštes ir bh= kontrolinį kodą. Jei kelionės metu pakeista bent viena raidė tekste ar pasirašytoje antraštėje, patikra nepavyksta.
Authentication-Results matysite rezultatą, pavyzdžiui, dkim=pass header.d=example.com header.s=x. Laiškas gali turėti kelis parašus, pavyzdžiui, vieną iš Jūsų domeno ir vieną iš pačios paslaugos. DMARC tikslais skaičiuojamas tik parašas, kurio d= atitinka Jūsų Iš domeną.
Kiekviena paslauga su savo selektoriumi
Domenas vienu metu gali turėti daug DKIM raktų, kiekvieną su savo selektoriumi. Tai yra tikslas: kiekviena paslauga, siunčianti paštą Jūsų vardu, pasirašo savo raktu.
| Siuntėjas | Selektorius (pavyzdys) | Kaip tai atrodo DNS |
|---|---|---|
| Prieglobos pašto serveris | x arba default | TXT su raktu, sukurtu valdymo skydelyje |
| Microsoft 365 | selector1, selector2 | du CNAME įrašai, nukreipiantys į Microsoft |
| Google Workspace | google (numatytasis) | TXT su raktu, kurį sukuriate administravimo konsolėje |
| Naujienlaiškio paslauga | pavyzdžiui, k2, k3, mte1 | dažniausiai CNAME įrašai, nukreipiantys į paslaugą |
TXT ar CNAME?
- Naudojant TXT įrašą, viešąjį raktą savo DNS įrašote patys. Jei paslauga nori naujo rakto, Jums reikia pakeisti įrašą.
- Naudojant CNAME įrašą, selektorių nukreipiate į pavadinimą paslaugos pusėje, pavyzdžiui,
k2._domainkey.example.com CNAME dkim2.mailer.example.Tada paslauga pati tvarko raktą ir gali jį pakeisti be Jūsų įsikišimo. Todėl didelės paslaugos renkasi CNAME ir dažnai naudoja po du: taip jos gali pereiti nuo aktyvaus prie naujo rakto.
Atkreipkite dėmesį: CNAME negali būti kartu su kitu įrašu tuo pačiu pavadinimu. Jei jau yra TXT įrašas selector1._domainkey, pašalinkite jį.
Svarbiausia: įjungti DKIM paslaugoje
Daugelyje paslaugų DKIM su Jūsų nuosavu domenu nėra įjungtas pagal numatytuosius nustatymus. Tokiu atveju jos pasirašo savo pačios domenu (d=mailer.example). Laiškas tada yra pasirašytas, bet nesuderintas su Jūsų Iš adresu. DMARC tikslais tai neskaičiuojama. Paslaugos valdyme tai dažnai vadinama „domeno patvirtinimu“, „domeno verifikavimu“, „autentifikavimu“ arba „nuosavu siuntėjo domenu“. Tik nustatę įrašus IR įjungę šią funkciją paslaugoje, ji pasirašys su d=example.com.
Raktai: ilgis, dalys ir algoritmas
- Ilgis. RFC 8301 nurodo: mažiausiai 1024 bitai, o siuntėjai turėtų naudoti mažiausiai 2048 bitus. Naudokite 2048. Gavėjai 512 bitų raktą laiko negaliojančiu.
- 255 simbolių dalys. TXT įrašą sudaro ne ilgesnės kaip 255 simbolių eilutės. 2048 bitų raktas užima maždaug 400 simbolių ir netelpa į vieną eilutę. Tada įrašą sudaro dvi ar daugiau eilutės iš eilės (
"v=DKIM1; k=rsa; p=MIIBIj..." "...IDAQAB"), kurias gavėjas sujungia. Dauguma valdymo skydelių tai atlieka automatiškai. Jei kažkas sugenda, gaunate nutrauktą raktą ir kiekvienas parašas tampa negaliojantis. Todėl raktą visada kopijuokite visą, be papildomų tarpų ar kabučių viduryje. - ed25519 (RFC 8463) yra modernesnis algoritmas su trumpesniais raktais. Dar ne visi gavėjai jį tikrina. Todėl naudojantys jį pasirašo dviem parašais: RSA ir ed25519.
Rakto keitimas
Raktą rekomenduojama kartais pakeisti, ypač jei įtariate, kad privatusis raktas buvo nutekintas (pavyzdžiui, po serverio įsilaužimo ar pasitraukusio administratoriaus). Darykite taip:
- Sukurkite naują raktą su nauju selektoriumi, pavyzdžiui,
s2026, ir įrašykite viešąjį raktą į DNS. - Palaukite, kol įrašas bus matomas visur (TTL, žr. DNS kurso 6.1 pamoką).
- Leiskite serveriui pasirašyti nauju selektoriumi.
- Palikite seną raktą dar kelioms dienoms: laiškai, kurie jau buvo pakeliui arba tikrinami iš naujo, vis dar nurodo į jį.
- Atšaukite seną raktą, ištuštindami
p=(v=DKIM1; p=), arba pašalinkite įrašą.
Paslaugose su CNAME įrašais tai padaro pati paslauga.
Kas sukelia DKIM nesėkmę
- Laiškas pakeičiamas kelyje: diskusijų sąrašas, kuris prie temos prideda
[sąrašo pavadinimas]arba prideda poraštę, virusų skeneris, pridedantis eilutę po laišku, peradresavimo serveris, keičiantis formatavimą. - Neteisingas ar nutrauktas raktas DNS.
- Selektorius neegzistuoja: rašybos klaida pavadinime arba
selector1._domainkey.example.com.example.com(domeno pavadinimas kartojamas dukart, nes valdymo skydelis jį prideda pats). - Raktas atšauktas (tuščias
p=), nors serveris vis dar pasirašo tuo selektoriumi.
Kaip patikrinti, ar veikia
- Išsiųskite laišką iš paslaugos adresu Gmail arba Outlook.com.
- Atidarykite antraštes ir suraskite
DKIM-Signature: užsirašykited=irs=. - Patikrinkite
Authentication-Results, ar nurodytadkim=passir arheader.d=yra Jūsų domenas. - Patikrinkite selektorių:
dig TXT s._domainkey.example.com(arba naudokite internetinį įrankį). Turi būtip=su ilgu raktu arba CNAME, vedantis į tokį įrašą.
Praktikoje: kaip tai atrodo valdymo skydelyje
WebOké prieglobos pakete DKIM yra įjungtas pagal numatytuosius nustatymus, su selektoriumi x: įrašas vadinamas x._domainkey.<jūsų domenas>. DirectAdmin tai matysite DNS administravimo skyriuje; jei Jūsų DNS tvarko kita įmonė, nukopijuokite šį įrašą ten. Mano WebOké skydelyje Nustatyti paštą parodo, kokia reikšmė turi būti ir ar ji randama. Kitose paslaugose selektorius vadinamas kitaip (default, mail, dkim), bet jį rasite tuo pačiu būdu: valdymo skydelyje arba pasirašyto laiško s= lauke.
Santrauka
- DKIM yra patikra, kuri išlieka galiojanti po peradresavimo ir kurią susiejate su savo domenu kiekvienai paslaugai atskirai; DMARC tikslais skaičiuojamas tik parašas su Jūsų domenu
d=lauke. DKIM-Signaturerasited=(domenas) irs=(selektorius); raktas yra<s>._domainkey.<d>.- Kiekviena paslauga gauna savo selektorių; CNAME įrašai leidžia pačiai paslaugai keisti raktus. Būtinai įjunkite DKIM su savo domenu ir pačioje paslaugoje.
- Naudokite 2048 bitus; kopijuodami saugokitės nutrauktų raktų.
- Raktą keiskite su nauju selektoriumi ir tik vėliau atšaukite seną.
Testas
Užduotis
Užduotis Z4.3: DKIM selektoriaus tikrinimas. Išsiųskite laišką iš savo domeno (arba iš paslaugos, siunčiančios Jūsų vardu) savo paties adresui kitoje paslaugoje. Atidarykite antraštes ir įveskite d= ir s= reikšmes iš DKIM-Signature, bei tai, kas Authentication-Results nurodyta prie dkim=. Programa gyvai patikrins selektorių, seks galimą CNAME, patikrins raktą (ar jis egzistuoja, ar neištuštintas, ilgį) ir praneš, ar d= suderintas su domenu, kurį nurodėte kaip siuntėją.
Skaitykite daugiau
Šiuose straipsniuose aprašyti žingsniai taikomi WebOké valdymo skydeliams; kitų paslaugų teikėjų atveju veikimas yra panašus.
- Nemokamas DNS kursas 4.4: DKIM: parašas po Jūsų paštu
- DirectAdmin vadovas 5.8: DKIM įjungimas ir patikrinimas
- DKIM nustatymas, kai DNS veikia išoriniame serveryje
- WebOké vadovas 6.7: El. pašto nustatymo kortelė (MX, SPF, DKIM, DMARC)
- RFC 6376 (DKIM), RFC 8301 (rakto ilgis ir algoritmai), RFC 8463 (ed25519)
