Nevím, jaký je teď stav, ale když jsem to naposledy zkoušel, tak SSH přijímalo SSHFP záznam z DNS i v případě, kdy se vůbec nepoužívala DNSSEC validace. To je velký problém. OpenSSH nijak nekontroluje, jestli došlo k DNS validaci (a kdo jí provedl), nebo jestli záznam vrátil naprosto nedůvěryhodný DNS server na wifi routeru někde v kavárně. Za mě je to nepoužitelné.
19. 2. 2025, 16:10 editováno autorem komentáře
Jenže stub resolver dostane už jen resolvovaný DNS záznam, nemá informace o tom, jak s ním resolver naložil, kde ho získal nebo zda ho validoval. Aby měl informace o validaci, musel by každý program implementovat vlastní DNS resolver, který by prošel celou cestu sám, zjišťoval všechny záznamy od kořene a všechny je sám validoval. Tím by měl pod kontrolou celý proces dotazování i validaci samotnou. Znamenalo by to ale opuštění tradičního modelu hierarchie v DNS a třeba taky problémy s udržováním kořenového veřejného klíče.
> Aby měl informace o validaci, musel by každý program implementovat vlastní DNS resolver, který by prošel celou cestu sám, zjišťoval všechny záznamy od kořene a všechny je sám validoval.
Nemusel by. V principu stačí mít v systému jeden resolver, který tu informaci poskytne dál.
Ano, jednak by to vyžadovalo změny na více místech a jednak je otázka, jak to udělat, aby si v žádném scénáři tu informaci o validaci nemohlo přihodit nezabezpečené DNS. První problém je spíše záležitost koordinace. Druhý problém je řešitelný, lokální DNSSEC resolver může komunikovat třeba přes DBus*, takže klient bude mít jistotu, že komunikuje s místním resolvem, a nebude tu moc prostor pro chyby konfigurace, kde by vzdálený server bez zabezpečeného připojení mohl lhát o validaci.
*) Neberte to jako návrh nejlepšího řešení, spíše pro ilustraci.