WordPress является самой популярной CMS в мире с более чем 70 миллионами пользователей, но так ли безопасна эта CMS? В этой статье Paul Maloney покажет вам, как защитить ваш сайт на WordPress с помощью .htaccess.
WordPress, без сомнения, самая популярная CMS в данный момент, значительно опережая другие альтернативы, такие как Joomla и Drupal.
WordPress имеет очень большое и активное сообщество, которое создает большое количество плагинов, тем и хаков, но популярность имеет и свои минусы… Сайты на WordPress постоянно подвергаются попыткам взлома.
Наша задача, как пользователей WordPress (кроме вклада в WordPress-сообщества) держать наш сайт в безопасности от людей, которым мы не хотим давать доступ к сайту.
Есть множество плагинов, чтобы укрепить защиту WordPress, такие как Login LockDown, который фиксирует IP-адреса и блокирует их после определенного числа неудачных попыток входа в систему, он помогает против подбора пароля.
Другой плагин WP Security Scan, проверяет ваш сайт на наличие уязвимостей и предлагает возможные методы для исправления ошибок, которые он нашел.
Одним из самых игнорируемых методов безопасности является отказ от установки самых последних обновлений и исправлений на ваш сайт.
Настройка файла .htaccess
Наряду с использованием плагинов, есть ряд способов защиты, которые вы можете применить с помощью файла .htaccess, в сочетании с плагинами и регулярными обновлениями – это повысит уровень безопасности вашего сайта и даст вам дополнительный уровень защиты.
Я расскажу о некоторых способах защиты, и покажу вам, как и где можно добавить фрагменты кода, которые помогут вам обезопасить ваш сайт.
Типичный .htaccess файл в WordPress выглядит примерно так:
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
Я бы советовал любые изменения в файл .htaccess добавлять после #END WordPress.
Это позволит вам не сломать какой-либо базовый функционал в WordPress. До внесения изменений в файл .htaccess я настоятельно рекомендую сделать резервное копирование данных и сохранить их в безопасном месте!
Защита WP-config.php
WP-config.php – это файл в корневом каталоге, который хранит информацию о вашем сайте, а также о базе данных.
Чтобы предотвратить доступ к wp-config.php добавьте следующие строки в ваш файл .htaccess:
<Files wp-config.php> order allow,deny deny from all </Files>
Доступ в админку только с вашего IP
Вы можете ограничить доступ в админку по IP-адресу, для этого вам нужно будет создать новый файл .htaccess в обычном текстовом редакторе и загрузить его в свою папку wp-admin.
Cледующий код запрещает доступ в админку для всех IP-адресов, за исключением вашего IP-адреса, но имейте в виду, если у вас динамический IP, вам, возможно, придется регулярно изменять этот файл, в противном случае вам также будет отказано в доступе!
order deny,allow allow from 202.090.21.1 (замените это (202.090.21.1) на ваш IP адрес) deny from all
Баним подозрительных пользователей
Если вы обнаружили в логах, что кто-то пытается взломать ваш сайт или посылает очень много запросов к вашему сайту, то вы можете запретить ему доступ к сайту с помощью этого простого кода в .htaccess:
<Limit GET POST> order allow,deny deny from 202.090.21.1 allow from all </Limit>
Этот пользователь или бот теперь не сможет получить доступ к сайту пока не сменит IP адрес. Но вы можете добавить сколько угодно запрещенных IP адресов, например:
<Limit GET POST> order allow,deny deny from 202.090.21.1 deny from 204.090.21.2 allow from all </Limit>
Запрет на просмотр списка файлов в каталоге
Так как WordPress в настоящее время очень популярен, многие знают структуру WordPress и знают, где искать, чтобы выяснить какие плагины можно использовать или какие-либо другие файлы, которые могут дать много информации о Вашем сайте, один из способов борьбы с этим является запрет на просмотр каталогов.
Options All -Indexes
Запрет на доступ к wp-content
Папка wp-content содержит изображения, темы и плагины, это очень важная папка WordPress, так что имеет смысл предотвратить несанкционированный доступ к ней.
Это потребует создания отдельного файла .htaccess, который должен находиться в папке wp-content, что позволит пользователям просматривать изображения, CSS-файлы и т.д., но защищает важные PHP-файлы:
Order deny,allow Deny from all <Files ~ ".(xml|css|jpe?g|png|gif|js)$"> Allow from all </Files>
Индивидуальная защита файлов
Есть определенные файлы, которые вы можете защитить отдельно, а не блокировать всю папку. Например данный код показывает как вы можете предотвратить доступ к файлу .htaccess. Имя файла может быть изменено на любой файл, который вы хотите защитить:
# Protect the .htaccess <files .htaccess=""> order allow,deny deny from all </files>
Защита .htaccess
Звучит безумно, да? Мы тратим так много времени, беспокоясь, все ли последние обновления безопасности установлены, но мы упускаем из виду тот факт, что файл .htaccess остается открытым для атак.
Этот код запрещает просмотр любого файла на вашем сайте, который начинается с “.hta”, это защитит его и сделает немного более безопасным.
<Files ~ "^.*\.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </Files>
Итак, мы рассмотрели как запретить доступ посторонним в админку, как предотвратить просмотр каталогов, защитить ваш файл wp-config.php, защитить папку wp-content и отдельные файлы, и даже как защитить файл .htaccess.
Этот список способов защиты отнюдь не исчерпывается данными вариантами, есть ряд других вещей, которые вы можете сделать, чтобы защитить ваш сайт с помощью .htaccess. Но способы, которые я показал, помогут защитить наиболее важные файлы и папки на вашем сайте и сохранить их вдали от любопытных глаз.
Источник