Вступление
Безопасность является одним из наиболее важных аспектов работы сайта WordPress. Многие из нас склонны думать, что хакеры не будут беспокоиться о наших сайтах, но на самом деле несанкционированные попытки входа в систему являются обычной частью работы сервера в общедоступном Интернете.
В этом уроке мы узнаем, как добавить дополнительный уровень безопасности в процесс входа в WordPress: * двухфакторная аутентификация *. Это одно из самых значительных событий в сфере кибербезопасности.
Двухфакторная аутентификация или «2FA» включает в себя два шага при входе на сайт или систему:
-
Ваше имя пользователя и пароль
-
Случайно сгенерированный, зависящий от времени код (то есть срок действия кода истекает через фиксированную продолжительность), называемый * одноразовым паролем (OTP) *
Существуют различные способы доступа к OTP:
-
SMS
-
Телефонный звонок
-
Эл. адрес
-
Оффлайн, через мобильное приложение
Хотя системы с высоким уровнем риска, такие как банки и торговые счета, используют доставку SMS для конфиденциальных транзакций, мы будем использовать автономный режим генерации OTP. Использование мобильного приложения бесплатное и обеспечивает оптимальный баланс между высокой доступностью, стоимостью внедрения и простотой использования.
цели
После установки и включения двухфакторной аутентификации WordPress будет иметь более безопасную процедуру входа в систему.
Помимо ввода имени пользователя и пароля для входа в систему, вам также потребуется ввести пароль, созданный мобильным приложением. Это означает, что даже если ваши учетные данные WordPress скомпрометированы, хакер не сможет войти в WordPress без вашего телефона.
В конце урока мы также рассмотрим метод восстановления после сбоев в случае потери телефона. Давайте начнем!
Предпосылки
Нам нужна функциональная установка WordPress на DigitalOcean Droplet. Хотя вы можете адаптировать это руководство для существующих установок WordPress, оно было специально протестировано с:
-
Капля Ubuntu 14.04
-
Пользователь sudo
-
Новая установка WordPress с Nginx, которая также требует от читателя https : //www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-ubuntu-14-04 [установить LEMP]
Собственный DigitalOcean WordPress 1-click image - еще один вариант для начала.
-
Вам также необходим доступ к мобильному устройству под управлением iOS или Android, где вы можете установить мобильное приложение FreeOTP
Шаг 1 - Установите плагин Google Authenticator
На этом этапе мы установим плагин Google Authenticator для вашего сайта WordPress.
изображение: https: //assets.digitalocean.com/articles/wordpress_2fa/1.png [Установить и активировать плагин Google Authenticator для WordPress]
Самый простой способ установить плагин - через панель управления WordPress. Войдите в свою панель управления WordPress сейчас.
Для беспроблемной установки выполните следующие действия:
-
С панели инструментов, перейдите к * Плагины> Добавить новый *
-
В поле * Поиск * введите
+ google authenticator
-
Это загрузит пару плагинов, которые соответствуют имени запроса
-
Установите плагин под названием * Google Authenticator * от * Henrik Schack *
-
После завершения установки выберите ссылку * Activate Plugin *
_ * Примечание: * Если вы впервые устанавливаете плагин для этого экземпляра WordPress, возможно, вам придется ввести свои учетные данные SSH. Введите * Linux sudo user * имя пользователя и пароль (или для большей безопасности загрузите открытый ключ) и выберите параметр * SSH2 *. _
(Необязательно) Установите плагин вручную
Кроме того, вы также можете загрузить плагин вручную и активировать его. Мы опишем эти шаги ниже.
Войдите в свой DigitalOcean Droplet и перейдите в каталог + plugins +
:
cd wp-content/plugins/
_
* Примечание: * В этом уроке мы следуем настройке из this tutorial, который устанавливает WordPress в каталог ++
. Если вы используете другую настройку, убедитесь, что вы ввели правильный каталог, в котором установлен WordPress.
_
Далее мы загружаем плагин из репозитория WordPress:
wget https://downloads.wordpress.org/plugin/
_ * Примечание: * На момент написания последней версии плагина Google Authenticator была версия 0.47. Пожалуйста, убедитесь, что вы установили _latest version. __
Шаг 2 - Загрузите приложение FreeOTP
На этом этапе мы загрузим и установим бесплатное приложение OTP на ваше мобильное устройство.
FreeOTP - это приложение с открытым исходным кодом, которое поддерживает двухфакторную аутентификацию для систем с протоколами одноразовых паролей. Другими словами, это альтернатива Google Authenticator. Мы будем использовать это приложение для генерации наших одноразовых паролей для входа на наш сайт WordPress.
изображение: https: //assets.digitalocean.com/articles/wordpress_2fa/2.png [приложение FreeOTP в магазине Google Play]
FreeOTP спонсируется RedHat и имеет приложения для Android и iOS. Вот ссылки, чтобы получить приложение и его официальный проект.
Шаг 3 - Активируйте плагин Authenticator для вашего профиля
На этом этапе мы активируем плагин WordPress для профиля администратора WordPress и настроим его для работы с нашим приложением FreeOTP.
В панели управления WordPress перейдите на страницу * Профиль *, которая находится в разделе * Пользователи> Ваш профиль *. Найдите подраздел «Настройки Google Authenticator» *.
изображение: https: //assets.digitalocean.com/articles/wordpress_2fa/3.png [конфигурация плагина Google Authenticator]
Давайте посмотрим на различные параметры конфигурации плагина:
-
* Активен: * Установите этот флажок, чтобы активировать плагин
-
* Relaxed: * Это увеличивает ограничение времени с 10 секунд до 4 минут для входа в OTP. Включите это, если у вас есть проблемы с копированием OTP в отведенное время
-
* Описание: * Введите имя (желательно название вашего блога). Это значение будет отображаться в приложении FreeOTP на вашем мобильном устройстве.
-
* Показать / Скрыть QR-код: * Нажмите на эту кнопку, чтобы показать QR-код
изображение: https: //assets.digitalocean.com/articles/wordpress_2fa/4.png [отсканируйте qr-код в приложении freeotp]
Подключение приложения FreeOTP
Запустите приложение FreeOTP на вашем телефоне или планшете.
Нажмите на маленькую иконку QR-кода в приложении. Держите телефон, чтобы отсканировать QR-код из WordPress, который теперь должен отображаться на экране вашего компьютера.
Вы должны сразу увидеть запись во FreeOTP, обозначенную как * WordPress *, с текстом, который вы ввели в * Description * под ней. Это означает, что мы успешно связали наш сайт WordPress с приложением FreeOTP.
-
Сохранить изменения: * Наконец, мы должны сохранить изменения, которые мы сделали до сих пор. В WordPress прокрутите страницу до конца и нажмите кнопку * Обновить профиль *.
Шаг 4 - Тестовый вход
На этом этапе мы проверим, включена ли двухфакторная аутентификация.
Выйдите из своего сайта WordPress и попробуйте войти снова. Вас должен приветствовать тот же экран входа в систему, а также поле ввода кода * Google Authenticator *.
изображение: https: //assets.digitalocean.com/articles/wordpress_2fa/5.png [2fa включена форма входа WordPress]
Запустите приложение FreeOTP на вашем мобильном устройстве. Нажмите кнопку WordPress, чтобы создать новый одноразовый пароль.
Введите это значение в поле ввода. Вы должны быть в состоянии войти в WordPress.
Включить двухфакторную аутентификацию для других пользователей
Вы можете (и должны) включить двухфакторную аутентификацию для других пользователей, которые имеют доступ к вашей установке WordPress. Убедитесь, что они удобны с FreeOTP, установленным на их мобильных устройствах, когда вы его настраиваете!
Восстановление аккаунта
Если вы потеряете свой телефон, вы будете заблокированы с вашего сайта WordPress. Это главный недостаток реализации двухфакторной аутентификации. К счастью, у нас есть * очень простое решение * для такой ситуации.
Все, что вам нужно сделать, это отключить плагин * Google Authenticator *.
Запустите оболочку вашего DigitalOcean Droplet и перейдите в каталог + plugins +
.
cd wp-content/plugins/
Переименуйте папку + google-authenticator +
во что-то другое.
mv 'google-authenticator'
Это деактивирует плагин, потому что WordPress не сможет найти рабочий каталог плагина.
Затем войдите в свою учетную запись WordPress как обычно. На этот раз он не будет запрашивать дополнительный токен, только ваш обычный пароль.
Как только вы получите доступ к панели администратора WordPress и восстановите свое старое устройство или получите новое устройство с установленным FreeOTP, вам необходимо активировать плагин. Из оболочки вашего Droplet используйте следующую команду:
+ mv 'google-authenticator' +
Если вы используете старое устройство, это все, что вам нужно. Вы можете выполнить * Шаг 4 * еще раз, чтобы проверить процесс входа в систему. Или вам может понадобиться перейти на * WP Dashboard> Плагины> Установленные плагины * и активировать плагин Google Authenticator еще раз.
Перейдите в свой профиль пользователя в разделе * Пользователи> Ваш профиль * и найдите подраздел * Настройки Google Authenticator *.
Если на этот раз вы используете новое устройство, нажмите * Создать новый секрет *. Создается новый QR-код, а старый обнуляется. Сканируйте новый QR-код на своем новом устройстве. Это то же самое, что мы сделали, когда активировали двухфакторную аутентификацию и подключили приложение FreeOTP, как показано в * Шаг 3 *.
Кроме того, вы можете отключить двухфакторную аутентификацию, пока не найдете свое устройство. После того, как вы выбрали соответствующую опцию, обязательно сохраните изменения, нажав кнопку * Обновить профиль *.
Заключение
Интеграция двухфакторной аутентификации - отличный шаг к повышению безопасности вашего сайта WordPress. Теперь, даже если злоумышленник получит ваши учетные данные, он не сможет войти в вашу учетную запись без OTP-кода! А техника аварийного восстановления полезна, когда вы не можете найти свой телефон.
Какие другие меры безопасности должны предпринять администраторы WordPress? Поделитесь своими мыслями в комментариях ниже!