Cele je to vicemene (modulo nejaka magie) o tom, ze ke kazdemu RR se vytvori druhy, ktery je jeho podpisem.

Pro bind: klic se generuje pomoci dnssec-keygen (coz je tentyz nastroj jako na generovani klice pro NSUPDATE). Vysledekm jsou dva soubory, .key se $INCLUDEuje do zony ke ktere patri a private se nekam schova (takovy odhad je, ze je docela dobry napad ho mit root-readable u te zony, viz dale)

Pote co clovek ma klic, tak se zona prozene skrze dnssec-signzone (defaultne bere verejne klice ze zony a privatni z aktualniho adresare, proto privatni u zony). Vysledkem je podepsana zona, ktera se pak strci do zone { file “…” } v bind.conf. Druhym efektem dnssec-signzone je “keyset file” coz je to co se musi dopravit delegujicimu (ie. registratorovi) aby to mohl strcit do sve zony a podepsat.

Cele to umi docela velkou horu ruznych algoritmu, je doporuceno vzdy pouzit alespon RSASHA1. Z meho pohledu je problem v tom, ze aby se to veslo do limitu na velikost RR tak to RSA musi mit pomerne kratky klic (v dokumentaci bindu 768 bitu). DNSSEC je specifikovan i s podpisy dle GOST R 34.10-2001, ktery ma daleko lepsi pomer mezi bezpecnosti a delkou klice (a navic jak uz je z nazvu patrne je rusky a tak tedy urcite poradne bytelny :)) ovsem Bind 9.5.1-P3 (coz podle me neni vubec stara verze) ho neumi.

A jeste jednou: (idealne jako root v adresari kde jsou zonove soubory)

dnssec-keygen -a NSEC3RSASHA1 -n ZONE -b 1024 -v 10 -r /dev/urandom vosika.cz
dnssec-keygen -f KSK -a NSEC3RSASHA1 -b 2048 -r /dev/urandom vosika.cz

dostanu dva soubory Kvosika.cz.+123+B0rDeL.key, tyhle dva soubory je potreba $INCLUDEovat do zony (nebo je tam rovnou napastovat, to je celkem putna). Potom:

dnssec-signzone -o vosika.cz -3 abcdef soubor-se-zonou-vosika.cz-at-uz-se-jmenuje-jakkoliv

abcdef je nejake vcelku libovolne sestnastkove cislo (musi mit sudy pocet cislic), ktere se pouzije jako salt (odhadem je dobry napad mit pro kazdou zonu stale stejne unikatni cislo). Vysledkem je soubor-se-zonou-vosika.cz-at-uz-se-jmenuje-jakkoliv.signed, kterym je potreba strcit do named.conf misto puvodniho soubor-se-zonou-vosika.cz-at-uz-se-jmenuje-jakkoliv.


Poznamky pod carou: