Для того, чтобы защитить панель администратора 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.