Защита WordPress. Как закрыть папку паролем.

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

С другой стороны, при заходе в административный раздел WordPress, пользователю не надо вводить капчу (картинку с цифрами или буквами), чтобы сделать попытку входа. Это позволяет злоумышленникам беспрепятственно подбирать пароли. А используя современные методы, скорость подбора пароля может доходить до десятков тысяч попыток в день, приходящих с разных ip адресов. Что нивелирует защиту от пароля небольшой длины. Но выход есть - установить пароль на административную папку WordPress через файл конфигурации ".htaccess". Тогда чтобы увидеть форму авторизации придётся ввести пароль к папке. Ещё без ввода пароля не будет доступа к функциям администрирования. Следовательно, защита сайта будет выше.

Закрытие паролем административной папки

В статье "Установить пароль на папку сайта через htaccess" можно найти более подробное объяснение о том, как сделать защиту папки. Сейчас же мы рассмотрим какие именно папки и файлы в WordPress стоит установить доступ по паролю.

Для защиты WordPress стоит установить доступ по паролю на файл "wp-login.php" в корневой папке сайта и папку "/wp-admin/". Для этого в файле ".htaccess" в корневой папке сайта нужно добавить следующие строки
<Files "wp-login.php">
   AuthUserFile /path_to_folder/.htpasswd
   AuthName "Authentication Required"
   AuthType Basic
   Require valid-user
</Files>
<Files "/wp-admin/">
   AuthUserFile /path_to_folder/.htpasswd
   AuthName "Authentication Required"
   AuthType Basic
   Require valid-user
</Files>
После задания такого кода при заходе в административную панель или обращению к любому скрипту, который лежит в папке "/wp-admin/" (или вложенных в неё папок), будет появляться окно для ввода логина и пароля. Разберём значение директив:
  • AuthType - может принимать значения "Basic" или "Digest" - это два разных типа защиты. Тип "Basic" слабый, потому что не использует ключ шифрования при передаче данных. Тип "Digest" обеспечивает повышенный уровень защиты, но его редко применяют.
  • AuthName - надпись над полем ввода пароля. Можно написать что угодно.
  • AuthUserFile - путь к файлу ".htpasswd".
  • Require - определяет тип аутентификации: "valid-user" - могут войти все пользователи, правильно указавшие пароль (требует файла AuthUserFile); "group" - могут войти пользователи, которые входят перечисленные в группы (требует файла AuthGroupFile); "user" - смогут войти только те пользователи, имена которых указаны после директивы.
Теперь необходимо создать файл с именами и паролями пользователей. В Linux для этого будет использоваться команда:
htpasswd -c /path_to_folder/.htpasswd user_name
Объяснение по порядку:
  • Ключ "-c" означает создание файла при его отсутствии. Значение всех параметров можно посмотреть в документации htpasswd
  • Обратите внимание на директорию для хранения файла: "/path_to_folder/.htpasswd". Желательно чтобы она находилась вдалеке от сайта, чтобы было сложнее достать файл и подобрать пароль. Не стоит класть файл "htpasswd" с паролем в корневую папку сайта.
  • "user_name" необходимо заменить на логин.
  • После ввода команды попросят задать пароль и подтвердить
Для пользователей Windows есть сайты-сервисы онлайн генераторы файла ".htpasswd". В них необходимо ввести логин/пароль, а взамен получаешь готовый файл ".htpasswd".
MouseDC.ru - хостинг, виртуальный хостинг, покупка доменов, проверка доменов, WHOIS, покупка SSL сертификатов, доработка сайтов, сопровождение сайтов, разработка сайтов, техподдержка сайтов
Была ли эта статья полезна? Есть вопрос?
Cмотрите другие статьи: