Аутентификация пользователей томов NFS с помощью Kerberos

Аутентификация пользователей томов NFS с помощью Kerberos#

Кибер Инфраструктура позволяет выполнять аутентификацию пользователей томов NFS с помощью Kerberos.

Процедура включения аутентификации с помощью Kerberos состоит из следующих шагов:

  1. Включение аутентификации Kerberos в панели администрирования продукта Кибер Инфраструктура.

  2. Создание субъектов и таблиц ключей (keytabs) для клиента Kerberos и тома NFS на сервере Kerberos.

  3. Настройка клиента Kerberos на машине, к которой будет подключен том NFS.

  4. Включение аутентификации Kerberos для тома NFS.

  5. Подключение тома NFS к машине с настроенным клиентом Kerberos.

Предварительные требования

Включение аутентификации с помощью Kerberos

  1. Перейдите на экран Настройки → Безопасность → Kerberos.

  2. Укажите следующие настройки Kerberos:

    1. В поле Область — имя области Kerberos (realm) заглавными буквами.

    2. В поле Сервис KDC — DNS-имя или IP-адрес сервера, на котором работает сервис центра распределения ключей (KDC) данной области.

    3. В поле Сервис администрирования KDC — DNS-имя или IP-адрес сервера, на котором работает сервис администрирования центра распределения ключей данной области.

      Примечание

      Как правило, центр распределения ключей и его сервис администрирования запускаются на одном и том же сервере.

  3. Нажмите Сохранить, чтобы применить изменения.

Используйте следующую команду:

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-файлов:

  1. Войдите как администратор в программу администрирования баз данных Kerberos.

  2. Создайте субъекты для клиента 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
    
  3. Сгенерируйте таблицы ключей для созданных субъектов и сохраните их файлы в папку, из которой вы их потом сможете скопировать. Например:

    # 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:

  1. На сервер, к которому будет подключен том NFS, установите необходимые пакеты. Например, на сервере с CentOS, выполните:

    # yum install krb5-workstation krb5-libs –y
    
  2. [Необязательно] Настройте firewalld и selinux при необходимости. Для получения подробной информации обращайтесь к документации соответствующей операционной системы. Для операционной системы Red Hat Enterprise Linux, например, можно получить подробную информацию в Red Hat Enterprise Linux Security Guide в разделе Securing services.

  3. Скопируйте файл конфигурации krb5.conf и файл таблицы ключей krb-client.keytab с сервера Kerberos на сервер, к которому будет подключен том NFS.

  4. Проверьте, что том NFS и сервер Kerberos доступны по их DNS-именам с сервера, к которому будет подключен том NFS. Удостоверьтесь, что этому серверу назначено такое же DNS-имя, как у субъекта для клиента Kerberos.

  5. Запустите службу nfs-client:

    # systemctl start nfs-client
    

Включение аутентификации для тома NFS

  1. Перейдите на экран Сервисы хранилища → NFS → Том и выберите том NFS.

  2. Если том запущен, остановите его с помощью кнопки Стоп.

  3. Нажмите Идентификация.

  4. В окне Идентификация включите пользовательскую аутентификацию и загрузите файл таблицы ключей, сгенерированный для субъекта тома NFS.

  5. Нажмите Сохранить.

Используйте следующую команду:

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/