Защита админ-панели wordpress через htaccess | Студия Анатолия Тарасенко
23.07.2020

Защита админ-панели wordpress через htaccess

Если вы чем-то не пользуетесь больше месяца —
избавьтесь от этого.

Сегодня несколько пользователей моего хостинга обратилась с вопросами: сервер показывает непонятное сообщение, что делать?
2014-07-23_232606

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

В папку wp-admin для wordpress, а так же administrator для joomla был положен файл .htaccess cо следующим текстом:
AuthName "Need access? Call +7 (347) 266-65-41"
AuthType Basic
AuthUserFile /var/www/.htpass
require valid-user

В файле .htpass соответственно заданы логин и пароль. Важно, что файл .htpass нужно формировать с помощью спец. программы. Скачать программку можно тут.

Сайтов на сервере много, поэтому по ssh файл .htaccess был сначала уложен в папку пользователя root затем, с помощью следующих команд, раскидан по всем сайтам:
find /var/www -type d -name "wp-admin" -exec cp /root/.htaccess {} \;

Проверить, что будет делать данная команда можно добавив echo
find /var/www -type d -name "wp-admin" -exec echo /path/to/.htaccess {} \;

Для справки
-type d значит что мы ищем именно директории
-exec запускает указанную прогу когда что-то нашли
{} в find подставляет найденный результат
; в find означает конец действия (потому что у -exec может быть много параметров), но то же самое оно означает и в консоли, поэтому экранируем — \;

Сервер работает под управлением ISPmanager поэтому структура расположения файлов такая:
/var/www/username1/data/www/domain.ru/wp-admin
/var/www/username2/data/www/site.ru/wp-admin
/var/www/username3/data/www/xn--02-emcatk.xn--p1ai/wp-admin

Это сделано для того, чтобы снизить нагрузку на сервер. Боты пытаются подобрать пароль в админку через wp-admin и даже загрузка самой страницы админки грузит сервер, поэтому мы им просто показываем серверное окошко авторизации, что отнимает меньше ресурсов. Что еще можно сделать, чтобы снизить нагрузку:

1. Не использовать WP.
2. Не использовать стандартный путь wp-admin.
3. Вообще удалять админки там где они не нужны или нужны редко (при необходимости восстанавливать).
4. Перевесить именно директорию wp-admin на другой порт.
5. Фильтр по айпи (или подсетям).

Огромное спасибо за помощь в познании сих тонких материй deseven

p.s. а еще мы сегодня узнали, что можно безболезненно удалить админку wordpress (папка wp-admin), если сайт не нужно редактировать, а сайт нормально продолжит свою работу.