Аутентификация пользователей томов NFS с помощью Kerberos#
Кибер Инфраструктура позволяет выполнять аутентификацию пользователей томов NFS с помощью Kerberos.
Процедура включения аутентификации с помощью Kerberos состоит из следующих шагов:
Включение аутентификации Kerberos в панели администрирования продукта Кибер Инфраструктура.
Создание субъектов и таблиц ключей (keytabs) для клиента Kerberos и тома NFS на сервере Kerberos.
Настройка клиента Kerberos на машине, к которой будет подключен том NFS.
Включение аутентификации Kerberos для тома NFS.
Подключение тома NFS к машине с настроенным клиентом Kerberos.
Предварительные требования
Тома NFS созданы и остановлены, как описано в разделах Создание томов NFS и Управление томами NFS.
Тому NFS назначено полное имя домена (FQDN). Для DNS-имени тома и его IP-адреса настроено прямое и обратное разрешение имен DNS.
Если для исходящего трафика в кластере настроены ограничения, следует вручную добавить правило, чтобы разрешить исходящий трафик через порты TCP 88 и 749, а также порт UDP 88, как описано в разделе Настройка правил брандмауэра для исходящих подключений.
Включение аутентификации с помощью Kerberos
Перейдите на экран Настройки → Безопасность → Kerberos.
Укажите следующие настройки Kerberos:
В поле Область — имя области Kerberos (realm) заглавными буквами.
В поле Сервис KDC — DNS-имя или IP-адрес сервера, на котором работает сервис центра распределения ключей (KDC) данной области.
В поле Сервис администрирования KDC — DNS-имя или IP-адрес сервера, на котором работает сервис администрирования центра распределения ключей данной области.
Примечание
Как правило, центр распределения ключей и его сервис администрирования запускаются на одном и том же сервере.
Нажмите Сохранить, чтобы применить изменения.
Используйте следующую команду:
vinfra service nfs kerberos settings set --realm <realm> --kdc-service <kdc-service>
--kdc-admin-service <kdc-admin-service>
--realm <realm>Имя области Kerberos (realm) заглавными буквами.
--kdc-service <kdc-service>DNS-имя или IP-адрес сервера, на котором работает сервис центра распределения ключей (KDC) указанной области.
--kdc-admin-service <kdc-admin-service>DNS-имя или IP-адрес сервера, на котором работает сервис администрирования центра распределения ключей указанной области.
Например, чтобы включить аутентификацию с помощью Kerberos, выполните:
# vinfra service nfs kerberos settings set --realm EXAMPLE.COM --kdc-service 10.136.10.10 \
--kdc-admin-service 10.136.10.10
Cоздание субъектов и их keytab-файлов:
Войдите как администратор в программу администрирования баз данных Kerberos.
Создайте субъекты для клиента Kerberos и тома NFS с помощью команды
addprinc -randkey nfs/<FQDN>@<realm>. Например, если DNS-имя клиента Kerberos — этоkrb-client.example.com, а DNS-имя тома NFS — этоshare1.example.com, выполните:# addprinc -randkey nfs/krb-client.example.com@EXAMPLE.COM # addprinc -randkey nfs/share1.example.com@EXAMPLE.COM
Сгенерируйте таблицы ключей для созданных субъектов и сохраните их файлы в папку, из которой вы их потом сможете скопировать. Например:
# ktadd -k /tmp/krb-client.keytab nfs/krb-client.example.com@EXAMPLE.COM # ktadd -k /tmp/share.keytab nfs/share1.example.com@EXAMPLE.COM
Важно
У каждого тома NFS и каждого клиента Kerberos (пользователя, подключающего экспорт NFS) должны быть собственные субъект и таблица ключей.
Настройка клиента Kerberos:
На сервер, к которому будет подключен том NFS, установите необходимые пакеты. Например, на сервере с CentOS, выполните:
# yum install krb5-workstation krb5-libs –y
[Необязательно] Настройте
firewalldиselinuxпри необходимости. Для получения подробной информации обращайтесь к документации соответствующей операционной системы. Для операционной системы Red Hat Enterprise Linux, например, можно получить подробную информацию в Red Hat Enterprise Linux Security Guide в разделе Securing services.Скопируйте файл конфигурации
krb5.confи файл таблицы ключейkrb-client.keytabс сервера Kerberos на сервер, к которому будет подключен том NFS.Проверьте, что том NFS и сервер Kerberos доступны по их DNS-именам с сервера, к которому будет подключен том NFS. Удостоверьтесь, что этому серверу назначено такое же DNS-имя, как у субъекта для клиента Kerberos.
Запустите службу
nfs-client:# systemctl start nfs-client
Включение аутентификации для тома NFS
Перейдите на экран Сервисы хранилища → NFS → Том и выберите том NFS.
Если том запущен, остановите его с помощью кнопки Стоп.
Нажмите Идентификация.
В окне Идентификация включите пользовательскую аутентификацию и загрузите файл таблицы ключей, сгенерированный для субъекта тома NFS.
Нажмите Сохранить.
Используйте следующую команду:
vinfra service nfs share set [--krb-keytab <krb-keytab>] [--krb-auth <krb-auth>] <name>
--krb-keytab <krb-keytab>Файл таблицы ключей Kerberos.
--krb-auth <krb-auth>Включение или отключение аутентификации с помощью Kerberos (
trueилиfalse).<name>Имя тома NFS.
Например, чтобы включить аутентификацию для тома share1 с использованием файла таблицы ключей /tmp/krb5.keytab, выполните:
# vinfra service nfs share set share1 --krb-auth true --krb-keytab share1.keytab
Подключение тома NFS, для которого включена аутентификация с помощью Kerberos:
Укажите параметр sec=krb5 в команде mount. Например, чтобы подключить том share1 с DNS-именем share1.example.com, выполните:
# mkdir /mnt/share
# mount -t nfs4 -o sec=krb5 share1.example.com:/share1 /mnt/share/
См. также