Muzu se zeptat, jak je reseno, kdyz pouzivam treba putty nebo na linuxu ssh (ale nemam lokalne sprovoznenej na _klientovi_ z ktereho se pripojuju DNS server s podporou DNSSEC)? Jestli spravne chapu, v takovem pripade neni problem klientovi sfalsovat DNS odpoved, protoze DNSSEC je jenom mezi NS serverama a tedy je o to jednodussi provest MITM attack, protoze klient slepe duveruje tomu, co dostal v DNS odpovedi v SSHFP zaznamu.
Putty, pokud vím, SSHFP záznamy neověřuje, takže je zcela ze hry. Pokud klient nebude připojen k validujícímu resolveru, SSH nebude otisku v DNS důvěřovat a dotáže se uživatele.
Pokud je však klient připojen k vzdálenému validujícímu resolveru a toto připojení není zabezpečeno IPSECem ani jinak, pak ano, útočník může obsah SSHFP záznamu v DNS odpovědi pozměnit a SSH, potažmo stub resolver, to nepozná. Chcete-li takovémuto falešnému pocitu bezpečí zabránit, rozběhejte validující resolver na localhostu, je to snadné. Nebo nastavte volbu SSH VerifyHostKeyDNS na ask, ssh se pak bude ptát vždy.
Stub resolver to nemusí dělat nutně, pokud máte bezpečnou "poslední míli" k validujícimu resolveru, kterému důvěřujete.
Bohužel v dnešní době neexistuje API, které by vám bylo schopné takovou informaci dát. Pracuje se na tom, ale bude to nějakou chvíli trvat. A pokud budeme usilovat o standardizaci v rámci POSIXu, tak ještě delší chvíli.