Всем привет! Тема сегодняшней статьи — двухфакторная аутентификация 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.
На данный момент существует всего парочка хороших плагинов, поэтому, если не хотите возиться с кодом и закачкой файлов на хостинг, берите к себе на вооружение:
- Google Authenticator — Two Factor Authentication (2FA)
- Keyy Two Factor Authentication (like Clef)
О том, как найти и установить плагины на сайт можете почитать в моей статье — обязательные плагины для сайта на WordPress: как установить и от чего можно отказаться.
Как уже было сказано, тут вам понадобится смартфон. Правда, в случае с Google можно обойтись и другими методами авторизации, тут уже кому как удобнее. Меня вот плагины не впечатлили, особенно необходимостью тянуться за телефоном и в случае его потери или поломки разбираться, как же теперь обойти блокировку. Поэтому, я сделал все по старинке. А вот некоторые пользователи наоборот нахваливают эти плагины и активно используют, о чем говорит большое количество загрузок и положительных оценок.
Использовать плагины или настроить все вручную — выбор целиком и полностью за вами. Главное, что правильно созданная и настроенная двухфакторная аутентификация в админку WordPress усилит защиту сайта и позволит вам спать спокойно. На этом все. До новых встреч, друзья!