BIND nepodepisuje zónu pomocí DNSSEC

Rhinox

  • ***
  • 118
    • Zobrazit profil
    • E-mail
BIND nepodepisuje zónu pomocí DNSSEC
« kdy: 20. 06. 2026, 02:03:57 »
Pokousim ze rozchodit dnssec dle zdejsiho navodu (www.root.cz/clanky/dnssec-s-bind-9-9-snadno-a-rychle) jenze od ty doby se neco zmenilo a ten postup nefunguje.

V prve rade, pokud zonove soubory upravim jako v navode:
Kód: [Vybrat]
zone "example.com" {
        type master;
        file "example.com";
        inline-signing yes;
        auto-dnssec maintain;
        key-directory "/etc/bind/keys";
};

bind ani nenabehne, kontrola konfigurace zahlasi ze "option 'auto-dnssec' no longer exist". Vyhodil sem tedy radek "auto-dnssec maintain;" (a ponechal jen "inline-signing yes;"), pak sice bind nabehne, jenze nepodepisuje:
Kód: [Vybrat]
# rndc signing -list example.com
No signing records found

Pred par lety sem dle toho postupu dnssec rozchodil, ale jak to mam udelat ted, kdyz "auto-dnssec" neni podporovano? A je vubec ten postup jeste pouzitelnej?


Re:BIND nepodepisuje zónu pomocí DNSSEC
« Odpověď #1 kdy: 20. 06. 2026, 02:20:00 »
Skutečně jste narazil na postup, který byl v serveru BIND dlouho označen za zastaralý a od verze 9.20 není podporován. Aktuální postup využívající KASP shrnuje loňský článek DNSSEC snadno a rychle s automatickou správou v serveru BIND.

Rhinox

  • ***
  • 118
    • Zobrazit profil
    • E-mail
Re:BIND nepodepisuje zónu pomocí DNSSEC
« Odpověď #2 kdy: 20. 06. 2026, 03:49:24 »
Dekuji! Precetl sem, a rozchodil. Zbyva jenom jeden detail: chtel sem prejit na nsec3, tudiz sem do /etc/bind/named.conf.options dle navodu pridal:

Kód: [Vybrat]
dnssec-policy "nsec3" {
    nsec3param iterations 1 optout false salt-length 16;
};

"named-checkconf" mi pak vyhazuje:

Kód: [Vybrat]
named.conf.options:45: dnssec-policy: nsec3 iterations value 1 not allowed, must be zero

Nevim co to znamena, ale zrejme chce aby tam bylo "...iterations 0...", ze?

Re:BIND nepodepisuje zónu pomocí DNSSEC
« Odpověď #3 kdy: 20. 06. 2026, 08:09:04 »
Dekuji! Precetl sem, a rozchodil. Zbyva jenom jeden detail: chtel sem prejit na nsec3, tudiz sem do /etc/bind/named.conf.options dle navodu pridal:

Kód: [Vybrat]
dnssec-policy "nsec3" {
    nsec3param iterations 1 optout false salt-length 16;
};

"named-checkconf" mi pak vyhazuje:

Kód: [Vybrat]
named.conf.options:45: dnssec-policy: nsec3 iterations value 1 not allowed, must be zero

Nevim co to znamena, ale zrejme chce aby tam bylo "...iterations 0...", ze?


Bind to vyžaduje v souladu s RFC 9276. Je to kvůli zátěži CPU na rekurzivních DNS serverech ověřujících DNSSEC. Ale ano, z pohledu bezpečnosti je to určitý kompromis.

Re:BIND nepodepisuje zónu pomocí DNSSEC
« Odpověď #4 kdy: 22. 06. 2026, 10:50:16 »
Bind to vyžaduje v souladu s RFC 9276. Je to kvůli zátěži CPU na rekurzivních DNS serverech ověřujících DNSSEC. Ale ano, z pohledu bezpečnosti je to určitý kompromis.
Otázka z pohledu jaké bezpečnosti. NSEC3 hashuje jména pomocí SHA256. Při nenulovém iterations hashuje ještě několikrát znovu pomocí SHA256. S ohledem na aktuální stav krypto akcelerátorů s rychlostí i okolo 1020 hashů za sekundu je celkem jedno jestli pro jeden pokus hrubou silou bude potřeba jeden nebo dva hashe.
Prostě je potřeba se smířit s tím, že DNS je veřejný telefonní seznam a ani NSEC3 na tom nic nedokáže změnit.


vcunat

  • ***
  • 183
    • Zobrazit profil
    • E-mail
Re:BIND nepodepisuje zónu pomocí DNSSEC
« Odpověď #5 kdy: 25. 06. 2026, 17:33:17 »
Pozor, nejde o SHA256 ale SHA1.

To taky dělá problémy, protože SHA1 už není považováno za dostatečně bezpečné pro všechny účely, ale zrovna tady myslím ten rozdíl není zásadní.  Spíš jde o to, že jde dělat spousty triků, např. zajímavá DNS jména z principu nebývá těžké uhodnout (náhodně vypadající řetězce mají nižší užitečnost), pokud chce člověk na to jméno certifikát pro normální HTTPS, tak bude ve veřejném logu, atd.

Jinak RFC 9276 je pěkný zdroj pro takové informace.