Сервер Kerberos с сервисами Heimdal



Для начала нам потребуется копия файла настройки Kerberos, /etc/krb5.conf. Просто скопируйте его с KDC на клиентский компьютер безопасным способом (используя сетевые утилиты, такие как scp(1), или физически, с помощью дискеты).

Затем вам понадобится файл /etc/krb5.keytab. Это основное различие между сервером, поддерживающим Kerberos и рабочими станциями — на сервере должен быть файл keytab. В этом файле находится центральный ключ сервера, который позволяет KDC проверять все другие идентификаторы. Он должен быть помещен на сервер безопасным способом, поскольку безопасность сервера может быть нарушена, если ключ станет общедоступен. Это означает, что его передача через прозрачный канал, такой как FTP — очень плохая идея.

Обычно перенос файла keytab на сервер производится с помощью программы kadmin. Это удобно, поскольку вам потребуется также создать запись хоста (KDC часть krb5.keytab) с помощью kadmin.

Обратите внимание, что должны быть уже зарегистрированы в системе и необходимо наличие прав на использование интерфейса kadmin в файле kadmind.acl. Обратитесь к разделу ''Remote administration'' в info страницах Heimdal (info heimdal) за деталями по составлению списка доступа. Если вы не хотите включать удаленный доступ kadmin, можете просто подключиться к KDC через защищенное соединение (локальную консоль, ssh(1) или Kerberos telnet(1)) и выполнять администрирование локально с помощью kadmin -l.

После добавления файла /etc/krb5.conf, вы можете использовать kadmin с сервера Kerberos. Команда add --random-key позволит вам добавить запись для сервера, а команда ext позволит перенести эту запись в собственный keytab файл сервера. Например:

# kadmin

kadmin> add --random-key host/myserver.example.org

Max ticket life [unlimited]:

Max renewable life [unlimited]:

Attributes []:

kadmin> ext host/myserver.example.org

kadmin> exit

Обратите внимание, что команда ext (сокращение от ''extract'') сохраняет полученный ключ в файле /etc/krb5.keytab по умолчанию.

Если на KDC не запущен kadmind (возможно по соображениям безопасности) и вы не можете получить доступ к kadmin удаленно, возможно добавление записи хоста (host/myserver.EXAMPLE.ORG) непосредственно на KDC с последующим извлечением ее во временный файл (и перезаписью /etc/krb5.keytab на KDC) примерно так:

# kadmin

kadmin> ext --keytab=/tmp/example.keytab host/myserver.example.org

kadmin> exit

Затем вы можете скопировать keytab на сервер защищенным способом (например, используя scp или дискету). Убедитесь, что используемое имя keytab не совпадает с именем по умолчанию во избежание перезаписывания keytab на KDC.

Теперь ваш сервер может связываться с KDC (добавлен файл krb5.conf) и идентифицировать себя (добавлен файл krb5.keytab). Теперь вы готовы к включению некоторых сервисов Kerberos. В этом примере мы включим сервис telnet, поместив в /etc/inetd.conf нижеприведенную строку и перезапустив сервис inetd(8) командой /etc/rc.d/inetd restart:

telnet stream tcp nowait root /usr/libexec/telnetd telnetd -a user

Очень важно установить ключ -a (тип аутентификации) в user. Обратитесь к странице справочника telnetd(8) за подробной информацией.

Клиент Kerberos с Heimdal

Настройка клиентского компьютера почти тривиально проста. Как только настройка Kerberos закончена, вам потребуется только файл настройки Kerberos, /etc/krb5.conf. Просто скопируйте его безопасным способом на клиентский компьютер с KDC.

Протестируйте клиентский компьютер, попытавшись использовать kinit, klist, и kdestroy для получения, отображения и удаления списка доступа. Соединитесь с Kerberos севером используя клиент Kerberos, если соединение не работает и получение доступа является проблемой, это скорее всего проблема сервера, а не клиента или KDC.

При тестировании приложения вроде telnet, попробуйте использовать программу перехвата пакетов (такую как tcpdump(1)), чтобы убедиться, что ваш пароль не передается незашифрованным. Попробуйте использовать telnet с параметром -x, чтобы зашифровать весь поток данных (подобно ssh).

Основные клиентские приложения Kerberos (традиционно называющиеся kinit, klist, kdestroy, и kpasswd) находятся в базовой установке FreeBSD. Обратите внимание, что в FreeBSD версий до 5.0 они были переименованы в k5init, k5list, k5destroy, k5passwd, и k5stash (хотя их обычно использовали лишь однократно).

Различные неосновные клиентские приложения Kerberos также устанавливаются по умолчанию. Здесь проявляется ''минимальность'' базовой установки Heimdal: telnet это единственное приложение, поддерживающее Kerberos.

Порт Heimdal добавляет некоторые отсутствующие клиентские приложения: поддерживающие Kerberos версии ftp, rsh, rcp, rlogin, и некоторые другие реже используемые программы. Порт MIT также содержит полный пакет клиентских приложений Kerberos.


Дата добавления: 2018-10-26; просмотров: 156; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!