DKIM atslēgu ģenerators

Ievadi domēnu, no kura tiek sūtīts pasts. Atslēgu pāris tiek izveidots tavā pārlūkā, un privātā atslēga to nepamet.

Atslēga tiek izveidota tavā pārlūkā, nevis uz mūsu servera

Atslēgu pāri izveido tavs pārlūks, tāpēc šai lapai vajadzīgs JavaScript. Uz mūsu servera netiek ģenerēts nekas, un privātā atslēga pie mums nenonāk.

DKIM privātā atslēga ir noslēpums, ar kuru tiek parakstīts tavs pasts. Ikviens, kam ir tās kopija, var parakstīt vēstules, kuras saņēmēji uzskatīs par tavām. Tāpēc ģenerators, kas atslēgu izveido uz sava servera, lūdz uzticēt svešiniekam tieši to, ko tu centies pasargāt. Pat ar vislabākajiem nodomiem atslēga ceļotu pa tīklu, cauri tīmekļa serverim un nonāktu atmiņā uz mašīnas, kuru tu nekontrolē.

Šī lapa tā nedara. Atslēgu pāri izveido tavs pārlūks ar WebCrypto, to pašu saskarni, ar kuru tas veido TLS atslēgas, un privātā puse cilni nepamet. Nav pieprasījuma, kas to nestu, tāpēc nav arī nekā, ko mums žurnalēt, kešot vai rezervēt, un nav nekā, ko mēs varētu izsniegt, ja to kāds prasītu. Tāpēc lapai vajadzīgs arī JavaScript: darbs notiek tavā pusē, un servera puses aizvietotāja nav ar nodomu.

Atslēga glabājas tikai atmiņā. Aizverot lapu, tā pazūd, tāpēc nokopē privāto atslēgu, pirms ej prom. Ja tā tomēr pazūd, nekas nesalūzt: izveido jaunu pāri un publicē jauno ierakstu.

Kam kalpo katra puse

DKIM strādā ar pāri. Publisko pusi publicē DNS, lai to var izlasīt jebkurš saņēmējs pasaulē, un privātā paliek uz mašīnas, kas sūta tavu pastu.

  • Publiskā atslēga nonāk TXT ierakstā selektors._domainkey.example.lv formā v=DKIM1; k=rsa; p= un pati atslēga aiz tā.
  • Privātā atslēga nonāk uz pasta servera failā, ko drīkst lasīt tikai pasta serveris.
  • Selektors ir tikai vārds. Tas ļauj vienam domēnam publicēt vairākas atslēgas vienlaikus, pa vienai katram servisam, kas sūta tā vārdā.

Ieraksta publicēšana pati par sevi neko nemaina. Vēstules paraksta sūtošais serveris, tāpēc, kamēr tam nav norādīta privātā atslēga, nav arī paraksta, ko pārbaudīt, un publicētā atslēga vienkārši stāv neizmantota.

Kur liek privāto atslēgu

Privāto atslēgu saglabā kā failu uz mašīnas, kas paraksta. Faila īpašnieks ir lietotājs, ar kuru darbojas parakstīšanas serviss, un neviens cits to lasīt nedrīkst. Uz Linux tas nozīmē chmod 600 un pareizu īpašnieku. Tai nav vietas git repozitorijā, atbalsta pieteikumā, čatā vai koplietotā diskā.

OpenDKIM uz failu norāda ar KeyFile vai ar KeyTable, ja viens serveris paraksta vairākiem domēniem, un blakus tiek norādīts selektors. Rspamd DKIM parakstīšanas iestatījumos pieņem ceļu katram domēnam. Mākoņa pasta servisā parasti nav kur atslēgu ielīmēt: tas pats izveido savu pāri un iedod ierakstu, ko publicēt, un tad šī lapa nav tas, kas tev vajadzīgs.

Privātā atslēga šeit ir PKCS#8 PEM formā, kuru OpenDKIM, rspamd un citi uz OpenSSL būvēti parakstītāji lasa tieši. Rīku, kas pieprasa veco formātu ar galveni BEGIN RSA PRIVATE KEY, apmierina fails, kas pārveidots ar openssl rsa.

To pašu atslēgu ar openssl

Atslēgā nav nekā, kas būtu saistīts tieši ar šo lapu. Ja gribi to izveidot savā datorā vai tev tā vajadzīga skriptā, pietiek ar trim komandām:

