Содержание

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Информация

Kerberos — сетевая служба аутентификации, основанная на одноименном протоколе аутентификации,
предлагающем механизм взаимной аутентификации клиента и сервера перед установлением связи между ними с учётом того факта,
что начальный обмен информацией  происходит в незащищенной среде, а передаваемые пакеты могут быть перехвачены и модифицированы.

Аутентификация через Kerberos является фактическим стандартом аутентификации доменных пользователей, и применяется в Windows Active Directiry происходит через Kerberos, Samba AD DC, FreeIPA.

В Linux-системах существуют две основные реализаций Kerberos - MIT и Heimdal. В ASTRALINUX (и далее в примерах этой статьи) используется MIT Kerberos.

При описании работы Kerberos применяются некоторые специфические термины:

  • Область (realm) - область (области), обслуживаемые сервисом. Примерно соответствует термину "домен";
  • Принципал - учетная запись Kerberos, с соответствующим набором прав. Примерно соответствет термину "пользователь". Но, при этом, пользователь может получать разные наборы прав от Керберос (разные принципалы).

...

Далее в примере используются

  • условное имя домена astraastradomain.ru;
  • условное имя севрера kdc.astradomain.ru. 

В терминологии Kerberos домену соответствует область (realm), которая обозначается заглавными буквами. Для домена astraastradomain.ru это будет область ASTRAASTRADOMAIN.RU

Имена и доступность компьютеров 

Сервис Kerberos следует устанавливать в сети, в которой уже настроена служба DNS. Каждому серверу, входящему в реалм область Kerberos, должно быть присвоено Полное Квалифицированное Доменное Имя (Fully Qualified Domain Name, FQDN).
Настроенный DNS-сервис должен обеспечивать прямое и обратное (реверсивное) разрешение FQDN (для отключения реверсивного разрешения можно в файле конфигурации клиента krb5.conf установить переменной rdns начение false)

Проверить настройку прямого и орбратного обратного разрешения имён можно командами:

...

Для проверки доступности компьютеров можно использовать команду ping:

Информация

ping kerberos.astraastradomain.ru

Синхронизация времени

Протокол Kerberos требует соответствия показаний часов всех клиентов и серверов,  при и при рассинхронизации часов аутентификация становится невозможной.
Простой и стандартный путь обеспечения синхронизации - использование сервиса Network Time Protocol (NTP).

...

Информация

[kdcdefaults]
kdc_ports = 750,88

[realms]
ASTRAASTRADOMAIN.RU = {
database_name = /var/lib/krb5kdc/principal
admin_keytab = FILE:/etc/krb5kdc/kadm5.keytab
acl_file = /etc/krb5kdc/kadm5.acl
key_stash_file = /etc/krb5kdc/stash
kdc_ports = 750,88
max_life = 10h 0m 0s
max_renewable_life = 7d 0h 0m 0s
master_key_type = des3-hmac-sha1
#supported_enctypes = aes256-cts:normal aes128-cts:normal
default_principal_flags = +preauth
}

...

Для примера, создадим файл /etc/krb5kdc/kadm5.acl, дающий неограниченные права любому принципалу, чьё  имя заканчивается на /admin:

Информация
*/admin@ASTRAadmin@ASTRADOMAIN.RU *

И создадим новую область Kerberos командой:

...

Выход из инструмента kadmin.local осуществляется командой quit.

После создания принципала admin/admin , его можно использовать для администрирования сервера Kerberos с удалённых компьютеров с помощью инструмента командной строки  kadmin.
Этот инструмент аналогичен инстрменту kadmin.local, однако рассчитан на удалённое подключение, и требует авторизации пользователя через указание принципала и ввод пароля:

...

  • Попросит указать имя домена (в нашем примере - EXAMPLEASTRADOMAIN.COMRU);
  • Задаст вопрос о необходимости указать сервер(ы) Kerberos в файле конфигурации клиента /etc/krb5.conf.
    Если ответить "да", то программа попросит ввести имена сервера (серверов) Kerberos 
    Если DNS уже настроен (см "Настройка DNS для автоматизации подключения клиентов"), можно просто ответить "нет".

...