Modul 4 · 4.4
DKIM: digitalni potpis ispod Vaše pošte
Modul 4: Zapisi za e-poštu · Vrijeme čitanja: 8 minuta
Cilj lekcije: Nakon ove lekcije moći ćete objasniti kako DKIM funkcionira, pronaći i provjeriti DKIM zapis te ispravno postaviti DKIM zapis vanjske usluge (kao TXT ili kao CNAME).
Ključni pojmovi: DKIM, digitalni potpis, privatni ključ i javni ključ, selektor, _domainkey, d= i s=, v=DKIM1; k=rsa; p=, DKIM putem CNAME zapisa, rotacija ključeva
Pečat na svakoj poruci
SPF (lekcija 4.3) provjerava s kojeg poslužitelja poruka dolazi. DKIM (DomainKeys Identified Mail, RFC 6376) radi drukčije: stavlja digitalni potpis na samu poruku.
Evo kako to funkcionira:
- Poslužitelj pošiljatelja ima tajni privatni ključ. Pomoću njega za svaku poruku izrađuje potpis preko najvažnijih dijelova: pošiljatelja, predmeta, datuma i sadržaja.
- Taj potpis ide zajedno s porukom u zaglavlju:
DKIM-Signature. - Pripadajući javni ključ nalazi se u DNS-u domene, u TXT zapisu.
- Primatelj dohvaća taj javni ključ i provjerava potpis. Ako se podudara, zna dvije stvari: poruku je zaista potpisao netko tko upravlja DNS-om te domene, i poruka tijekom prijenosa nije izmijenjena.
Prednost je u tome što DKIM i dalje funkcionira kad se poruka proslijedi, sve dok se sadržaj ne mijenja. S time SPF ima poteškoća.
Gdje se nalazi ključ? Selektor
Domena može imati više DKIM ključeva: jedan od Vašeg vlastitog poslužitelja pošte, jedan od Microsoft 365, jedan od usluge za newsletter. Da bi se razlikovali, svaki ključ ima naziv, selektor.
U potpisu se nalaze dva važna polja:
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=mail2026; ...d=example.com: domena koja potpisuje.s=mail2026: selektor.
Primatelj zatim traži ključ pod ovim nazivom:
<selector>._domainkey.<domein>
mail2026._domainkey.example.comDio _domainkey je fiksan. Zapis izgleda primjerice ovako:
mail2026._domainkey.example.com. 3600 IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOC..."| Dio | Značenje |
|---|---|
v=DKIM1 | Ovo je DKIM ključ. |
k=rsa | Vrsta ključa. RSA je uobičajen; postoji i ed25519 (RFC 8463). |
p=... | Sam javni ključ, dugi niz slova i brojeva. Ako je p= prazan, ključ je povučen. |
RSA ključ od 2048 bitova uobičajen je odabir; 1024 bita je minimum (RFC 8301). Takav ključ je dulji od 255 znakova, pa se zapis sastoji od više tekstualnih dijelova (lekcija 4.2). Većina kontrolnih ploča to sama rješava.
Vaš vlastiti DKIM i onaj od usluga
Vaš hosting paket ili poslužitelj pošte. Na mnogim poslužiteljima DKIM je zadano uključen, a kontrolna ploča sama postavlja zapis u DNS. Tada ćete vidjeti TXT zapis s nazivom poput x._domainkey ili default._domainkey.
Ako se DNS Vaše domene nalazi kod druge strane (primjerice Cloudflare ili Vaš registrar), Vaš poslužitelj pošte ne može tamo sam postaviti zapis. Tada kopirate naziv i cjelokupnu vrijednost iz svoje kontrolne ploče hostinga te kod svog DNS pružatelja izradite TXT zapis s točno tim nazivom i vrijednošću. To se često zaboravi prilikom promjene poslužitelja imena: pošta tada odjednom češće završava u neželjenoj pošti.
Vanjske usluge. Microsoft 365, Google Workspace i usluge za newsletter potpisuju vlastitim ključem. Od njih dobivate jedan ili više zapisa:
- Kao TXT, primjerice Google Workspace: naziv
google._domainkey, vrijednostv=DKIM1; k=rsa; p=s dugim ključem iza toga. - Kao CNAME, primjerice Microsoft 365 (
selector1._domainkeyiselector2._domainkey) ili Mailchimp (k2._domainkeyik3._domainkey). CNAME upućuje na ključ kojim upravlja sama usluga. Prednost: usluga može zamijeniti svoj ključ bez da Vi morate bilo što napraviti.
Svi ti zapisi imaju vlastiti selektor i stoga se ne sudaraju jedni s drugima. Nemojte uklanjati DKIM zapis svog vlastitog poslužitelja pošte kada dodajete uslugu.
Zašto dva selektora?
Usluge poput Microsoft 365 traže dva CNAME zapisa, selector1 i selector2. One potpisuju jednim ključem odjednom i povremeno prelaze na drugi (rotacija ključeva). Ako postavite samo selector1, DKIM radi do prve zamjene, a nakon toga odjednom prestaje raditi. Zato uvijek postavite sve zapise koje usluga navede.
Česte pogreške
- Udvostručena domena. Upišete
k2._domainkey.example.comu kontrolnoj ploči koja sama dodaje naziv domene iza toga. Rezultat:k2._domainkey.example.com.example.com. Upišite samok2._domainkey. - TXT umjesto CNAME (ili obrnuto). Preuzmite točno onu vrstu koju usluga navede.
- Nema točke na kraju odredišta CNAME zapisa. U kontrolnim pločama koje to traže:
dkim2.mcsv.net.s točkom. - Skraćen ključ. Prilikom kopiranja nedostaje zadnji dio
p=. Usporedite početak i kraj s izvornikom. - DKIM je uključen u kontrolnoj ploči usluge, ali zapisi nisu postavljeni, ili obrnuto. Kod većine usluga prvo trebate postaviti zapise, a tek zatim u njihovom sučelju za upravljanje uključiti DKIM.
Provjera radi li DKIM
Pošaljite poruku na adresu kod velikog pružatelja (primjerice Gmail) i pogledajte izvornik (Prikaži izvornik ili Show original). Potražite dkim=pass i pogledajte koja se domena navodi uz to. Ili pošaljite poruku usluzi za testiranje poput mail-tester.com. Zapis možete i sami dohvatiti pomoću DNS alata: zatražite TXT zapis za <selector>._domainkey.<domein>.
U praksi: tako to izgleda u kontrolnoj ploči
U ovom primjeru koristimo DirectAdmin. U DNS Administration nalazi se TXT zapis s nazivom x._domainkey; vrijednost počinje s v=DKIM1; k=rsa; p=. Pod E-mail Manager, E-mail Accounts nalazi se gumb za uključivanje ili isključivanje DKIM-a. CNAME usluge izrađujete putem opcije Add Record, tip CNAME, naziv k2._domainkey, vrijednost s točkom na kraju.
U drugim kontrolnim pločama DKIM se ponekad nalazi pod "Autentifikacija e-pošte" ili "Sigurnost e-pošte", ali zapis u DNS-u je svugdje isti.
Sažetak
- DKIM stavlja digitalni potpis na svaku poruku; javni ključ nalazi se u DNS-u.
- Ključ se nalazi na
<selector>._domainkey.<domein>. Selektor se nalazi u potpisu (s=), kao i domena (d=). - Svaka usluga ima vlastiti selektor; zapisi različitih usluga postoje jedni uz druge.
- Usluge često koriste CNAME zapise i više selektora. Postavite ih sve, točno s navedenom vrstom.
- Ako se Vaš DNS nalazi kod druge strane, DKIM ključ Vašeg vlastitog poslužitelja pošte morate tamo sami postaviti.
Kviz
Zadatak
Zadatak Z4.4: Pronalaženje DKIM-a. Otvorite poruku koju ste primili od neke tvrtke ili organizacije i pogledajte njezin izvornik. U zaglavlju DKIM-Signature potražite domenu (d=) i selektor (s=). Unesite oboje. Provjera traži pripadajući ključ.
Zadatak O4.4: Samostalno postavljanje u Vašoj zoni za vježbu. U zoni za vježbu koristite lažnu uslugu; kod svoje prave domene preuzimate stvarni ključ ili CNAME od svog poslužitelja pošte ili usluge. Uz zadatak dobivate vježbeni ključ (vrijednost nakon p=). Taj ključ je dugačak: zalijepite ga u cijelosti, bez izostavljanja ičega. U zoni za vježbu izradite:<code>.dnspractice.eu
- TXT zapis na
cursus._domainkeys vrijednošćuv=DKIM1; k=rsa; p=<oefensleutel>; - CNAME zapis na
k2._domainkeykoji upućuje nadkim.newsletter-demo.dnspractice.eu.(s točkom na kraju ako Vaša kontrolna ploča to traži).
Zadatak O4.4
Ovaj zadatak izvodite u svojoj vlastitoj zoni za vježbu: pravoj DNS zoni na poslužiteljima imena tvrtke WebOké, isključivo za Vas. Prijavite se svojom e-mail adresom. Dobit ćete poveznicu za prijavu putem e-pošte i nakon toga se vratiti na ovu lekciju. Vašu adresu koristimo samo za potrebe tečaja.
Daljnje čitanje
Koraci u ovim člancima vrijede za kontrolne ploče WebOké; u drugim kontrolnim pločama postupak je sličan.
- DirectAdmin priručnik 5.8: Uključivanje i provjera DKIM-a
- Postavljanje DKIM-a kada DNS radi na vanjskom serveru
- DirectAdmin priručnik 5.4: CNAME-zapisi i točka na kraju
- Priručnik za WebOké 6.7: Kartica Postavljanje e-pošte (MX, SPF, DKIM, DMARC)
- RFC 6376 (DKIM), RFC 8301 (duljina ključa), RFC 8463 (Ed25519)
