...
Kerberos так же ожидает, что FQDN сервера является reverse-resolvable. Если выяснение доменного имени по IP недоступно, то установите значение переменной rdns в значение false на клиентах в файле krb5.conf.
Note |
---|
Active Directory сильно зависит от DNS, поэтому весьма вероятно что ваш Active Directory Domain Controller уже имеет роль DNS. В этом случае убедитесь в том, что каждый сервер имеет свое FQDN перед выполнением тестов, описанных ниже в этом разделе. |
...
Для проверки соединения между хостами и , выполните ping для каждого хоста по его FQDN:
Code Block | ||
---|---|---|
| ||
$ ping server.aktiv-test.ru PING server.aktiv-test.ru (10.0.0.1) 56(84) bytes of data. 64 bytes from server.aktiv-test.ru (10.0.0.1): icmp_seq=1 ttl=128 time=0.176ms |
Вывод комнады команды ping показывает успешное определение IP адреса по FQDN, и простой ответ от сервера. Ответ от сервера является подтверждением того, что между хостом и сервером есть соединение.
...
Протокол Kerberos требует синхронизации времени сервера и клиента: если системные часы клиентов и сревера сервера расходятся, то аутентификация не будет выполнена. Простейший способ синхронизировать системные часы - использование Network Time Protocol (NTP) сервера. Некоторый линуксы, например, Astra Linux по-умолчанию синхронизирует время с российскими NTP-серверами. Для настройки собственного NTP-сервера смотрите документацию на ваш дистрибутив (например, UbuntuTime для Ubuntu).
...
- Установлены
krb5-user, libpam-krb5, libpam-ccreds, auth-client-config, krb5-pkinit, opensc, libengine-pkcs11-openssl
- default realm:
AKTIV-TEST
- сервера серверы (kdc, admin) указаны по IP-адресу (лучше указать их в /etc/hosts)
...
Code Block | ||||
---|---|---|---|---|
| ||||
[domain_realm] .aktiv-test.ru = AKTIV-TEST aktiv-test.ru = AKTIV-TEST |
...
Создать на сервере нового пользователя
Code Block | ||
---|---|---|
| ||
$ sudo kadmin.local # username = testuser # password = test kadmin.local:$ addprinc <username> # ... kadmin.local:$ quit |
...
Code Block | ||
---|---|---|
| ||
$ kinit <username> ... $ klist ... $ kdestroy |
Клиент
Скачаем Загрузим rtengine для openssl из sdk и поместим в папку с энджинами
...
Code Block | ||||
---|---|---|---|---|
| ||||
[realms] AKTIV-TEST = { 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 max_life = 10h 0m 0s max_renewable_life = 7d 0h 0m 0s master_key_type = des3-hmac-sha1 supported_enctypes = aes256-cts:normal arcfour-hmac:normal des3-hmac-sha1:normal des-cbc-crc:normal des:normal des:v4 des:norealm des:onlyrealm des:afs3 default_principal_flags = +preauth pkinit_anchors = FILE:/etc/krb5/cacert.pem pkinit_identity = FILE:/etc/krb5/kdc.pem,/etc/krb5/kdckey.pem } |
...
Включим preauth для пользователя
Code Block | ||
---|---|---|
| ||
$ sudo kadmin.local $ kadmin.local$: modprinc +requires_preauth <username> |
...
Code Block | ||
---|---|---|
| ||
$ kinit <username> |
Примечание
Если по каким-то причинам не удалось аутентифицироваться, то можно узнать об причине неисправности с помощью
...
логирования. Для этого в файле
...
настройки /etc/krb5.conf и /etc/krb5kdc/kdc.conf.
Code Block | ||
---|---|---|
| ||
[logging] default = FILE:/var/log/krb5.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmin.log |
...