Настройка двухфакторной авторизации WordPress в Ubuntu 14.04

Published by Leave your thoughts

Безопасность — один из важнейших аспектов работы любого сайта, и в частности — сайта WordPress. К сожалению, многие пользователи по сей день не верят, что однажды хакеры могут наткнуться и на их сайт; на самом же деле, несанкционированные попытки входа в систему — довольно распространённое явление на любом сервере с доступом к сети Интернет.

В данном руководстве речь пойдёт о создании дополнительного уровня защиты сервера WordPress — о настройке двухфакторной авторизации, появление которой считается одним из наиболее значительных событий в области кибер-безопасности.

Двухфакторная авторизация (англ. two-factor authentication, или 2FA) подразумевает при входе на сайт или в систему следующее:

  1. наличие учётных данных (логина и пароля);
  2. и наличие случайно сгенерированного временного кода (т.е. его срок действия ограничивается определённым временным отрезком) — так называемого одноразового пароля (англ. one-time password, или OTP).

OTP можно получить несколькими способами:

  • по SMS;
  • по электронной почте;
  • при помощи мобильного приложения.

Системы с высоким уровнем риска (например, банки) предпочитают получать пароли по SMS; но в данном руководстве речь пойдёт об использовании мобильного приложения для получения пароля в режиме offline. Мобильное приложение является бесплатным оптимальным вариантом, объединяющим доступность и легкость в использовании.

Цели

После настройки двухфакторной авторизации процедура входа в WordPress станет на порядок сложнее.

Кроме имени пользователя и пароля для входа понадобится временный пароль, сгенерированный мобильным приложением. Это значит, что даже в случае раскрытия или взлома учётных данных WordPress хакер не сможет войти в WordPress без вашего телефона.

В конце руководства также представлена проверенная техника восстановления, которая пригодится в случае утери мобильного телефона.

Требования

Для выполнения руководства необходим предварительно установленный и настроенный сервер WordPress. Конечно, можно адаптировать уже существующий сервер WordPress; данное руководство было выполнено в следующем окружении:

Кроме того, необходим доступ к мобильному устройству iOS или Android, на которое можно установить мобильное приложение FreeOTP.

1: Установка плагина Google Authenticator

Сначала нужно установить на сайт WordPress плагин Google Authenticator.

Проще всего установить этот плагин при помощи панели инструментов WordPress. Откройте её и выполните следующие действия:

  • откройте Plugins > Add New.
  • в поле Search введите google authenticator.
  • это загрузит пару плагинов, совпадающих с поисковым шаблоном.
  • установите плагин по имени Google Authenticator by Henrik Schack.
  • После установки плагина выберите ссылку Activate Plugin.

Примечание: Если это первая установка плагина в WordPress, возможно, будет запрошены учётные данные SSH. Укажите имя и пароль пользователя sudo (для большей безопасности используйте SSH-ключ) и выберите опцию SSH2.

Установка плагина вручную (опционально)

Этот плагин можно установить и активировать вручную. Для этого войдите на сервер и перейдите в каталог plugins.

cd /var/www/html/wp-content/plugins/

Примечание: В данном руководстве WordPress установлен в каталог /var/www/html/ согласно этому руководству. При использовании других настроек, пожалуйста, укажите свои данные.

Загрузите плагин в каталог WordPress:

wget https://downloads.wordpress.org/plugin/google-authenticator.0.47.zip

Примечание: На момент написания руководства последней доступной версией Google Authenticator является 0.47.

2: Загрузка приложения FreeOTP

На данном этапе нужно загрузить и установить на мобильное устройство приложение FreeOTP.

FreeOTP — это открытое приложение для поддержки двухфакторной авторизации, генерирующее одноразовые пароли для входа в систему. Другими словами, это альтернатива Google Authenticator. Данное приложение будет использоваться для настройки двухфакторной авторизации на сайте WordPress.

FreeOTP спонсируется RedHat и предоставляет версии для Android и iOS. Загрузить приложение и найти официальный сайт можно по ссылкам:

3: Активация плагина Authenticator для своего профиля

Теперь нужно включить плагин WordPress для администратора WordPress и настроить его для поддержки приложения FreeOTP.

В панели инструментов WordPress откройте Users > Your Profile. Найдите подраздел Google Authenticator Settings.

Этот плагин имеет следующие опции настройки:

  • Active: поставьте галочку, чтобы включить плагин.
  • Relaxed: эта опция увеличивает время ввода одноразового пароля до 4 минут. Поставьте галочку, если иногда у вас возникают проблемы с быстрым вводом OTP.
  • Description: обычно содержит название блога. это значение будет отображаться в приложении FreeOTP на мобильном устройстве.
  • Show/Hide QR Code: поставьте галочку для отображения QR-кода.

Подключение к приложению FreeOTP

Запустите приложение FreeOTP на телефоне или планшете.

Кликните на значок QR-кода в приложении. Просканируйте QR-код WordPress, который должен появиться на экране.

Приложение FreeOTP покажет запись WordPress с описанием, ранее указанным в поле Description. Это значит, что сайт WordPress успешно подключен к приложению FreeOTP.

Сохраните изменения; для этого в WordPress перейдите в конец страницы и нажмите кнопку Update Profile.

4: Тестирование двухфакторной авторизации

Теперь необходимо убедиться, что настройка двухфакторной авторизации прошла успешно.

Закройте профиль WordPress и попробуйте снова войти. На экране появится такая, как и раньше, форма входа, но теперь — с дополнительным полем Google Authenticator code.

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

Введите это значение в отведённое для этого поле, после чего профиль WordPress будет открыт.

Активация двухфакторной авторизации для других пользователей

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

Восстановление аккаунта

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

Для этого нужно просто отключить Google Authenticator. Запустите свой выделенный сервер и перейдите к каталогу plugins.

cd /var/www/html/wp-content/plugins/

Переименуйте каталог google-authenticator, указав любое другое имя.

mv 'google-authenticator' 'deactivate-plug-google-authenticator'

Это отключит плагин, поскольку WordPress не сможет найти его рабочий каталог.

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

Получив доступ к панели управления WordPress и заменив утерянный телефон новым, установите на него FreeOTP и снова включите плагин. Для этого запустите в оболочке сервера следующую команду:

mv 'deactivate-plug-google-authenticator' 'google-authenticator'

Если вы нашли старый утерянный телефон, это всё, что нужно сделать. Повторите действия раздела 4, чтобы протестировать процесс авторизации. Возможно, нужно будет повторно активировать Google Authenticator, открыв WP Dashboard > Plugins > Installed Plugins. Откройте свой профиль и в Users > Your Profile найдите Google Authenticator Settings.

Если же старое устройство утеряно навсегда, и теперь вы пользуетесь другим телефоном, кликните на Create new secret. Это сгенерирует новый QR-код и аннулирует старый. Просканируйте новый код, как описано в разделе 3.

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

Не забудьте сохранить изменения, нажав Update Profile.

Итоги

Внедрение двухфакторной авторизации – очень важный шаг в обеспечении безопасности сервера WordPress. Аккаунт будет защищён, даже если злоумышленник получит доступ к учётным данным – без OTP он не сможет пройти авторизацию.

Tags: , , , , , ,

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *


*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>