- [Show pagesource]
- [Old revisions]
- [[unknown link type]]
- []
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:
- u generovani klicu se pouziva /dev/urandom proto, ze to generuje prvocisla tou “bezpecnejsi” metodou (generuju nahodne cisla tak dlouho dokud se netrefim do prvocisla), coz by s pouzitim /dev/random trvalo par mesicu.
- ten -3 salt je potreba pro NSEC3, hashuje se spolu jmenem domeny a tim se vytvori zaznam o neexistenci, je asi vcelku spatny napad ho zadavat prazdny, protoze vetsina domen ma +- stejne poddomeny, kdyz se -3 nezada vubec, tak to generuje obycejne NSEC zaznamy
- Seriove cislo klice (B0rDeL) je zrejmne uplne na nic.
- Klice jsou dva, protoze se predpoklada, ze ten kterym se skutecne podepisuje zona bude kratsi a bude se relativne casto vymenovat (~1 za rok), tenhle klic se podepise tim druhym (delsim), a az ten delsi se da registratorovi. Prakticky jde mit klic jenom jeden, nicmene novy Bind na to nadava.