В этой теме я бы хотел кое-что понять о Kerberos и Kerberized Hadoop (но не более Kerberos).Я прочитал очень много материалов, но это все еще кажется загадочным.
Прежде всего,
1.1 Keytab - это что-то вроде сопоставления принципала (имя пользователя) с его паролем.Может содержать много отображений.Я прав?
1.2 Что это за билет?Является ли он (зашифрованным (сессионный ключ + основной) с паролем TGS) или [(зашифрованным (с помощью пароля TGS) (сессионный ключ + основной)) + + (расшифрованный (с помощью пароля пользователя) сессионный ключ с помощью]
2. Давайте проверим:
[user@host] klist
klist: No credentials cache found (filename: /tmp/krb5cc_1000)
[user@host] klist -s
[user@host] echo $?
1
2.1 Что такое кэш учетных данных? Хранение билетов? Я знаю, что он может хранить TGT. Однако может ли он также хранить TGS для некоторыхуслуга?
2.2 Почему klist -s
получают только -s
? Почему не нужен принципал? Означает ли это, что принципал не имеет значения?
3.
[user@host] kinit some_principal@REALM -kt /tmp/keytab
[user@host] klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: some_principal@REALM
Valid starting Expires Service principal
01/31/2019 12:48:25 02/01/2019 12:48:25 krbtgt/REALM@REALM
[user@host] klist -s
[user@host] echo $?
0
3.1 Почему основной принципал? Кто решил об этом?
3.2 Означает ли это, что клиент HDFS может произвольно использовать этотБилет? Почему? В конце концов, использование этого TGT требует знания пароля (keytab) для этого конкретного принципала.
3.3 krbtgt/REALMM@REALM
означает билет на сервис krbtgt/REALMM@REALM
, да? Однако он принадлежитнекоторому особому принципалу (пользователю), да? Так что клиент, который использует этот билет, должен знать keytab (пароль) этого принципалаАл, да?Другими словами, возможна атака с кражей билетов.
3.4 Могу ли я настроить клиент HDFS для использования некоторого принципала?Вроде бы волшебным образом get some ticket, start HDFS client and enjoy
.