Бесплатные CMS > SEO оптимизация WordPress > Двойная авторизация .htpasswd WP

Защита админки WordPress

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

Защититься от такого злоумышленника достаточно просто: подобрать пароль, состоящий из рандомного набора букв, цифр и прочих символов, практически невозможно: для этого могут понадобиться сотни лет. Такие хакеры рассчитывают, скорее, на неопытных владельцев сайта, использующих в качестве пароля «12345678» или «qwerty».

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

Брутфорс атака на сайт очень легко определяется тем, что в логах можно наблюдать огромное число запросов к файлам wp-login.php и xmlrpc.php, в результате которых и увеличивается нагрузка на web-ресурс.

У WordPress есть специальный плагин Limit Login Attempts, который блокирует IP адреса пользователей, совершающих многократные неудачные попытки входа в админ-панель. Однако, как и любой другой плагин, он увеличивает нагрузку на сайт, а кроме того, он не принесет особой пользы, если злоумышленник использует тысячи прокси, меняя их после каждого запроса.

Двойная авторизация WordPress: файл .htpasswd

Намного результативнее будет поставить пароль на файл wp-login.php при помощи .htpasswd, то есть установить на сайт HTTP-авторизацию или «двойную авторизацию». Создать файл .htpasswd можно при помощи генератора, который находится по ссылке http://www.htaccesstools.com/htpasswd-generator/.

Вам необходимо только ввести желаемые логин и пароль в соответствующие поля и нажать Create.

логин и пароль для .htpasswd

А затем скопировать готовый текст в свой файл .htpasswd. Как видите, пароль в файле хранится в зашифрованном виде.

.htpasswd

Поместите файл .htpasswd в корень сайта; и добавьте в .htaccess следующий код:

AuthUserFile .htpasswd
AuthName "Private access"
AuthType Basic
<FilesMatch "wp-login.php">
Require valid-user
</FilesMatch>

На некоторых хостингах может потребоваться полное указание пути к файлу .htpasswd:

AuthUserFile /home/k/seo/seo-praktika.com/public_html/.htpasswd

Чтобы узнать абсолютный путь к файлу, поместите в корень сайта скрипт с кодом:

<?php
echo $_SERVER['DOCUMENT_ROOT'];
?>

И перейдите на него.

Теперь при переходе в административную часть сайта (wp-admin или wp-login.php) будет требоваться аутентификация.

Ограничение доступа к админке WordPress по IP

Также результативным способом является блокировка доступа к админ-панели по IP адресу. Для этого достаточно просто прописать в файле .htaccess, размещенном в корне сайта:

<Files "wp-login.php">
Order deny,allow
Allow from All
Deny from 00.00.00.00
</Files>

Вместо 00.00.00.00, нужно указать адрес, который вы хотите заблокировать.

Также можно блокировать целые диапазоны IP-адресов, например, принадлежащих хостерам, с которых ведется атака на ваш сайт.

Однако гораздо проще запретить все IP-адреса, кроме того, что принадлежит вам. Однако для этого вам необходим статический (постоянный, «белый») IP-адрес, зарегистрированный у провайдера.

<Files "wp-login.php">
Order deny,allow
Deny from All
Allow from 00.00.00.00
</Files>

В этом случае вместо 00.00.00.00 нужно указать ваш адрес.

Также можно просто заблокировать всем доступ к админ-панели, например, если вы не собираетесь обновлять сайт длительное время или просто уезжаете в отпуск:

<Files "wp-login.php">
Order deny,allow
Deny from All
</Files>

Это самый простой способ защитить Вордпресс и избежать чрезмерной нагрузки, если на ваш сайт будет идти брутфорс-атака.


Меню сайта

Защита админки WordPress
Защита админки WordPress