Moodul 4 · 4.4
DKIM: allkiri sinu e-kirja all
Moodul 4: Kirjed e-posti jaoks · Lugemisaeg: 8 minutit
Õpieesmärk: Pärast seda tundi oskad selgitada, kuidas DKIM töötab, leida ja kontrollida DKIM-kirjet ning paigutada välise teenuse DKIM-kirje (TXT-na või CNAME-na) õigesti.
Põhimõisted: DKIM, digitaalne allkiri, privaatvõti ja avalik võti, selector, _domainkey, d= ja s=, v=DKIM1; k=rsa; p=, DKIM CNAME kaudu, võtmete rotatsioon
Tempel igale kirjale
SPF (tund 4.3) vaatab, millisest serverist kiri tuleb. DKIM (DomainKeys Identified Mail, RFC 6376) töötab teisiti: see paneb digitaalse allkirja kirjale endale.
Nii see toimib:
- Saatval mailiserveril on salajane privaatvõti. Selle abil loob server igale kirjale allkirja, mis katab kõige olulisemad osad: saatja, teema, kuupäeva ja sisu.
- See allkiri lisatakse kirja päiserida
DKIM-Signature. - Vastav avalik võti asub domeeni DNS-is, TXT-kirjena.
- Vastuvõtja laadib selle avaliku võtme alla ja kontrollib allkirja. Kui see klapib, teab ta kahte asja: kirja allkirjastas tõesti keegi, kes haldab selle domeeni DNS-i, ning kiri pole teel muutunud.
Tore on see, et DKIM toimib ka siis, kui kiri suunatakse edasi, kuni sisu ei muudeta. Just sellega on SPF-il raskusi.
Kus võti asub? Selector
Domeenil võib olla mitu DKIM-võtit: üks sinu enda mailiserverilt, üks Microsoft 365-lt, üks uudiskirjateenuselt. Et neid eristada, on igal võtmel nimi, selector.
Allkirjas on kaks olulist välja:
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=mail2026; ...d=example.com: domeen, mis allkirjastab.s=mail2026: selector.
Vastuvõtja otsib võtit selle nime järgi:
<selector>._domainkey.<domeen>
mail2026._domainkey.example.comOsa _domainkey on fikseeritud. Kirje näeb välja näiteks selline:
mail2026._domainkey.example.com. 3600 IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOC..."| Osa | Tähendus |
|---|---|
v=DKIM1 | See on DKIM-võti. |
k=rsa | Võtme liik. RSA on tavaline; ed25519 on samuti olemas (RFC 8463). |
p=... | Avalik võti ise, pikk täht ja numbrijada. Kui p= on tühi, on võti tühistatud. |
RSA-võti pikkusega 2048 bitti on tavaline valik; 1024 bitti on miinimum (RFC 8301). Selline võti on pikem kui 255 tähemärki, seega koosneb kirje mitmest tekstitükist (tund 4.2). Enamik paneele korraldab selle automaatselt.
Sinu enda DKIM ja teenuste oma
Sinu majutuspakett või mailiserver. Paljudes serverites on DKIM vaikimisi sees ning paneel paigutab kirje ise DNS-i. Siis näed TXT-kirjet nimega näiteks x._domainkey või default._domainkey.
Kui sinu domeeni DNS-i haldab mõni teine osapool (näiteks Cloudflare või su registripidaja), siis ei saa mailiserver ise kirjet sinna panna. Sel juhul kopeerid nime ja kogu väärtuse majutuspaneelist ning loo oma DNS-partneri juures TXT-kirje täpselt sama nime ja väärtusega. Seda unustatakse tihti nimeserverite vahetamisel: e-kirjad hakkavad siis sagedamini rämpsposti sattuma.
Välised teenused. Microsoft 365, Google Workspace ja uudiskirjateenused allkirjastavad oma võtmega. Neilt saad ühe või mitu kirjet:
- TXT-na, näiteks Google Workspace: nimi
google._domainkey, väärtusv=DKIM1; k=rsa; p=millele järgneb pikk võti. - CNAME-na, näiteks Microsoft 365 (
selector1._domainkeyjaselector2._domainkey) või Mailchimp (k2._domainkeyjak3._domainkey). CNAME osutab võtmele, mida teenus ise haldab. Eelis: teenus saab oma võtit vahetada, ilma et sina pead midagi tegema.
Kõigil neil kirjetel on oma selector, seega ei sega need üksteist. Ära eemalda oma mailiserveri DKIM-kirjet, kui lisad teenuse.
Miks kaks selectorit?
Teenused nagu Microsoft 365 nõuavad kahte CNAME-kirjet, selector1 ja selector2. Nad allkirjastavad korraga ühe võtmega ja vahetavad kindlatel aegadel teisele (võtmete rotatsioon). Kui seadistad ainult selector1, toimib see kuni esimese vahetuseni, misjärel DKIM lakkab korraga töötamast. Seega sea alati üles kõik kirjed, mida teenus annab.
Levinud vead
- Kahekordne domeeninimi. Sisestad
k2._domainkey.example.companeeli, mis lisab domeeninime ise taha. Tulemus:k2._domainkey.example.com.example.com. Kirjuta ainultk2._domainkey. - TXT CNAME asemel (või vastupidi). Võta üle täpselt see tüüp, mille teenus annab.
- Punkt puudub CNAME sihtmärgi lõpus. Paneelides, kus seda küsitakse:
dkim2.mcsv.net.koos punktiga. - Võti on katki lõigatud. Kopeerimisel jääb
p=viimane osa puudu. Võrdle algust ja lõppu originaaliga. - DKIM lülitatud teenuse paneelis sisse, aga kirjed panemata, või vastupidi. Enamiku teenuste puhul tuleb esmalt kirjed seadistada ja alles seejärel nende haldusliideses DKIM sisse lülitada.
DKIM-i toimimise kontrollimine
Saada kiri mõnele suure teenusepakkuja aadressile (näiteks Gmail) ja vaata originaali (Originaali kuvamine või Allika kuvamine). Otsi dkim=pass ja vaata, milline domeen seal juures on. Või saada kiri testiteenusele nagu mail-tester.com. Kirje saad ka ise vaadata DNS-tööriistaga: küsi TXT-kirjet aadressilt <selector>._domainkey.<domeen>.
Praktikas: nii näeb see välja paneelis
Selles näites kasutame DirectAdmin'it. DNS Administration all on TXT-kirje nimega x._domainkey; väärtus algab v=DKIM1; k=rsa; p=. E-mail Manager all, E-mail Accounts juures on nupp DKIM-i sisse või välja lülitamiseks. Teenuse CNAME-i loomiseks kasuta Add Record, tüüp CNAME, nimi k2._domainkey, väärtus punktiga lõpus.
Teistes paneelides asub DKIM mõnikord jaotises "E-posti autentimine" või "E-posti turvalisus", kuid DNS-is olev kirje on kõikjal sama.
Kokkuvõte
- DKIM lisab igale kirjale digitaalse allkirja; avalik võti asub DNS-is.
- Võti asub aadressil
<selector>._domainkey.<domeen>. Selector on kirjas allkirjas (s=), domeen samuti (d=). - Igal teenusel on oma selector; eri teenuste kirjed seisavad kõrvuti, ilma et need segaksid üksteist.
- Teenused kasutavad sageli CNAME-kirjeid ja mitut selectorit. Sea üles kõik, täpselt antud tüübiga.
- Kui sinu DNS-i haldab teine osapool, pead sinna ise paigutama oma mailiserveri DKIM-võtme.
Test
Ülesanne
Ülesanne Z4.4: DKIM-i leidmine. Ava kiri, mille oled saanud ettevõttelt või organisatsioonilt, ja vaata originaali. Otsi päisereast DKIM-Signature domeen (d=) ja selector (s=). Sisesta mõlemad. Kontroll otsib vastava võtme üles.
Ülesanne O4.4: Ise seadistamine oma harjutustsoonis. Harjutustsoonis kasutad väljamõeldud teenust; oma päris domeeni puhul võtad üle tegeliku võtme või CNAME-kirje oma mailiserverilt või teenuselt. Ülesande juures saad harjutusvõtme (väärtuse p= järel). See võti on pikk: kleebi see tervikuna, ilma midagi ära jätmata. Loo oma harjutustsoonis :<code>.dnspractice.eu
- TXT-kirje aadressil
cursus._domainkeyväärtusegav=DKIM1; k=rsa; p=<harjutusvõti>; - CNAME-kirje aadressil
k2._domainkey, mis osutab aadressiledkim.newsletter-demo.dnspractice.eu.(punktiga lõpus, kui su paneel seda küsib).
Ülesanne O4.4
Selle ülesande teed oma harjutustsoonis: päris DNS-tsoonis WebOké nimeserverites, mis on ainult sinu jaoks. Logi sisse oma e-posti aadressiga. Saad meili teel sisselogimislingi ja jõuad siis tagasi selle tunni juurde. Kasutame su aadressi ainult kursuse jaoks.
Rohkem lugemist
Nende artiklite sammud kehtivad WebOké paneelide kohta; teistes paneelides toimib see sarnaselt.
- DirectAdmin juhend 5.8: DKIM sisselülitamine ja kontrollimine
- DKIM-i seadistamine, kui DNS asub välises serveris
- DirectAdmin juhend 5.4: CNAME-kirjed ja lõpu punkt
- WebOké juhend 6.7: Kaart E-posti seadistamine (MX, SPF, DKIM, DMARC)
- RFC 6376 (DKIM), RFC 8301 (võtme pikkus), RFC 8463 (Ed25519)
