Двухфакторная аутентификация на сайт WordPress: как настроить новичку

Двухфакторная аутентификация WordPress

Всем привет! Тема сегодняшней статьи — двухфакторная аутентификация WordPress.

Идея написания подобной статьи пришла совершенно случайно. Я долго размышлял на тему, как защитить админку моего блога от взлома. В итоге, погуглив, нашел несколько достаточно популярных у других веб-мастеров методов. Ну и инструкций, что и как делать. Правда, тогда почему-то нигде не было и намека на плагины, о которых я так же расскажу в этой статье. Хотя, кто знает, может их попросту еще не сделали.

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

Пошаговое создание двухфакторной авторизации для сайта

Ладно, вернемся к вопросу создания двухфакторной авторизации на сайты с CMS WordPress. К счастью, все это делается быстро и относительно просто (ха-ха три раза).

Узнаем путь к файлам на сервере

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

Делается это вот так:

  • Создаем файл servinfo.php;
  • Вводим в нем следующий код:

<?php

echo $_SERVER[‘DOCUMENT_ROOT’];

?>

  • Сохраняем файлик и закачиваем в корень сайта (можно через фтп-соединение или админку хостинга);
  • Заходим в браузер и переходим по адресу: https://домен сайта/servinfo.php

Должна открыться страница, на которой будет путь до корня нашего сайта.

Когда закончим с настройкой этот файлик можно (и даже нужно) удалить.

Редактируем файл .htaccess

В корне сайта находим файл .htaccess. Он автоматически создается во время установки на хостинг CMS WordPress, поэтому ищите лучше.

Нашли? Отлично, копируем его на рабочий стол.

Перед тем, как в нём что то изменить — сделайте резервную копию файла к себе на компьютер. Просто на всякий случай.

Открываем файл используя любой редактор кода. Можете, конечно, рискнуть и открыть через обыкновенный блокнот, но, лично у меня через него так ничего и не заработало. В чем причина и где я ошибся определить не удалось. Поэтому, советую использовать Brackets или Notepad ++.

В файле уже есть какой-то код — его не трогаем. В самый конец, после строчки # END WordPress вставляем следующее:

<Files wp-login.php>

AuthName «Access Denied»

AuthType Basic

AuthUserFile /home/.htpasswd

require valid-user

</Files>

Этот код необходим, чтобы при попытке зайти на страничку, где мы вводим лог/пасс для входа в админку WP, сначала появлялось дополнительное окно с требованием пройти еще одну авторизацию.

Сейчас файл должен выглядеть вот так:

# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index\.php$ — [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

 

# END WordPress

 

<Files wp-login.php>

AuthName «Access Denied»

AuthType Basic

AuthUserFile /home/.htpasswd

require valid-user

</Files>

В строке AuthUserFile /home/.htpasswd указываем точный путь к файлу. В конечном итоге выглядеть должно как-то так:

AuthUserFile /home/iflife.ru/public_html/.htpasswd

Создаем файл .htpasswd

Ну и последний пункт настроек – создание файла, который содержит наши дополнительные лог/пасс для авторизации.

  • Создаем файл с названием .htpasswd, открываем его;
  • Переходим на сайт;
  • Вводим логин и пароль, которые будем использовать при первой авторизации на сайте и нажимаем создать;
  • Копируем полученный код в наш файлик и сохраняем его.

Файл готов, осталось загрузить его и измененный файл .htaccess в корень сайта, после чего протестировать, все ли получилось. Для этого пробуем зайти в админку. Если все окей, вылетит вот такое окошко:

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

Вылезло? Отлично, поздравляю. Двухфакторная аутентификация для сайта на движке WordPress настроена правильно. Можно выдыхать и начинать праздновать.

Двухфакторная аутентификация на сайт при помощи плагинов WordPress

Еще один способ, который хорошо подойдет обладателям смартфонов — создание двухфакторной авторизации при помощи плагинов wordpress.

На данный момент существует всего парочка хороших плагинов, поэтому, если не хотите возиться с кодом и закачкой файлов на хостинг, берите к себе на вооружение:

  • Google Authenticator — Two Factor Authentication (2FA)
  • Keyy Two Factor Authentication (like Clef)

О том, как найти и установить плагины на сайт можете почитать в моей статье — обязательные плагины для сайта на WordPress: как установить и от чего можно отказаться.

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

Использовать плагины или настроить все вручную — выбор целиком и полностью за вами. Главное, что правильно созданная и настроенная двухфакторная аутентификация в админку WordPress усилит защиту сайта и позволит вам спать спокойно. На этом все. До новых встреч, друзья!

ПОДПИШИТЕСЬ НА НОВОСТИ БЛОГА!

Понравилась статья? Поделиться с друзьями:
Блог Максима Ляшенко
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:
Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.