openssl genrsa -out mail.private 2048
chmod 600 mail.private
openssl rsa -in mail.private -pubout -outform der | openssl base64 -A

Pirmā komanda izveido privāto atslēgu, otrā liedz pārējiem uz tās mašīnas to lasīt, bet trešā izdrukā base64 virkni, kas DNS ierakstā stāv aiz p=. Ieliec to v=DKIM1; k=rsa; p= un publicē kā TXT ierakstu.

Publicēšana, pārbaude un vēlāka nomaiņa

Kad ieraksts ir publicēts, nogaidi, līdz tas nonāk pie resolveriem, un izlasi to atpakaļ ar DKIM ieraksta pārbaudi. Tā ir šī darba otra puse: šī lapa atslēgu izveido, tā izlasa to, ko pasaule tiešām redz, un tikai otrā var pateikt, vai ieraksts pārdzīvoja ielīmēšanu vadības panelī.

Veiksmīgi pārbaudīts paraksts pats par sevi vēl nav aizsardzība. DKIM pierāda, ka vēstule parakstīta ar atslēgu, kas publicēta zem kāda domēna, un tikai DMARC pasaka, ka redzamajā From adresē esošajam domēnam jābūt tam pašam, kas parakstīja. Pārbaudi, kas tev ir, ar SPF ieraksta pārbaudi un DMARC ieraksta pārbaudi, pirms sāc stingrāku politiku.

Nomaiņa notiek tādā pašā secībā un nekad otrādi. Izveido pāri ar jaunu selektoru, publicē jauno ierakstu, nogaidi, līdz tas ir redzams, pārslēdz pasta serveri uz jauno privāto atslēgu un tikai tad noņem veco ierakstu. Vēstules, kas jau ir ceļā, ir parakstītas ar veco atslēgu, un tām tā vēl ir vajadzīga.

Biežākie jautājumi

Vai privātā atslēga nonāk pie nameserver.lv?

Nē. Pāris tiek izveidots tavā pārlūkā ar WebCrypto, un privātā atslēga nekad netiek ielikta pieprasījumā, tāpēc tā nenonāk ne šajā vietnē, ne mūsu žurnālos, ne rezerves kopijās. Serveris redz tikai domēnu un selektoru, un abi jau tāpat ir adreses joslā.

Kāpēc lapai vajadzīgs JavaScript?

Tāpēc, ka atslēga tiek veidota tavā pusē. Bez JavaScript pārlūkam nav ar ko to izveidot, un vienīgā alternatīva būtu ģenerēt to uz mūsu servera un nosūtīt tev, tieši to šis rīks atsakās darīt. Ja JavaScript ieslēgt nevar, izmanto openssl komandas augstāk savā datorā.

Cik garai jābūt DKIM atslēgai?

2048 biti, tieši tādu šī lapa arī izveido. 1024 bitu atslēgas joprojām tiek pārbaudītas, bet vairs netiek uzskatītas par pietiekami stiprām, savukārt garākas par 2048 bitiem saņēmēji apstrādā nevienādi, tāpēc tās sagādā vairāk problēmu nekā drošības.

Kādu selektoru izvēlēties?

Jebkuru īsu, kas domēnā jau netiek lietots. Daudzi izmanto gadu un mēnesi, piemēram 202601, jo tad vēlāk uzreiz redzams, cik veca ir atslēga. Selektors nav noslēpums un neietekmē paraksta stiprumu.

Kāpēc ieraksts ir sadalīts divās pēdiņās liktās virknēs?

Viena TXT virkne DNS nedrīkst pārsniegt 255 baitus, un 2048 bitu atslēga tajā neietilpst, tāpēc vērtība tiek publicēta vairākās virknēs, kuras vārda serveris savieno atpakaļ. Lielākā daļa DNS pakalpojumu sadala vērtību pati, ja ielīmē to veselu, un šī lapa rāda sadalīto formu tiem, kas to nedara.

Vai vienam domēnam var būt vairākas DKIM atslēgas vienlaikus?

Jā, un tas ir normāli. Katrs serviss, kas sūta pastu domēna vārdā, publicē savu selektoru, un tie viens otram netraucē. Tieši tas padara nomaiņu drošu: jaunā atslēga ir publicēta un strādā, pirms vecā tiek noņemta.