Для того, чтобы защитить панель администратора WordPress, можно:

  • Установить ограничение доступа по IP.

  • Установить Google Recaptcha на форму авторизации, чтобы усложнить перебор паролей.

  • Изменить адрес страницы авторизации в панель администратора

  • Установить дополнительную авторизацию с помощью .htaccess + .htpasswd

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

Но если требуется комплексное решение по защите сайта, то им может стать использование специальных плагинов:


ОГРАНИЧЕНИЕ ДОСТУПА ПО IP.

Ограничение доступа к сайту с IP-адреса 111.111.111.111 в .htaccess:

<FilesMatch  "^(wp-login|wp-config)\.php$">  
  Order deny,allow
  Deny from all
  Allow from 111.111.111.111 
</FilesMatch>  

Ограничение доступа к сайту со всех адресов кроме 111.111.111.111:

Order Deny,Allow  
Deny from all  
Allow from 111.111.111.111  

С ограничением доступа через Nginx можно ознакомиться здесь

ЗАЩИТА ПАНЕЛИ АДМИНИСТРАТОРА ОТ ПЕРЕБОРА ПАРОЛЕЙ.

Простым в установке и эффективным в работе способом защититься от перебора паролей является плагин Login Lockdown.

Скачать плагин Login Lockdown из официального репозитория WordPress.org

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

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

file

Настройки плагина Login Lockdown

  • Max Login Retries - Максимально позволительное число неудачных попыток авторизации, после которых доступ по IP блокируется. По умолчанию, даётся 3 попытки.
  • Retry Time Period Restriction (minutes) - За какой период времени позволительно ошибиться вышеуказанное число раз (по умолчанию, 5 минут). Если Вы ошиблись 2 раза с вводом пароля, нужно подождать 5 минут, иначе можно попасть в бан.
  • Lockout Length (minutes) - На какое количество минут блокировать доступ к сайту. По умолчанию, доступ по IP блокируется на 60 минут.
  • Lockout Invalid Usernames? - Использовать ли фильтр Login LockDown для попыток авторизации под пользователем, которого не существует. По умолчанию, нет.
  • Mask Login Errors? - WordPress обычно отображает отдельные сообщения пользователю в зависимости от того, будет ли он пытаться войти в систему с недопустимым именем пользователя или с правильным именем пользователя, но с неправильным паролем. Переключение этой опции скроет, если попытка авторизации завершится неудачно.
  • Show Credit Link? - Показывать или нет ссылку на страницу Login Lockdown на странице авторизации. По умолчанию, она есть, но её можно отключить.

При авторизации, мы увидим, что сайт защищён:

file

ЗАЩИТА ПАНЕЛИ АДМИНИСТРАТОРА С ПОМОЩЬЮ CAPTCHA.

Плагин Google Captcha (reCAPTCHA) — это решение для безопасности, которое защищает формы вашего сайта WordPress от спама, позволяя реальным людям с легкостью проходить капчу. Его можно использовать для форм логина, регистрации, восстановления пароля, комментариев, популярных контактных и многих других форм.

Устанавливаем плагин Google Captcha (reCAPTCHA)

Переходим в настройки плагина http://example.com/wp-admin/admin.php?page=google-captcha.php

file

Проходим регистрацию на Google Recaptcha, добавляем свой сайт, получаем ключи и вводим их в поля указанные на скриншоте

При авторизации и форме комментариев мы видим что добавилась проверка капчей.

file

КАК СКРЫТЬ АДРЕС ПАНЕЛИ АДМИНИСТРАТОРА ИЗМЕНИВ ЕГО.

WPS Hide Login — это плагин, который позволяет легко и безопасно изменять URL страницы формы входа в систему на все, что угодно. Он не буквально переименовывает или меняет файлы в ядре, и не добавляет правила перезаписи. Он просто перехватывает запросы страниц и работает на любом сайте WordPress.

Устанавливаем плагин WPS Hide Login

Далее, в настройках плагина http://example.com/wp-admin/options-general.php#whl-page-input указываем новый адрес авторизации в панель админа WordPress и сохраняем изменения.

file

ЗАЩИТА ПАНЕЛИ АДМИНИСТРАТОРА ПРИ ПОМОЩИ ДОПОЛНИТЕЛЬНОЙ АВТОРИЗАЦИИ

file

процесс состоит из двух шагов.

.htaccess
В первую очередь создаём файл .htaccess в той директории сайта, которую хотим защитить паролем. Так как речь шла об админке WordPress, то создаем файл в папке /wp-admin.

AuthType Basic  
#название аутентификации
AuthName "Protected Area"  
#путь к файлу с пользователями и паролями .htpasswd
AuthUserFile /home/f45454/mysite.com/public_html/wp-admin/.htpasswd  
require valid-user  
  • AuthName
    • Название авторизации. Сообщение будет отображаться в окошке ввода логина и пароля. Кроме того, для того, чтобы сохраненные пароли в браузерах сбросились, вы можете просто поменять это сообщение.
  • AuthUserFile
    • Абсолютный путь на сервере к файлу с логинами и паролями (как раз .htpasswd). Для того, чтобы узнать его, используйте PHP функцию getcwd() (Get Current Working Directory).

.htpasswd
Файл с пользователями и паролями вида пользователь:пароль. Пароль должен быть представлен в зашифрованном виде.

Пример:

admin:$apr1$7C3cBu2Z$0ulE5W3hyDTNCCGYaJHlu.  

Обновлено 15 сентября 2024 г.