Создание SPN и Keytab файла: различия между версиями
Нет описания правки |
Нет описания правки |
||
Строка 7: | Строка 7: | ||
'''Keytab-файл''' - это файл содержащий пары Kerberos принципалов и их ключей (полученных с использованием Kerberos пароля). Эти файлы используются для аутентификации в системах, использующих Kerberos, без ввода пароля. Если пароль принципала изменится, то keytab-файл необходимо будет сгенерировать заново.<br> | '''Keytab-файл''' - это файл содержащий пары Kerberos принципалов и их ключей (полученных с использованием Kerberos пароля). Эти файлы используются для аутентификации в системах, использующих Kerberos, без ввода пароля. Если пароль принципала изменится, то keytab-файл необходимо будет сгенерировать заново.<br> | ||
{{Attention|Каждый кто имеет разрешения на чтения keytab-файла может воспользоваться любыми ключами в нем. Чтобы предотвратить нежелательное использование, ограничивайте права доступа при создании keytab-файла}} | {{Attention|Каждый кто имеет разрешения на чтения keytab-файла может воспользоваться любыми ключами в нем. Чтобы предотвратить нежелательное использование, ограничивайте права доступа при создании keytab-файла}} | ||
== Создание SPN на DC Windows == | == Создание пользователя и SPN на DC Windows == | ||
Для начала необходимо создать на контроллере домена (DC) пользователя к которому впоследствии мы привяжем SPN.<br> | Для начала необходимо создать на контроллере домена (DC) пользователя к которому впоследствии мы привяжем SPN.<br> | ||
Например создадим пользователя squid:<br> | Например создадим пользователя squid:<br> | ||
[[Файл:Win user create.jpg]]<br> | [[Файл:Win user create.jpg]]<br> | ||
Далее необходимо запретить пользователю смену пароля и не ограничивать срок действия пароля. Последнее важно, так как иначе при истечении срока действия пароля придется не только менять пароль, но и заново генерировать keytab-файлы привязанные к этому пользователю: | Далее необходимо запретить пользователю смену пароля и не ограничивать срок действия пароля. Последнее важно, так как иначе при истечении срока действия пароля придется не только менять пароль, но и заново генерировать keytab-файлы привязанные к этому пользователю:<br> | ||
[[Файл:Win user options.jpg]]<br> | |||
В целях безопасности рекомендуется исключить сервисного пользователя из доменных групп.<br> | |||
Создадим SPN для прокси-сервера squid HTTP/sqserver.domg.testg и привяжем его к пользователю squid.<br> | |||
Для этого в командной строке на контроллере домена выполним следующую команду: | |||
<pre>setspn -A HTTP/sqserver.domg.testg squid</pre> | |||
Проверить привязанные SPN у пользователя можно командой: | |||
<pre>setspn -L squid</pre> |
Версия от 15:32, 14 марта 2017
Введение
SPN (Service Principal Name) - уникальный идентификатор экземпляра сервиса. SPN используется аутентификацией Kerberos для сопоставления экземпляра сервиса с учетной записью сервиса (service logon account). Это позволяет клиентским приложением аутентифицироваться в роли сервиса даже не зная имени пользователя.
До того как аутентификация Kerberos сможет использовать SPN для аутентификации сервиса, SPN должен быть привязан к учетной записи, которая будет использоваться для входа. SPN может быть привязан только к одной учетной записи. Если учетная запись, привязанная к SPN, изменяется, то необходимо заново выполнить привязку.
Когда клиент хочет воспользоваться сервисом, он находит экземпляр сервиса и составляет SPN для этого экземпляра, далее использует этот SPN для аутентификации.
Keytab-файл - это файл содержащий пары Kerberos принципалов и их ключей (полученных с использованием Kerberos пароля). Эти файлы используются для аутентификации в системах, использующих Kerberos, без ввода пароля. Если пароль принципала изменится, то keytab-файл необходимо будет сгенерировать заново.
Создание пользователя и SPN на DC Windows
Для начала необходимо создать на контроллере домена (DC) пользователя к которому впоследствии мы привяжем SPN.
Например создадим пользователя squid:
Далее необходимо запретить пользователю смену пароля и не ограничивать срок действия пароля. Последнее важно, так как иначе при истечении срока действия пароля придется не только менять пароль, но и заново генерировать keytab-файлы привязанные к этому пользователю:
В целях безопасности рекомендуется исключить сервисного пользователя из доменных групп.
Создадим SPN для прокси-сервера squid HTTP/sqserver.domg.testg и привяжем его к пользователю squid.
Для этого в командной строке на контроллере домена выполним следующую команду:
setspn -A HTTP/sqserver.domg.testg squid
Проверить привязанные SPN у пользователя можно командой:
setspn -L squid