Описание
Плагин «Two-Factor» обеспечивает дополнительный уровень безопасности при входе в систему WordPress, требуя от пользователей ввода второго средства аутентификации в дополнение к паролю. Это помогает защитить систему от несанкционированного доступа даже в случае утечки паролей.
Инструкции по установке
Важно: Каждый пользователь должен самостоятельно настроить параметры двухфакторной аутентификации.
Для частных пользователей
- Перейти в свой профиль: В админ-панели WordPress перейдите в раздел «Пользователи» «Профиль»
- Найти настройки Two-Factor: Прокрутите страницу вниз до раздела «Настройки двухфакторной аутентификации»
- Choose your methods: Enable one or more authentication providers (noting a site admin may have hidden one or more so what is available could vary):
- Приложение-аутентификатор (TOTP) — Используйте такие приложения, как Google Authenticator, Authy или 1Password
- Email коды — Получайте одноразовые коды по email
- Резервные коды — Сгенерируйте одноразовые резервные коды на случай чрезвычайных ситуаций
- Фиктивный метод — Исключительно для тестирования (требует WP_DEBUG)
- Настроить все методы: Следуйте инструкциям по настройке для каждого включенного поставщика
- Установить основной метод: Выберите метод, который будет использоваться в качестве метода аутентификации по умолчанию
- Сохранить изменения: Нажмите «Обновить профиль», чтобы сохранить свои настройки
Для администраторов сайтов
- Настройки плагина: Плагин имеет страницу настроек в разделе «Настройки Two-Factor», на которой можно отключить определённых провайдеров на всём сайте.
- Управление пользователями: Администраторы могут настроить двухфакторную аутентификацию для других пользователей, отредактировав их профили
- Советы по безопасности: Рекомендуйте пользователям включать резервные методы, чтобы предотвратить блокировку учетных записей
Доступные методы аутентификации
Приложение-аутентификатор (TOTP) — рекомендуется
- Безопасность: Высокая — одноразовые пароли, зависимые от времени
- Настройка: Отсканируйте QR-код с помощью приложения-аутентификатора
- Совместимость: Работает с Google Authenticator, Authy, 1Password и другими TOTP приложениями
- Оптимально для: Большинства пользователей, обеспечивает отличную безопасность и удобен в использовании
Резервные коды — рекомендуется
- Безопасность: Средняя — одноразовые коды
- Настройка: Создайте 10 резервных кодов для доступа в экстренных случаях
- Совместимость: Работает везде, не требует специального оборудования
- Оптимально для: Экстренный доступ в случаях, когда другие способы недоступны
Коды электронной почты
- Безопасность: Средняя — одноразовые коды, отправляемые по email
- Настройка: Автоматическая — используется ваш email адрес WordPress
- Совместимость: Работает с любым устройством, поддерживающим email
- Оптимально для: Пользователей, предпочитающих email-аутентификацию
Ключи безопасности FIDO U2F
- Устарело и удалено в связи с прекращением поддержки со стороны браузеров.
Фиктивный метод
- Безопасность: Отсутствует — всегда завершается успешно
- Настройки: Доступно только при включенном параметре WP_DEBUG
- Цель: Исключительно для тестирования и разработки
- Оптимально для: Разработчиков, тестирующих плагин
Важные примечания
Требование HTTPS
- Все методы работают как на сайтах с HTTP, так и HTTPS
Совместимость с браузерами
- Методы TOTP и email работают на всех устройствах и во всех браузерах
Восстановление учётной записи
- Всегда включайте резервные коды, чтобы избежать блокировки доступа к вашей учетной записи
- Если у вас пропал доступ ко всем способам аутентификации, обратитесь к администратору сайта
Лучшие практики безопасности
- По возможности используйте несколько методов аутентификации
- Храните резервные коды в надёжном месте
- Регулярно проверяйте и обновляйте свои настройки аутентификации
Для получения дополнительной информации о двухфакторной аутентификации в WordPress ознакомьтесь с Руководством по расширенной безопасности администрирования WordPress.
Подробную историю можно посмотреть в этом посте.
События и фильтры
Вот список хуков событий и фильтров, предоставляемых плагином:
- Фильтр
two_factor_providersпереопределяет доступных поставщиков двухфакторной аутентификации, таких как email и одноразовые пароли на основе времени. Значения массива – это названия PHP классов поставщиков двухфакторной аутентификации. two_factor_providers_for_userfilter overrides the available two-factor providers for a specific user. Array values are instances of provider classes and the user objectWP_Useris available as the second argument.- Фильтр
two_factor_enabled_providers_for_userпереопределяет список поставщиков двухфакторной аутентификации, включенных для пользователя. Первый аргумент – это массив включенных имен классов поставщиков в виде значений, второй аргумент – это идентификатор пользователя. - Событие
two_factor_user_authenticatedполучает авторизованныйWP_Userобъект в качестве первого аргумента для определения вошедшего в систему пользователя сразу после рабочего процесса аутентификации. two_factor_user_api_login_enablefilter restricts authentication for REST API and XML-RPC to application passwords only. Provides the user ID as the second argument.two_factor_email_token_ttlfilter overrides the time interval in seconds that an email token is considered after generation. Accepts the time in seconds as the first argument and the ID of theWP_Userobject being authenticated.- Фильтр
two_factor_email_token_lengthпереопределяет значение по умолчанию, равное 8 символам, для токенов, отправляемых по электронной почте. two_factor_backup_code_lengthfilter overrides the default 8 character count for backup codes. Provides theWP_Userof the associated user as the second argument.two_factor_rest_api_can_edit_userfilter overrides whether a user’s Two-Factor settings can be edited via the REST API. First argument is the current$can_editboolean, the second argument is the user ID.two_factor_before_authentication_promptaction which receives the provider object and fires prior to the prompt shown on the authentication input form.two_factor_after_authentication_promptaction which receives the provider object and fires after the prompt shown on the authentication input form.two_factor_after_authentication_inputaction which receives the provider object and fires after the input shown on the authentication input form (if form contains no input, action fires immediately aftertwo_factor_after_authentication_prompt).two_factor_login_backup_linksфильтрует резервные ссылки, отображаемые в форме двухфакторного входа.
Перенаправление после проверки двухфакторной аутентификации
Чтобы перенаправить пользователей на определённый URL-адрес после прохождения двухфакторной аутентификации, воспользуйтесь встроенным в ядро WordPress фильтром login_redirect. Этот фильтр работает так же, как и в стандартном процессе входа в WordPress:
add_filter( 'login_redirect', function( $redirect_to, $requested_redirect_to, $user ) {
return home_url( '/dashboard/' );
}, 10, 3 );


