Защита 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, курсы создания сайтов, вебинары по созданию, курсы разработки сайтов, доработка сайтов, сопровождение сайтов, разработка сайтов, техподдержка сайтов
Была ли эта статья полезна? Есть вопрос?
Cмотрите другие статьи: