Мне было интересно, есть ли способ настроить SSH с аутентификацией Kerberos вообще без использования DNS-сервера?
Вы можете избежать DNS следующим образом (при условии MIT Kerberos):
1) Дайте KDC в krb5.conf вместо того, чтобы определять их местонахождение через записи SRV, и не выполняйте сопоставление областей через записи DNS TXT:
[libdefaults]
dns_lookup_kdc = no
dns_lookup_realm = no
[realms]
FOO.COM = {
kdc = kdc.foo.com
}
2) Убедитесь, что все ваши hostname-> address и обратные сопоставления находятся в вашем файле / etc / hosts, и, возможно, просто отключите использование DNS для gethostbyname () и т. Д. В /etc/nsswitch.conf.
Я не согласен с утверждением предыдущего ответа о том, что «компрометация инфраструктуры DNS не (напрямую) компрометирует инфраструктуру Kerberos». Использование записей SRV для определения местоположения KDC не позволяет, поскольку клиенты могут аутентифицировать KDC (они разделяют секрет с KDC, или KDC должен предоставить действительный сертификат, если используется PKINIT), и в любом случае поддельный KDC просто создаст поддельные билеты. который не будет работать при использовании. Но канонизация DNS-имен и сопоставление областей могут быть опасными. Спуфер DNS может заставить клиента получить билет для другой службы, отличной от той, с которой он намеревается связаться (путем изменения части имени хоста в имени "службы на основе хоста", наиболее распространенной) - возможно, службы, ключи которой есть у злоумышленника. ранее скомпрометированный. Подобные комментарии применимы и к отображению области, хотя сложнее воспользоваться тем, что ввести клиента в заблуждение относительно области.
Я пока не могу добавить комментарий из-за моей репутации, и на вопрос был дан ответ.
Но если стандартный DNS представляет для вас проблему с безопасностью, возможно, вам стоит взглянуть на DNSSEC: http://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions
Вроде, как бы, что-то вроде.
Kerberos не буду работают правильно, если хосты не могут правильно разрешить друг друга. Это почти всегда делается с помощью DNS-сервера. Теоретически, однако, это может быть сделано путем распространения файла hosts на каждую машину, которая будет частью домена Kerberos. Это почти наверняка не то, чем вы хотите заниматься.
Почему противодействие DNS серверу?