10.3 Настройка автоматического входа в NextCloud в домене IPA

Для автоматического входа сервер и клиенты NextCloud должны быть клиентами IPA. Должен быть выполнен вход под учетной записью IPA.

Получите керберос тикет администратора для создания сервиса HTTP и создайте его.

# kinit admin

# ipa service-add HTTP/nc.ipa.test

Сгенерируйте керберос тикет для сервера NextCloud.

# ipa-getkeytab -s dc.ipa.test -p HTTP/nc.ipa.test -k /etc/httpd/http.keytab

Назначьте необходимого владельца и права на файл тикета.

# chown root:apache /etc/httpd/http.keytab

# chmod 640 /etc/httpd/http.keytab

Отредактируйте конфигурационный файл NextCloud приведя его к следующему виду..

# nano /etc/httpd/conf.d/nextcloud.conf
Alias /nextcloud "/var/www/html/nextcloud/"
<Directory /var/www/html/nextcloud/>
  Options +FollowSymlinks
  AllowOverride All
<IfModule mod_dav.c>
  Dav off
</IfModule>
SetEnv HOME /var/www/html/nextcloud
SetEnv HTTP_HOME /var/www/html/nextcloud
</Directory>

<Location "/nextcloud/index.php/apps/user_saml/saml/login">
    AuthType Kerberos
    AuthName "Kerberos Login"
    KrbServiceName HTTP
    KrbMethodNegotiate On
    KrbLocalUserMapping On
    KrbMethodK5Passwd Off
    KrbSaveCredentials Off
    KrbVerifyKDC On
    KrbAuthRealms IPA.TEST
    Krb5KeyTab /etc/httpd/http.keytab
    Require valid-user
</Location>

Перезагрузите httpd

# systemctl restart httpd

Отредактируйте файл /usr/share/nextcloud/config/config.php

В секцию trusted_domains впишите хостнейм этого сервера по абразцу

1 => 'nextc.ipa.test',

Далее, с помощью браузера, зайдите в веб интерфейс по адресу

http://<ip адрес сервера>/nextcloud

В открывшемся интерфейсе введите имя и пароль аккаунта будующего администратора сервера, а так же выберите в качестве базы данных сервер MySQL/MariaDB
Введите ранее созданного пользователя MySQL и название базы данных.
Пользователь: nc_user

Пароль: qqqwww
Название базы: nextcloud
Хост: localhost

Далее включите плагины для работы с LDAP и SSO. Для этого в правом верхнем углу выберите Приложения, в открывшемся окне, в меню выберите Пакеты приложений. Включите плагины LDAP user and group backend и SSO & SAML authentication.

Настройте доступ к LDAP.

Выберите в верхнем правом углу пункт Настройки, в открывшемся окне в меню пункт Интеграция LDAP/AD. Введите данные подключения.

Сервер: ldap://dc.ipa.test

Порт: 389

Пользователь DN: uid=admin,cn=users,cn=accounts,dc=ipa,dc=test

Пароль: qqqwww12

База DN: dc=ipa,dc=test

Нажмите Проверить базу поиска DN

Если все хорошо, нажмите Продолжить.

Выставите все так, как на скриншоте ниже и нажмите Проверить и пересчитать пользователей.

В следующем окне измените запрос LDAP на
(&(|(objectclass=person))(|(uid=%uid)(|(mailPrimaryAddress=%uid)(mail=%uid))))

Впишите пользователя admin и проверьте настройки

В следующем окне измените запрос LDAP на

(&(objectclass=ipausergroup))

Нажмите Проверить базу поиска DN

На этом настройка LDAP завершена.

Перейдите к настройке SSO.

Перейдите в меню в пункт Подтверждение подлинности SSO и SAML

Выберите переменные окружения

Введите в верхнее поле отображаемое имя подключения, например Kerberos
В нижнее поле uid REMOTE_USER

Поставьте галку Allow the use of multiple user back-ends

На этом конфигурация закончена.

Настройка SSO на клиенте

Зайдите на клиенте под учетной записью домена ipa.

Для работы с SSO нужно настроить браузер

Инструкцию по настройке можно найти в панель входа в ipa домен по адресу

https://<имя сервера ipa>

Нажать на ссылку Configured

Для Firefox

  1. Импортируйте сертификат нажав на кнопку Import Certificate Authority certificate

Поставьте все три галки.

  1. В адресной строке Firefox введите about:configдля отображения списка текущих параметров конфигурации.
  2. В поле «Поиск » введите, negotiateчтобы ограничить список параметров.
  3. Дважды щелкните запись network.negotiate-auth.trusted-uris, чтобы отобразить диалоговое окно «Введите значение(строка)».
  4. Введите имя домена, в котором вы хотите выполнить аутентификацию, например, .ipa.test.
  5. Перейдите на страницу Nextcloud в вашей сети и нажмите кнопку Kerberos. После этого вход будет произведен.

Если вы нашли ошибку, выделите текст и нажмите Ctrl+Enter.

Print Friendly, PDF & Email