4. modul · 4.4
DKIM: az aláírás a leveled alatt
4. modul: Rekordok az e-mailhez · Olvasási idő: 8 perc
Tanulási cél: A lecke után el tudja magyarázni, hogyan működik a DKIM, meg tud találni és ellenőrizni egy DKIM-rekordot, és helyesen be tud állítani egy külső szolgáltatás DKIM-rekordját (TXT-ként vagy CNAME-ként).
Kulcsfogalmak: DKIM, digitális aláírás, privát kulcs és publikus kulcs, selector, _domainkey, d= és s=, v=DKIM1; k=rsa; p=, DKIM CNAME-en keresztül, kulcsrotáció
Pecsét minden levélen
Az SPF (4.3. lecke) azt nézi, melyik szerverről érkezik a levél. A DKIM (DomainKeys Identified Mail, RFC 6376) másképp működik: digitális aláírást helyez magára a levélre.
Így működik:
- A küldő levelezőszerver birtokol egy titkos privát kulcsot. Ezzel készít minden levélhez egy aláírást a legfontosabb részek alapján: a feladó, a tárgy, a dátum és a tartalom.
- Ez az aláírás egy fejlécmezőben kerül a levélbe:
DKIM-Signature. - A hozzá tartozó publikus kulcs a domain DNS-ében található, egy TXT-rekordban.
- A fogadó lekéri ezt a publikus kulcsot, és ellenőrzi az aláírást. Ha az megegyezik, két dolgot tud biztosan: a levelet valóban olyasvalaki írta alá, aki kezeli az adott domain DNS-ét, és a levél útközben nem változott meg.
Az igazán jó benne, hogy a DKIM akkor is működik, ha egy levelet továbbítanak, amíg a tartalma nem módosul. Az SPF-nek ezzel épp gondja van.
Hol található a kulcs? A selector
Egy domainhez több DKIM-kulcs is tartozhat: egy a saját levelezőszerveréhez, egy a Microsoft 365-höz, egy a hírlevélküldő szolgáltatáshoz. Hogy meg lehessen különböztetni őket, minden kulcsnak van egy neve, a selector.
Az aláírásban két fontos mező szerepel:
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=mail2026; ...d=example.com: az aláíró domain.s=mail2026: a selector.
A fogadó ez alapján a név alapján keresi meg a kulcsot:
<selector>._domainkey.<domain>
mail2026._domainkey.example.comA _domainkey rész mindig fix. A rekord valahogy így néz ki:
mail2026._domainkey.example.com. 3600 IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOC..."| Rész | Jelentés |
|---|---|
v=DKIM1 | Ez egy DKIM-kulcs. |
k=rsa | A kulcs típusa. Az RSA a megszokott; létezik az ed25519 is (RFC 8463). |
p=... | Maga a publikus kulcs, egy hosszú betű- és számsor. Ha a p= üres, a kulcs vissza lett vonva. |
A 2048 bites RSA-kulcs a megszokott választás; 1024 bit a minimum (RFC 8301). Egy ilyen kulcs hosszabb, mint 255 karakter, ezért a rekord több szöveg-darabból áll (4.2. lecke). A legtöbb kezelőpanel ezt automatikusan megoldja.
A saját DKIM-je, és a szolgáltatásoké
A tárhelycsomagja vagy levelezőszervere. Sok szerveren a DKIM alapértelmezetten be van kapcsolva, és a kezelőpanel maga helyezi el a rekordot a DNS-ben. Ekkor egy TXT-rekordot lát, amelynek neve x._domainkey vagy default._domainkey.
Ha a domainje DNS-e egy másik félnél van (például Cloudflare-nél vagy a regisztrátornál), a levelezőszerver nem tudja ott magától elhelyezni a rekordot. Ilyenkor másolja ki a nevet és a teljes értéket a tárhelykezelő paneljéből, és hozzon létre a DNS-szolgáltatónál egy TXT-rekordot pontosan ezzel a névvel és értékkel. Ezt sokan elfelejtik a névszerverváltáskor: a levelek ettől kezdve gyakrabban a spambe kerülnek.
Külső szolgáltatások. A Microsoft 365, a Google Workspace és a hírlevélküldő szolgáltatások a saját kulcsukkal írnak alá. Egy vagy több rekordot kap tőlük:
- TXT formában, például a Google Workspace esetén: a név
google._domainkey, az értékv=DKIM1; k=rsa; p=utána a hosszú kulccsal. - CNAME formában, például a Microsoft 365 esetén (
selector1._domainkeyésselector2._domainkey) vagy a Mailchimp esetén (k2._domainkeyésk3._domainkey). A CNAME egy olyan kulcsra mutat, amelyet maga a szolgáltatás kezel. Ennek előnye, hogy a szolgáltatás anélkül cserélheti le a kulcsát, hogy Önnek bármit is tennie kellene.
Ezek a rekordok mind saját selectorral rendelkeznek, így nem zavarják egymást. Ne távolítsa el a saját levelezőszervere DKIM-rekordját, amikor egy szolgáltatást ad hozzá.
Miért kell két selector?
Az olyan szolgáltatások, mint a Microsoft 365, két CNAME-rekordot kérnek: selector1 és selector2. Egyszerre csak egy kulccsal írnak alá, és időről időre átváltanak a másikra (kulcsrotáció). Ha csak a selector1-et állítja be, az addig működik, amíg az első váltás meg nem történik, utána a DKIM egyből hibázni fog. Mindig állítsa be az összes rekordot, amelyet a szolgáltatás megad.
Gyakori hibák
- Kétszer megadott domainnév. Beírja, hogy
k2._domainkey.example.com, egy olyan panelben, amely maga is hozzáfűzi a domainnevet. Az eredmény:k2._domainkey.example.com.example.com. Csak ezt írja be:k2._domainkey. - TXT CNAME helyett (vagy fordítva). Pontosan azt a típust vegye át, amit a szolgáltatás megad.
- Nincs pont a CNAME-cél végén. Olyan panelekben, amelyek ezt megkövetelik:
dkim2.mcsv.net.ponttal a végén. - Levágott kulcs. Másoláskor hiányzik a
p=utolsó darabja. Hasonlítsa össze az elejét és a végét az eredetivel. - A DKIM bekapcsolva a szolgáltatás paneljén, de a rekordok nincsenek beállítva, vagy fordítva. A legtöbb szolgáltatásnál először a rekordokat kell beállítani, és csak utána kapcsolható be a DKIM a kezelőfelületükön.
Ellenőrzés, hogy működik-e a DKIM
Küldjön egy levelet egy nagy szolgáltatónál lévő címre (például Gmail), és nézze meg az eredeti üzenetet (Eredeti megtekintése vagy Forrás megtekintése). Keresse meg a dkim=pass bejegyzést, és nézze meg, melyik domain szerepel mellette. Vagy küldjön levelet egy tesztszolgáltatásnak, például a mail-tester.com oldalnak. A rekordot saját maga is lekérdezheti egy DNS-eszközzel: kérdezze le a <selector>._domainkey.<domain> TXT-rekordját.
A gyakorlatban: így néz ki egy kezelőpanelben
Ebben a példában a DirectAdmin-t használjuk. A DNS adminisztráció alatt található egy TXT-rekord x._domainkey néven; az érték v=DKIM1; k=rsa; p= résszel kezdődik. Az E-mail kezelés, E-mail fiókok alatt található egy gomb a DKIM be- vagy kikapcsolására. Egy szolgáltatás CNAME-jét az Új rekord felvétele funkcióval hozhatja létre, CNAME típussal, k2._domainkey névvel, a végén ponttal ellátott értékkel.
Más kezelőpanelekben a DKIM néha az "E-mail hitelesítés" vagy az "E-mail védelem" menüpont alatt található, de a DNS-ben lévő rekord mindenhol ugyanaz.
Összefoglalás
- A DKIM digitális aláírást helyez minden levélre; a publikus kulcs a DNS-ben található.
- A kulcs a
<selector>._domainkey.<domain>néven érhető el. A selector az aláírásban szerepel (s=), a domain is (d=). - Minden szolgáltatásnak saját selectorja van; a különböző szolgáltatások rekordjai egymás mellett léteznek.
- A szolgáltatások gyakran CNAME-rekordokat és több selectort használnak. Mindegyiket állítsa be, pontosan a megadott típussal.
- Ha a DNS-je egy másik félnél van, a saját levelezőszervere DKIM-kulcsát Önnek kell ott beállítania.
Kvíz
Feladat
Z4.4 feladat: DKIM kikeresése. Nyisson meg egy levelet, amelyet egy cégtől vagy szervezettől kapott, és nézze meg az eredeti üzenetet. Keresse meg a DKIM-Signature fejlécben a domaint (d=) és a selectort (s=). Adja meg mindkettőt. Az ellenőrzés megkeresi a hozzá tartozó kulcsot.
O4.4 feladat: Önálló beállítás a gyakorlózónában. A gyakorlózónában egy kitalált szolgáltatást használ; a valódi domainjénél a tényleges kulcsot vagy CNAME-et veszi át a levelezőszerverétől vagy szolgáltatásától. A feladathoz kap egy gyakorlókulcsot (a p= utáni érték). Ez a kulcs hosszú: illessze be a teljes egészében, semmit se hagyjon ki belőle. Hozza létre a gyakorlózónájában ():<code>.dnspractice.eu
- egy TXT-rekordot a
cursus._domainkeynéven,v=DKIM1; k=rsa; p=<gyakorlókulcs>értékkel; - egy CNAME-rekordot a
k2._domainkeynéven, amely adkim.newsletter-demo.dnspractice.eu.címre mutat (a végén lévő ponttal, ha a kezelőpanelje ezt kéri).
O4.4. feladat
Ezt a feladatot a saját gyakorlózónájában végzi el: egy valódi DNS-zónában, amely a WebOké névszerverein fut, és kizárólag az Ön számára jött létre. Jelentkezzen be az e-mail címével. Egy belépési linket kap e-mailben, amellyel visszatérhet erre a leckére. Az e-mail címét kizárólag a tanfolyamhoz használjuk.
További olvasnivaló
Az ezekben a cikkekben szereplő lépések a WebOké kezelőpaneljeire vonatkoznak; más paneleken hasonlóan működik.
- DirectAdmin útmutató 5.8: DKIM bekapcsolása és ellenőrzése
- DKIM beállítása, ha a DNS külső szerveren fut
- DirectAdmin útmutató 5.4: A CNAME-rekordok és a záró pont
- WebOké útmutató 6.7: Az E-mail beállítása kártya (MX, SPF, DKIM, DMARC)
- RFC 6376 (DKIM), RFC 8301 (kulcshossz), RFC 8463 (Ed25519)
