4. modulis · 4.3
DKIM praksē: selektori, atslēgas un pakalpojumi
4. modulis: Nogādājamība: SPF, DKIM un DMARC praksē · Lasīšanas laiks: 12 minūtes
Mācību mērķis: Pēc šīs nodarbības Jūs varēsiet atšifrēt DKIM-Signature galveni, iestatīt DKIM ar savu domēnu katram sūtīšanas pakalpojumam, pārbaudīt, vai selektors darbojas, un izskaidrot, kā droši nomainīt atslēgas.
Pamatjēdzieni: DKIM-Signature, d= (parakstošais domēns), s= (selektors), h= (parakstītās galvenes), bh= un b=, kanonizācija (c=), <selector>._domainkey.<domein>, TXT ar p= vai CNAME uz pakalpojumu, atslēgas garums 2048 biti (RFC 8301), 255 rakstzīmju gabali, ed25519 (RFC 8463), atslēgas nomaiņa, tukšs p= (atsaukts), DKIM un pāradresācija
Kāpēc DKIM ir vissvarīgākais no trim
SPF nosaka, kuriem serveriem drīkst sūtīt pastu, bet pārtrūkst pāradresācijas gadījumā un skatās uz Return-Path, kas daudzos pakalpojumos nepieder Jums. DKIM ievieto parakstu pašā vēstulē. Šis paraksts pārdzīvo pāradresāciju (ja vien vēstule netiek mainīta) un ir saistīts ar domēnu, kuru Jūs pats izvēlaties. Tāpēc praksē DKIM bieži ir vienīgais, kas liek DMARC gūt panākumus jaunumu vēstulēm, grāmatvedības programmas rēķiniem un pāradresētam pastam.
Pamati (kā atslēga ir ierakstīta DNS, kas ir selektors) ir aprakstīti DNS kursa 4.4. nodarbībā. Šeit mēs ejam tālāk: kas tieši ir rakstīts parakstā un kā nokārtot DKIM katram pakalpojumam?
Paraksta atšifrēšana
Atveriet saņemtās vēstules galvenes (1.5. nodarbība). Augšpusē, ja vēstule ir parakstīta, redzēsiet kaut ko šādu:
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...garš rakstzīmju virkne...Qx9A==| Tags | Nozīme |
|---|---|
v=1 | DKIM versija |
a=rsa-sha256 | Algoritms: RSA atslēga, SHA-256. Iespējams arī: ed25519-sha256 |
c=relaxed/relaxed | Kanonizācija: cik stingri tiek apstrādātas nelielas izmaiņas (atstarpes, lielie burti galveņu nosaukumos) galvenēm un tekstam. relaxed ir ierasts un elastīgāks nekā simple |
d=example.com | Tas ir parakstošais domēns. Šis domēns uzņemas atbildību par vēstuli. DMARC to salīdzina ar From adresi |
s=x | Tas ir selektors: kura šī domēna atslēga ir izmantota |
t= | Parakstīšanas brīdis (sekundes kopš 1970. gada) |
h= | Kuras galvenes ir parakstītas. from tajā ir jābūt vienmēr |
bh= | Vēstules teksta nospiedums (hash) |
b= | Pats paraksts |
Saņēmējs iegūst publisko atslēgu no <s>._domainkey.<d>, šajā gadījumā x._domainkey.example.com, un pārbauda, vai b= atbilst h= norādītajām galvenēm un bh= nospiedumam. Ja ceļā tekstā vai kādā parakstītā galvenē ir mainīts kaut viens burts, pārbaude neizdodas.
Authentication-Results redzams rezultāts, piemēram, dkim=pass header.d=example.com header.s=x. Vēstulei var būt vairāki paraksti, piemēram, viens no Jūsu domēna un viens no paša pakalpojuma. DMARC vajadzībām skaitās tikai tāds paraksts, kura d= pieder Jūsu From domēnam.
Katram pakalpojumam sava selektora
Domēnam vienlaikus var būt daudz DKIM atslēgu, katra ar savu selektoru. Tieši tas ir paredzēts: katrs pakalpojums, kas sūta pastu Jūsu vārdā, paraksta ar savu atslēgu.
| Sūtītājs | Selektors (piemērs) | Kā tas ir ierakstīts DNS |
|---|---|---|
| Hostinga pasta serveris | x vai default | TXT ar atslēgu, kuru izveidojusi vadības panelis |
| Microsoft 365 | selector1, selector2 | divi CNAME ieraksti uz Microsoft |
| Google Workspace | google (noklusējums) | TXT ar atslēgu, kuru liekat izveidot pārvaldības konsolē |
| Jaunumu vēstuļu pakalpojums | piemēram, k2, k3, mte1 | parasti CNAME ieraksti uz pakalpojumu |
TXT vai CNAME?
- Ar TXT ierakstu Jūs paši ievietojat publisko atslēgu savā DNS. Ja pakalpojumam vajadzīga jauna atslēga, Jums pašam jāpielabo ieraksts.
- Ar CNAME ierakstu Jūs novirzāt selektoru uz nosaukumu pie pakalpojuma, piemēram,
k2._domainkey.example.com CNAME dkim2.mailer.example.Tad pakalpojums pats pārvalda atslēgu un var to nomainīt bez Jūsu iejaukšanās. Tāpēc lielie pakalpojumi izvēlas CNAME, un bieži izmanto divus: tā tie var pārslēgties starp aktīvo un jauno atslēgu.
Ievērojiet: CNAME nedrīkst atrasties blakus citam ierakstam ar to pašu nosaukumu. Ja uz selector1._domainkey jau ir TXT, noņemiet to.
Svarīgākais: DKIM ieslēgšana pie pakalpojuma
Daudziem pakalpojumiem DKIM ar Jūsu pašu domēnu nav ieslēgts pēc noklusējuma. Tad tie paraksta ar savu domēnu (d=mailer.example). Vēstule gan ir parakstīta, bet nav saskaņota ar Jūsu From adresi. DMARC vajadzībām tas neskaitās. Pakalpojuma pārvaldībā tas bieži saucas "domēna verifikācija", "domēna apliecināšana", "autentifikācija" vai "pats savs sūtītāja domēns". Tikai tad, kad Jūs esat iestatījuši ierakstus UN ieslēguši to pakalpojumā, tas paraksta ar d=example.com.
Atslēgas: garums, gabali un algoritms
- Garums. RFC 8301 nosaka: vismaz 1024 biti, un sūtītājiem jāizmanto vismaz 2048 biti. Izmantojiet 2048. Saņēmēji 512 bitu atslēgu uzskata par nederīgu.
- 255 rakstzīmju gabali. TXT ieraksts sastāv no rakstzīmju virknēm, katra ne garāka par 255 rakstzīmēm. 2048 bitu atslēga ir aptuveni 400 rakstzīmes gara un neietilpst vienā virknē. Tad ierakstu veido divas vai vairākas virknes pēc kārtas (
"v=DKIM1; k=rsa; p=MIIBIj..." "...IDAQAB"), kuras saņēmējs salīmē kopā. Lielākā daļa paneļu to dara automātiski. Ja kaut kas noiet greizi, Jūs iegūsiet nogrieztu atslēgu, un ikviens paraksts neizdosies. Tāpēc atslēgu vienmēr kopējiet pilnībā, bez liekām atstarpēm vai pēdiņām vidū. - ed25519 (RFC 8463) ir modernāks algoritms ar īsākām atslēgām. Vēl ne visi saņēmēji to pārbauda. Tāpēc tie, kas to izmanto, paraksta ar diviem parakstiem: vienu RSA un vienu ed25519.
Atslēgas nomaiņa
Atslēgu ir labi laiku pa laikam nomainīt, un noteikti tad, ja domājat, ka privātā atslēga ir noplūdusi (piemēram, pēc servera uzlaušanas vai administratora aiziešanas). Rīkojieties šādi:
- Izveidojiet jaunu atslēgu zem jauna selektora, piemēram,
s2026, un ievietojiet publisko atslēgu DNS. - Nogaidiet, līdz ieraksts ir redzams visur (TTL, skatiet DNS kursa 6.1. nodarbību).
- Lieciet serverim parakstīt ar jauno selektoru.
- Ļaujiet vecajai atslēgai vēl palikt uz dažām dienām: vēstules, kas jau bija ceļā vai tiek pārbaudītas atkārtoti, joprojām uz to atsaucas.
- Atsauciet veco atslēgu, atstājot
p=tukšu (v=DKIM1; p=), vai izņemiet ierakstu pavisam.
Pakalpojumos ar CNAME ierakstiem šo darbu paveic pats pakalpojums.
Kas liek DKIM neizdoties
- Vēstule tiek mainīta ceļā: pasta saraksts, kas tematam pievieno
[saraksta nosaukums]vai pievieno kājeni, vīrusu skeneris, kas vēstulei pievieno rindu apakšā, pāradresācijas serveris, kas maina formatējumu. - Nepareiza vai nogriezta atslēga DNS.
- Selektors neeksistē: drukas kļūda nosaukumā vai
selector1._domainkey.example.com.example.com(domēna nosaukums dubultots, jo panelis to pats jau pievieno). - Atslēga atsaukta (tukšs
p=), kamēr serveris joprojām paraksta ar šo selektoru.
Pārbaude, vai tas darbojas
- Nosūtiet vēstuli no pakalpojuma uz adresi pie Gmail vai Outlook.com.
- Atveriet galvenes un atrodiet
DKIM-Signature: pierakstietd=uns=. - Paskatieties
Authentication-Results, vai tur irdkim=pass, un vaiheader.d=ir Jūsu domēns. - Uzmeklējiet selektoru:
dig TXT s._domainkey.example.com(vai izmantojot tiešsaistes rīku). Tur jābūtp=ar garu atslēgu vai CNAME, kas ved uz šādu ierakstu.
Praksē: kā tas izskatās panelī
WebOké hostinga pakotnē DKIM ir ieslēgts pēc noklusējuma, ar selektoru x: ieraksts saucas x._domainkey.<jūsudomēns>. DirectAdmin to redzat sadaļā DNS Administration; ja Jūsu DNS atrodas pie cita pakalpojumu sniedzēja, pārkopējiet šo ierakstu turp. Mans WebOké kartiņā Set E-mail redzams, kāda vērtība jābūt un vai tā ir atrasta. Citiem pakalpojumu sniedzējiem selektors var saukties citādi (default, mail, dkim), bet Jūs to atradīsiet tādā pašā veidā: panelī vai parakstītas vēstules s= laukā.
Kopsavilkums
- DKIM ir pārbaude, kas pārdzīvo pāradresāciju un ko Jūs katram pakalpojumam piesaistāt savam domēnam; DMARC vajadzībām skaitās tikai paraksts, kura
d=ir Jūsu domēns. DKIM-Signatureatradīsietd=(domēns) uns=(selektors); atslēga atrodas<s>._domainkey.<d>.- Katrs pakalpojums saņem savu selektoru; CNAME ieraksti ļauj pakalpojumam pašam nomainīt atslēgas. Noteikti ieslēdziet DKIM ar savu domēnu arī pašā pakalpojumā.
- Izmantojiet 2048 bitus; uzmanieties no nogrieztām atslēgām kopēšanas laikā.
- Nomainiet atslēgu, izmantojot jaunu selektoru, un veco atsauciet tikai pēc tam.
Tests
Uzdevums
Uzdevums Z4.3: DKIM selektora pārbaude. Nosūtiet vēstuli no sava domēna (vai no pakalpojuma, kas sūta Jūsu vārdā) uz savu adresi pie cita pakalpojumu sniedzēja. Atveriet galvenes un ierakstiet d= un s= vērtības no DKIM-Signature, un to, kas Authentication-Results ir rakstīts pie dkim=. Programma tiešsaistē uzmeklē selektoru, seko iespējamam CNAME, pārbauda atslēgu (esamību, vai nav tukša, garumu) un pasaka, vai d= ir saskaņots ar domēnu, kuru Jūs norādāt kā sūtītāju.
Papildu lasāmviela
Šajos rakstos aprakstītās darbības attiecas uz WebOké paneļiem; citiem pakalpojumu sniedzējiem process ir līdzīgs.
- Bezmaksas DNS kurss 4.4: DKIM: paraksts zem Jūsu e-pasta
- DirectAdmin rokasgrāmata 5.8: DKIM ieslēgšana un pārbaude
- DKIM iestatīšana, ja DNS darbojas ārējā serverī
- WebOké rokasgrāmata 6.7: Karte E-pasta iestatīšana (MX, SPF, DKIM, DMARC)
- RFC 6376 (DKIM), RFC 8301 (atslēgas garums un algoritmi), RFC 8463 (ed25519)
