Для того, чтобы защитить панель администратора 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 вносится в чёрный список, и доступ к сайту блокируется.
Использовать этот плагин можно на любом типе сайтов:
- Устанавливаем плагин Login Lockdown
- Настройки плагина находятся в https://example.com/wp-admin/options-general.php?page=loginlockdown.php.
Настраивать плагин не обязательно, но если требуется то можно ввести свои настройки:
Настройки плагина 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 на странице авторизации. По умолчанию, она есть, но её можно отключить.
При авторизации, мы увидим, что сайт защищён:
ЗАЩИТА ПАНЕЛИ АДМИНИСТРАТОРА С ПОМОЩЬЮ CAPTCHA.
Плагин Google Captcha (reCAPTCHA) — это решение для безопасности, которое защищает формы вашего сайта WordPress от спама, позволяя реальным людям с легкостью проходить капчу. Его можно использовать для форм логина, регистрации, восстановления пароля, комментариев, популярных контактных и многих других форм.
Устанавливаем плагин Google Captcha (reCAPTCHA)
Переходим в настройки плагина http://example.com/wp-admin/admin.php?page=google-captcha.php
Проходим регистрацию на Google Recaptcha, добавляем свой сайт, получаем ключи и вводим их в поля указанные на скриншоте
При авторизации и форме комментариев мы видим что добавилась проверка капчей.
КАК СКРЫТЬ АДРЕС ПАНЕЛИ АДМИНИСТРАТОРА ИЗМЕНИВ ЕГО.
WPS Hide Login — это плагин, который позволяет легко и безопасно изменять URL страницы формы входа в систему на все, что угодно. Он не буквально переименовывает или меняет файлы в ядре, и не добавляет правила перезаписи. Он просто перехватывает запросы страниц и работает на любом сайте WordPress.
Устанавливаем плагин WPS Hide Login
Далее, в настройках плагина http://example.com/wp-admin/options-general.php#whl-page-input указываем новый адрес авторизации в панель админа WordPress и сохраняем изменения.
ЗАЩИТА ПАНЕЛИ АДМИНИСТРАТОРА ПРИ ПОМОЩИ ДОПОЛНИТЕЛЬНОЙ АВТОРИЗАЦИИ
процесс состоит из двух шагов.
.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.