Как добавить двухфакторную аутентификацию (2FA) в WordPress?
Автор: Eureka Studio · Обновлено
Коротко
Встроенной двухфакторной аутентификации в WordPress нет. Установите плагин 2FA с поддержкой TOTP, отсканируйте его QR-код любым приложением-аутентификатором, введите шестизначный код для подтверждения и сохраните коды восстановления офлайн. С этого момента одного пароля для входа в вашу учётную запись недостаточно. Держите наготове аварийный выключатель в wp-config.php.
Шаги
1Шаг 1
Включите двухфакторную аутентификацию для сайта
В WordPress откройте Hushfort → Двухфакторная аутентификация и включите «Включить двухфакторную аутентификацию». Для пользователей ничего не изменится, пока каждый не настроит свой код.

2Шаг 2
Отсканируйте QR-код приложением
Нажмите «Начать настройку 2FA». Отсканируйте QR-код любым приложением-аутентификатором или введите ключ настройки, показанный под ним. QR-код рисуется на вашем собственном сервере, поэтому секрет его не покидает. Другие пользователи найдут ту же настройку в своём профиле.

3Шаг 3
Подтвердите шестизначным кодом
В блоке «Шаг 2: проверка» введите код, который показывает приложение, и нажмите «Включить». Коды меняются каждые 30 секунд, поэтому вводите текущий.

4Шаг 4
Сохраните коды восстановления офлайн
Hushfort показывает десять кодов восстановления один раз — сразу после настройки. Нажмите «Скачать коды (.txt)» или «Печать» и храните их не на телефоне. Каждый код срабатывает один раз.
5Шаг 5
Входите с паролем и кодом
При следующем входе WordPress после пароля попросит код из приложения. Теперь один лишь украденный пароль ничего злоумышленнику не даст.
Почему это важно
Встроенной двухфакторной аутентификации в WordPress нет, поэтому 2FA включают плагином с поддержкой TOTP: отсканируйте QR-код любым приложением-аутентификатором, подтвердите шестизначным кодом и сохраните коды восстановления. После этого одного пароля для входа уже недостаточно.
Пароли утекают. Их повторно используют на другом сайте, который взламывают, вводят на поддельной странице входа или просто подбирают. Как только у кого-то есть ваш пароль, WordPress не может отличить этого человека от вас.
Двухфакторная аутентификация (2FA) добавляет то, что есть только у вас: шестизначный код из приложения на телефоне, который меняется каждые 30 секунд. Чтобы войти, злоумышленнику нужны одновременно ваш пароль и ваш телефон. Для учётной записи администратора одно это изменение устраняет самый распространённый способ захвата сайтов.
Стандарт, по которому работают эти коды, — TOTP (одноразовые пароли на основе времени). Он открытый, работает офлайн и поддерживается всеми крупными приложениями-аутентификаторами, так что вы не привязаны к одному поставщику.
Частые ошибки
- Не сохранить коды восстановления. Потерять телефон без кодов восстановления — самый частый способ запереть себя снаружи после включения 2FA. Распечатайте их или храните в менеджере паролей, который не стоит на том же телефоне.
- Один телефон для всего. Если коды и коды восстановления хранятся на одном устройстве, потеряв его, вы теряете и то и другое.
- Считать, что 2FA закрывает все двери. Если
xmlrpc.phpвсё ещё принимает пароли или неудачные коды не учитываются, злоумышленники могут продолжать подбор. Закройте вход через XML-RPC и убедитесь, что ошибки 2FA засчитываются в лимит входа. - QR-коды от стороннего сервиса. Некоторые решения рисуют QR-код через внешний сервис изображений, а значит, ваш секрет передаётся через интернет. Выбирайте QR-код, который создаётся на вашем собственном сервере.
- Смена солей безопасности без плана. В некоторых решениях секреты 2FA привязаны к солям WordPress. Узнайте, что делает ваш плагин, если соли изменятся.
Без плагина
Честного способа добавить TOTP 2FA в WordPress без кода нет. Варианты помимо плагина WordPress такие:
- Защита входа от хостинга. Некоторые управляемые хостинги ставят слой 2FA перед
wp-admin. Это удобно там, где доступно, но при смене хостинга такая защита не переезжает вместе с сайтом. - Единый вход (SSO). Крупные команды могут пропускать вход в WordPress через провайдера идентификации, который требует 2FA. Надёжно, но настройки больше, чем нужно большинству небольших сайтов.
- HTTP basic auth на wp-admin. Это второй пароль, а не второй фактор. Он замедляет ботов, но в утёкшем списке паролей может оказаться и тот и другой.
Если писать своё решение, придётся хранить секрет каждого пользователя в зашифрованном виде, проверять коды с учётом небольшого расхождения часов, ограничивать частоту на шаге ввода кода, генерировать коды восстановления и дать администраторам возможность сброса. Это много критичного для безопасности кода, который придётся поддерживать в одиночку.
Если что-то пошло не так
Код всегда «неверный». Проверьте время на телефоне. TOTP зависит от часов; включите автоматическую установку времени в настройках телефона.
Вы потеряли телефон. Введите код восстановления на экране ввода кода. Каждый код срабатывает один раз.
Кодов восстановления не осталось. Добавьте эту строку в
wp-config.php:define( 'GATEKEEPER_2FA_DISABLE', true );Войдите, заново настройте 2FA на новом телефоне, сохраните новые коды и удалите строку.
Может помочь другой администратор. Администратор может сбросить 2FA для вашей учётной записи в вашем профиле пользователя.
Полное руководство — в статье Не можете войти после смены адреса входа.
С Hushfort
«Двухфакторная аутентификация» входит в Hushfort Pro — платное дополнение к Hushfort Security, бесплатному плагину безопасности для WordPress.
Уровень двухфакторной аутентификации в Hushfort использует TOTP, поэтому работает с любым приложением-аутентификатором.
- QR-код создаётся локально. Ваш секрет никогда не покидает сервер.
- Каждый пользователь настраивает 2FA на экране своего профиля; администраторы могут её сбросить.
- Коды восстановления можно скачать или распечатать.
- Секреты хранятся в зашифрованном виде (AES-256 с проверкой HMAC).
- Если соли безопасности WordPress изменятся, 2FA не отключится молча. Затронутые пользователи
входят с кодом восстановления, и им предлагается настроить 2FA заново. Можно также задать отдельный
ключ
GATEKEEPER_2FA_KEY(32 символа или больше) вwp-config.php, чтобы соли не имели значения. - Неудачные коды засчитываются в «Лимиты входа».
Частые вопросы
Есть ли в WordPress встроенная двухфакторная аутентификация?
Какое приложение-аутентификатор выбрать?
Что делать, если я потеряю телефон?
2FA по SMS или email лучше, чем через приложение?
Нужна ли 2FA каждому пользователю?
Похожие инструкции
Как ограничить попытки входа в WordPress и защититься от брутфорса?
Защита WordPress от брутфорса: блокировка IP после нескольких неудачных попыток входа. Рабочие настройки, код без плагина и лазейки, которые надо закрыть.
Смотреть шагиНе могу войти в админку WordPress: wp-admin выдаёт 404 после смены адреса входа. Что делать?
Не можете войти в админку WordPress: забыли адрес входа или потеряли телефон с 2FA? Четыре способа вернуться — от строки в wp-config.php до папки плагина.
Смотреть шагиКак изменить адрес входа в админку WordPress (wp-admin и wp-login.php)?
Как изменить адрес входа в админку WordPress и скрыть wp-admin за пять безопасных шагов: проверка нового адреса до выхода и способ вернуться, если забыли.
Смотреть шаги

