Защита административной панели WordPress посредством .htaccess + .htpasswd

Плюсануть
Поделиться
Класснуть

Сегодня суббота, а значит прошла неделя после моего увольнения. Ура! Поэтому сегодня пост о защите дырок у сайтов. В чём связь – сам не знаю, но она точно существует.

Поговорим о защите админки WordPress. Уверен, что если вы хоть раз задумывались об этой проблеме, то вы знаете про плагины для ограничения количества авторизаций. Делается это, чтобы отсечь ботов, которые перебирают пароли, тем самым снизив нагрузку на сайт. Но ведь можно легко обойтись и без плагинов, с помощью .htaccess.

Данный способ защиты админки подойдёт для WordPress и для других популярных CMS, таких как Joomla и DLE. Стоит отметить, что если у вас Joomla – сожгите свой сайт нахуй, пользы он никому принести не может.

Выглядит авторизация следующим образом:

Защита админки WordPress посредством .htaccess

Само собой окно может немного отличаться, всё зависит от браузера.

Дополнительная авторизация .htaccess + .htpasswd

Я приведу свой пример настройки подобной защиты. Заключается он в том, что на всех WordPress-сайтах используется одна и та же настройка. Смысла делать на каждый сайт отдельный логин и пароль не вижу, мы же защищаемся от ботов.

В корневой файл .htaccess добавьте вот такой бред:

<Files wp-login.php>
AuthName "Access Denied"
AuthType Basic
AuthUserFile /home/admin/web/.htpasswd
require valid-user
</Files>

Так, при обращении к файлу wp-login.php (его запрашивают боты при брутфорсе паролей), будет вызываться необходимая нам авторизация, с заголовком "Access Denied".

Обратите внимание на путь /home/admin/web/.htpasswd. Отредактируйте его под себя, указав где лежит файл .htpasswd, о котором ниже.

Генерация .htpasswd

Файл .htpasswd представляет из себя список, вида "логин:пароль". Пароль вписывается в зашифрованном виде. Сгенерировать уже готовый файл можно на соответствующих сервисах, которые легко ищутся в гугле. Я пользовался вот этим.

Пример того, что может быть в этом файле (и даже работать):

admin:$apr1$hy48kme0$kuFOQHQPosqjM2EpJ0rgN1
superadmin:$apr1$ewltcdvr$k03nkKZsq/9HrqXpZyCmL1
neadmin:$apr1$gj49betv$VLWiOaV2gLOisXbI2ZDAi1

Да, пользователей можно вписать ровно столько, сколько нужно.

Я делал подобную содомию, когда мой любимый хостер вежливо намекнул, что у меня выросла нагрузка на сайты, причём в глаза бросалось большое число обращений к файлу wp-login.php. Стало ясно, что это китайские боты опять балуются.

Связка .htaccess + .htpasswd справилась со своей задачей. Окно с авторизацией отображается ещё до того, как вызывается и обрабатывается файл wp-login.php, поэтому нагрузка на веб-сервер ощутимо спала. Ну а то, что такие брутфорсеры не предполагают появление подобного окна с авторизацией, данный метод добавляет +1 к безопасности.

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

Если возникли вопросы – добро пожаловать в комментарии ниже. Постараюсь помочь.

Последнее изменение записи: 28.12.2015 | Рубрика: Работа | Метки: , , ,
Плюсануть
Поделиться
Класснуть