Поиск по сайту:

Двухфакторная аутентификация для ownCloud


На этой странице

  1. Предпосылки
  2. Подключите privacyIDEA к базе данных ownCloud.
    1. Подготовка базы данных
    2. Подключение PrivacyIDEA к ownCloud
      1. Создать распознаватель пользователя
      2. Создать область

      В этом руководстве я покажу вам, как защитить вашу установку ownCloud с помощью privacyIDEA, которую вы можете использовать для управления вторыми факторами аутентификации ваших пользователей.

      PrivacyIDEA — это система для управления устройствами аутентификации для двухфакторной аутентификации в вашей собственной сети, а не у какого-либо поставщика удостоверений, что позволяет держать вашу личность и личности ваших пользователей под вашим контролем.

      Если вы хотите узнать, как это будет выглядеть, вы можете посмотреть это видео на YouTube.

      Предпосылки

      Я предполагаю, что у вас уже есть и работает система ownCloud 8. Есть достаточно хорошие примеры. Вы также можете ознакомиться с инструкцией по установке ownCloud 8 с nginx здесь, на этом сайте.

      Кроме того, я предполагаю, что вы используете систему privacyIDEA. В этом руководстве не рассматривается установка PrivacyIDEA. Вы также найдете руководство здесь, в Howtoforge, до инструкций по установке в документации.

      Обратите внимание: вам не нужно запускать privacyIDEA и ownCloud на одном сервере. Вы раскроете всю мощь такой настройки, установив privacyIDEA в качестве системы аутентификации на одном сервере и настроив другие приложения, такие как ownCloud, в соответствии с этой privacyIDEA. Это также включает в себя то преимущество, что вам не нужно управлять устройствами аутентификации для ownCloud, устройствами аутентификации для вашего второго приложения и устройствами аутентификации для вашего третьего приложения и так далее. Вы видите, что это решение доказывает свои сильные стороны, если у вас есть несколько приложений и более двух пользователей. Но это, конечно, также будет работать в меньших сценариях.

      Обратите внимание: приложение ownCloud privacyIDEA находится на ранней стадии разработки. Поэтому любой отзыв, который вы предоставляете, высоко ценится и поможет улучшить этот инструмент. Вы можете оставить отзыв здесь, на howtoforge, через группу Google.

      Подключить PrivacyIDEA к базе данных ownCloud

      Подготовка базы данных

      Есть одно условие конфиденциальности IDEA. Пользователи ownCloud должны быть известны в privacyIDEA или, наоборот, пользователи, которым вы назначаете токены в privacyIDEA, также должны быть доступны в ownCloud.

      Вы можете запустить установку, в которой ваши пользователи находятся в каталоге LDAP, но в этом примере мы просто используем существующую таблицу пользователей SQL ownCloud.

      Обратите внимание: если вы используете privacyIDEA и ownCloud на разных серверах, вам необходимо предоставить доступ к базе данных SQL. В случае MySQL/MariaDB вам необходимо соответствующим образом изменить bind-address в /etc/mysql/my.cnf, например:

      bind-address = 0.0.0.0

      Более того, нужно добавить права доступа на базе MySQL:

      grant all privileges on owncloud.* to "ocuser"@"privacyIDEA-Server" identified by "password";

      Теперь пользователь MySQL ocuser может получить доступ к базе данных на сервере ownCloud с сервера privacyIDEA.

      ВНИМАНИЕ: Сетевой трафик к серверу MySQL не зашифрован. Мы настоятельно рекомендуем настроить TLS, если вы используете этот сценарий. На этом сайте вы также можете найти несколько руководств по настройке MySQL с SSL.

      Подключение PrivacyIDEA к ownCloud

      Создать преобразователь пользователя

      Теперь подключаем privacyIDEA к ownCloud, чтобы privacyIDEA знала пользователей. Мы создаем новый преобразователь пользователей в Config → Users.

      Вы можете нажать кнопку ownCloud, которая должна установить все необходимые поля в сопоставлении атрибутов базы данных.

      Затем вы можете нажать Проверить сопоставитель SQL, чтобы убедиться, что все прошло нормально.

      Создать мир

      Теперь вы можете перейти в Config → Realms, чтобы создать область по умолчанию из преобразователя.

      Теперь вы должны увидеть пользователей ownCloud на вкладке Пользователи и иметь возможность регистрировать токены для этих пользователей.

      Зарегистрируйте Google Authenticator

      PrivacyIDEA поддерживает широкий спектр токенов, которые вы можете найти здесь.

      Мы быстро зарегистрируем Google Authenticator в качестве простого примера.

      Перейдите к представлению пользователей и выберите пользователя, чтобы просмотреть сведения о пользователе. Здесь вы можете нажать кнопку Зарегистрировать новый токен.

      В диалоговом окне регистрации вы можете выбрать тип токена, и в зависимости от типа токена вам нужно будет ввести различные данные. Но в этом примере мы используем тип токена по умолчанию HOTP. В нижней части страницы вы можете ввести PIN-код OTP.

      Нажмите Зарегистрировать токен.

      Токен зарегистрирован, и вам предоставляется QR-код, который вы можете отсканировать с помощью приложения Google Authenticator.

      Другие типы токенов регистрируются другими способами, которые выходят за рамки данного руководства. Для получения дополнительной информации см. документацию PrivacyIDEA.

      Теперь мы закончили, так как пользователю ownCloud назначен токен. Вы можете повторить этот процесс для других пользователей ownCloud.

      Получение приложения ownCloud

      Во-первых, вам необходимо загрузить приложение ownCloud privacyIDEA.

      Вы можете скачать приложение здесь. Вам нужно скопировать каталог user_privacyidea в каталог ownCloud apps/. Предположим, вы установили ownCloud в /var/www/owncloud, так что в итоге вы получите такую структуру, как

      :~# ls /var/www/owncloud/apps/user_privacyidea/ -l
      -rw-rw-r-- 1 root root 1671 Jun 25 15:05 adminSettings.php
      drwxrwxr-x 2 root root 4096 Jun 25 15:17 appinfo
      drwxrwxr-x 2 root root 4096 Jun 25 15:17 img
      drwxrwxr-x 2 root root 4096 Jun 25 15:17 js
      drwxrwxr-x 2 root root 4096 Jun 25 15:17 lib
      drwxrwxr-x 2 root root 4096 Jun 25 15:17 templates

      Приложение privacyIDEA реализовано как пользовательский бэкэнд ownCloud и будет действовать как наложение на ваши существующие пользовательские бэкэнды, чтобы иметь возможность перейти к запросу аутентификации, чтобы добавить второй фактор к логину.

      Настройка приложения ownCloud

      Перейдите в раздел Приложения → не включено и включите приложение.

      Затем вы можете перейти в раздел Ваш пользователь → Администратор, чтобы настроить приложение privacyIDEA.

      Вам необходимо указать URL сервера privacyIDEA. Вы должны запустить сервер privacyIDEA с доверенным сертификатом. Если в процессе установки у вас нет доверенного сертификата, вы можете снять флажок Проверить сертификат SSL сервера privacyIDEA.

      Чтобы избежать блокировки, установите флажок Также разрешить пользователям проходить аутентификацию с использованием их обычного пароля. В этом случае, если аутентификация в privacyIDEA не удалась, пользователь аутентифицируется в базовом пользовательском бэкэнде ownCloud. При продуктивном использовании этот флажок следует снять.

      Настольные клиенты, конечно, будут иметь проблемы с одноразовыми паролями. Если вы используете такие клиенты, вы должны установить флажок Разрешить доступ API к remote.php со статическим паролем. В этом случае запрос аутентификации, поступающий от настольного клиента (идентифицируемого с помощью remote.php), будет аутентифицироваться не в отношении privacyIDEA, а в отношении базового пользовательского бэкэнда.

      Наконец, если все в порядке, вы можете активировать двухфакторную аутентификацию, установив флажок Использовать privacyIDEA для аутентификации пользователей.

      Войдите в ownCloud

      После активации приложения privacyIDEA экран входа в ownCloud не меняется.

      Чтобы войти в систему, вам нужно ввести свое имя пользователя, а в поле пароля вам нужно ввести PIN-код OTP и значение OTP, сгенерированное вашим Google Authenticator.