Комплексная защита административной панели WordPress

Вступление

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

Про админку WordPress

Для начала вспомним, что админка WordPress сайта или административная панель сайта — это закрытая часть сайта, предназначенная для его управления.

После установки системы доступ в административную панель имеет только администратор сайта. Разрешив регистрацию на сайте, администратор может открывать доступ к админпанели пользователям. Набор возможностей по управлению сайтом определяет роль пользователя.

Обо всём этом вы можете почитать в статьях:

Важно! Ни один гость сайта не может войти в административную панель.

По умолчанию адрес административной панели сайта http://domen.ru/wp-admin/. Вход в административную панель осуществляется через форму авторизации. Можно войти в панель через форму регистрации http://domen.ru/wp-login.php.

Это значит, что ломать или пытаться получить несанкционированный доступ в админ панель будут через эти формы. При этом не нужно забывать, что попасть в админку можно по FTP через каталог wp-admin.

Защита админки WordPress это защита всеми доступными способами форм авторизации и регистрации с защитой каталог wp-admin.

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

Смотрим несколько вариантов и методов защиты админки WordPress:

Защита от подбора паролей

Ручной, а чаще автоматический подбор паролей для авторизации в административной панели остаётся самым популярным, хотя примитивным способом взлома. По умолчанию система WordPress никак не ограничивает количество попыток авторизации пользователя с одного IP адреса. Данное обстоятельство не безопасно и требует вашего вмешательства.

Ограничить количество попыток входа в панель поможет постоянно обновляемый плагин Login Lockdown. Плагин фиксирует IP адрес пользователя и время каждой неудачной попытки входа в панель. Если в течение короткого периода времени с одного и того же диапазона IP-адресов будет более назначенного числа попыток входа, вход в панель будет отключён для всех запросов из данного диапазона IP. Адрес плагина в каталоге https://ru.wordpress.org/plugins/login-lockdown/.

Капча от автоматического подбора паролей

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

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

О плагинах для установки капчи читайте отдельную статью 13 Captcha плагины WordPress: плагины для вставки Капчи на сайт.

Смена (маскировка) адреса панели

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

Сделать это можно при помощи специальных плагинов. Рекомендую попробовать плагин Protect Your Admin. Адрес плагина в каталоге.  Страница плагина: https://ru.wordpress.org/plugins/protect-wp-admin/

Двухэтапная идентификация

Идентификация пользователя в два этапа значительно усиливает безопасность сайта, заставляя пользователя вводить не только пароль, но и код, получаемый на свой телефон или email.

Решают задачу двухэтапной аутентификации на WordPress два плагина:

Google Authenticator — WordPress Two Factor Authentication (2FA). Универсальный, мощный плагин в бесплатной и платных версиях. https://ru.wordpress.org/plugins/miniorange-2-factor-authentication/

Google Authenticator. Плагин обеспечивает двухфакторную аутентификацию с помощью приложения Google Authenticator для Android / iPhone / Blackberry. https://ru.wordpress.org/plugins/google-authenticator/

Защита каталога wp-admin на сервере

Повторюсь, по умолчанию адрес административной панели сайта http://domen.ru/wp-admin/. Как видите из адреса — это попытка доступа к папке wp-admin. Логично закрыть её для свободного доступа и попробовать это сделать на стороне сервера.

Для этого входим в административную панель вашего сервера (хостинга). У меня панель DirectAdmin, поэтому показываю всё на ней:

  • Входим в панель;
  • Открываем домен сайта для управления;
  • Заходим в на вашем домене в Менеджер файлов;
  • Ищем каталог wp-admin;
  • В строке с каталогом выбираем действие «Защитить»;

Защита wp-admin WordPress

  • На новой вкладке в форме вписываем сложный пароль для доступа к данному каталогу;

Защита wp-admin

  • Сохраняем данные.

Всё. Теперь, если панель работает корректно, при попытке открыть адрес http://domen.ru/wp-admin/ браузер запросит пароль для входа.

Блокировка пользователей по IP

Наиболее навязчивых пользователей можно блокировать по их IP адресу. Если пользователь уже зарегистрирован и проявляет опасную активность, его IP вы можете увидеть в панели на странице пользователей под его именем. Если пользователь новый, то его IP адрес нужно искать в журналах входа в административной панели вашего сервера.

Имея IP адрес пользователя установите плагин «LionScripts: IP Blocker Lite» и блокируйте вредоносные IP-адреса, спамеров и хакеров ручным методом или функцией массовой блокировки IP-адресов. Адрес плагина в каталоге: https://ru.wordpress.org/plugins/ip-address-blocker/.

Блокировка пользователей по геолокации (странам)

Можно блокировать пользователя по странам. Для этого ставим плагин «IP2Location Country Blocker». Он позволяет заблокировать нежелательным посетителям доступ к административной панели по странам или прокси-серверам. Адрес плагина: https://ru.wordpress.org/plugins/ip2location-country-blocker/.

Глухая оборона (закрыть всем доступ кроме себя iP)

При серьёзных атаках на сайт возникает необходимсоть заблокировать всех пользователей, кроме себя. Для этого используем файл .htaccess, который вы должны были создать при установке системы.

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

Узнать свой IP адрес, например на сайте: https://2ip.ru/;

Вписать в свой файл корневого каталога .htaccess такие строки:

order deny,allow
deny from all
allow from ваш_ip

Ограничьте время простоя сессии пользователя

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

Решает эту проблему плагин «Inactive Logout». Плагин прост в настройках, есть в каталоге плагинов (https://wordpress.org/plugins/inactive-logout/) и постоянно обновляется.

Сбросьте пароли всех пользователей

Если на вашем сайте активно ведётся регистрация и  пользователи могут менять сложные пароли на более простые — это не безопасно.

Навести порядок в рядах пользователей поможет плагин массового сброса паролей «Emergency Password Reset». Этот плагин позволяет администратору сбросить все пароли и автоматически отправить им ссылку для сброса. Адрес плагина: https://ru.wordpress.org/plugins/emergency-password-reset/.

Ещё несколько традиционных советов по безопасности

  • Всегда имейте под рукой резервную копию сайта;
  • Ежедневно контролируйте, любым способом, работу и доступность своего сайта;
  • Постоянно обновляйте систему и вслед за этим, обновляйте установленные плагины и темы, проверяя их совместимость.

Вывод

В статье я показал, как осуществляется защита админки WordPress с использование специальных плагинов конкретных задач. Напоминаю, что почти все описанные проблемы безопасности, можно решить установкой комплексного плагина безопасности. Например плагин безопасности Wordfence Security или Безопасность WordPress.

©www.wordpress-abc.ru

Еще статьи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.