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

Безопасный вход в Wordpress с двухфакторной аутентификацией с использованием privacyIDEA


Это руководство существует для этих версий ОС

  • конфиденциальностьIDEA 2.x
  • конфиденциальностьIDEA 1.x

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

  1. Вордпресс
  2. Установить конфиденциальностьIDEA
  3. Настройка конфиденциальностиIDEA
  4. Зарегистрировать токены
  5. Строгая аутентификация Wordpress
  6. Заключение

Отказ от ответственности. Это руководство относится к PrivacyIDEA версии 2.X. На момент написания текущей версией является 2.12.1.

Wordpress — это САМАЯ широко распространенная система ведения блогов, которая используется не только для частных блогов, но иногда и в качестве CMS для веб-сайтов компаний.

Wordpress очень хорошо поддерживается и легко обновляется. Но поскольку он так широко используется, это также интересная цель для взломщиков (не говоря уже о хакерах).

Вот почему сегодня я расскажу вам, как защитить учетные записи WordPress с помощью второго фактора аутентификации OTP.

Вордпресс

Я предполагаю, что вы уже установили WordPress в своей системе, следуя какому-то руководству, подобному этому.

Создайте несколько пользователей, вашего администратора и несколько редакторов. Я создал пользователей admin, fred и markus.

Установить конфиденциальностьIDEA

Теперь вам нужно установить PrivacyIDEA. Возможно, вы сделали это по какому-то сценарию из онлайн-документации.

Подводя итог, сегодня на Ubuntu 14.04 LTS установить privacyIDEA так же просто:

add-apt-repository ppa:privacyidea/privacyidea
apt-get update
apt-get install privacyidea-apache2

Создайте своего администратора по имени \супер\:

pi-manage admin add super

Сделанный. Войдите в систему по адресу https://yourserver под только что созданным администратором.

Настроить конфиденциальностьIDEA

privacyIDEA может считывать пользователей из вашей установки WordPress. Таким образом, каждый раз, когда вы создаете нового пользователя в WordPress, privacyIDEA увидит это, и вы сможете назначить этому пользователю новый токен OTP.

Чтобы это работало правильно, нам нужно создать преобразователь идентификатора пользователя, который сообщает privacyIDEA, где найти пользователей и область. Перейдите в раздел privacyIDEA Config->Users и нажмите \Новый преобразователь SQL\.

Я установил privacyIDEA на тот же компьютер, что и WordPress. И база данных MySQL WordPress также находится на той же машине. Если ваша база данных SQL находится на другом компьютере, вам нужно позаботиться о том, чтобы privacyIDEA могла получить доступ к базе данных SQL по сети.

Вверху нужно ввести всю информацию для SQL-соединения. В нижней части атрибутов SQL вы можете просто нажать кнопку \Wordpress\, и будут введены правильные определения таблицы и столбца. (privacyIDEA также знает пресеты таблиц для OTRS, Tine2.0 и OwnCloud!)

Вы можете нажать кнопку «Проверить» и увидите, что PrivacyIDEA нашла пользователей WordPress.

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

Узнайте больше о преобразователях и областях.

Перейдите в Config->Realms, чтобы создать новую область \wordpress\, содержащую преобразователь wordpress. На моем скриншоте вы можете видеть, что я настроил кучу реалмов. Возможно, вы захотите установить свою область \wordpress\ областью по умолчанию.

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

Зарегистрировать токены

Давайте зарегистрируем токен Google Authenticator для пользователя fred. Установите приложение Google Authenticator и выберите пользователя fred в представлении пользователя.

Вы можете видеть, что у Фреда нет токена в данный момент.

Теперь нажмите кнопку «Зарегистрировать новый токен».

Вы можете выбрать тип токена. Мы выбираем HOTP, который работает с Google Authenticator. Вы также можете выбрать TOTP и использовать FreeOTP или OTP Authenticator.

Нажав \Зарегистрировать токен\, вы можете отсканировать QR-код с помощью приложения:

После этого приложение сможет создавать одноразовые пароли. Пользователь должен будет пройти аутентификацию со статическим паролем (1-й фактор) и одноразовым паролем, созданным приложением (2-й фактор). Если вы хотите, чтобы пользователь аутентифицировался со статическим паролем из WordPress (в этом случае пользователь может изменить свой статический пароль в WordPress), вам необходимо установить следующую политику в Config -> Policies.

Создайте новую политику в scope=authentication и с otppin=userstore.

Вы можете перейти к сведениям о токене и протестировать аутентификацию токена, объединив свой пароль WordPress и значение OTP, например \mySecretWordpressPa$$123456\.

Если вы успешно прошли аутентификацию, вы готовы к установке WordPress!

Сильная аутентификация Wordpress

Ваш сервер privacyIDEA настроен правильно, и у пользователя есть работающий OTP-токен.

Теперь войдите в свою установку WordPress, установите и активируйте плагин строгой аутентификации.

В настройках вы можете настроить плагин строгой аутентификации для использования локальной установки вашего сервера privacyidea. Не забудьте добавить https и порт. В поле исключить пользователей вы можете указать имя пользователя, который не должен проверяться на предмет конфиденциальности. Это хорошая возможность иметь какую-то аварийную учетную запись, если вы неправильно настроили плагин или ваш сервис вышел из строя.

Если вы не установили \wordpress\ в качестве области по умолчанию, вам нужно указать имя области здесь.

Теперь вы можете пройти аутентификацию со вторым фактором по вашему выбору.

Удачного ведения блога!

Заключение

Мы позволили WordPress аутентифицировать всех пользователей с помощью второго фактора. Второй фактор управляется внешней системой. Таким образом, вы можете назначать пользователям несколько устройств, а пользователям можно назначать разные устройства. Один пользователь может войти в систему с помощью Google Authenticator, другой пользователь может использовать yubikey, что дает вам большую гибкость по сравнению с решениями, интегрированными с WordPress.

Кроме того, вы можете использовать вашу установку privacyIDEA для аутентификации пользователей в других приложениях — будь то другие веб-приложения или системы, такие как OpenVPN или SSH.

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