Редактирование .htaccess для безопасности WordPress

Снипеты .htaccess для безопасности ВордпрессФайл .htaccess (Hypertext Access, Доступ к гипертексту) — это конфигурационный файл сервера, который находится в корневой папке сайта.

В этом файле можно сделать дополнительные настройки для защиты от хакеров и спама, например, запретить доступ к определенному файлу или папке, установить пароль на папку, добавить редиректы каких-то запросов, заблокировать ip и так далее.

Это мощный инструмент, который можно использовать для увеличения безопасности сайта.

В этой статье вы узнаете, что можно добавить в файл .htaccess для увеличения безопасности сайта.

Содержание:

Что может делать .htaccess

Как создать .htaccess
Куда добавлять изменения
Как редактировать файл .htaccess

  1. Защита важных файлов
  2. Запретите доступ к wp-login.php и wp-admin
  3. Запретите доступ к папкам сайта
  4. Доступ только к разрешенным типам файлов
  5. Запретите доступ к сайту с определенных IP
  6. Запретите доступ к PHP файлам
  7. Запретите исполнение PHP файлов
  8. Защитите сайт от внедрения вредоносных скриптов
  9. Запретите доступ к папке wp-includes
  10. Отключите показ версии PHP в заголовках ответов сервера
  11. Отключите XML-RPC
  12. Отключите нумерацию пользователей
  13. Используйте SSL
  14. Отключите хотлинк картинок

Заключение

Что может делать .htaccess

Файл .htaccess находится в корневой папке сайта. Точка перед названием файла означает, что файл невидим, и вы сможете его видеть если включите настройку «Показывать скрытые файлы».

FileZilla - Показывать скрытые файлы
Отображать скрытые файлы в Filezilla

Файл используется для настройки сервера, типичное применение файла:

  • Включает и отключает редиректы на другие страницы
  • Добавляет пароль на папки
  • Блокирует пользователей по IP
  • Отключает показ содержимого папок
  • Создает и использует собственные страницы для ошибок

В Вордпрессе этот файл используется для создания красивых постоянных ссылок (Настройки — Постоянные ссылки — Общие настройки), и создается автоматически когда эта функция включается.

Если вы уже знаете, для чего нужен этот файл, переходите к списку.

Сделайте бэкап

.htaccess довольно чувствительный файл, поэтому одна ошибка в синтаксисе может положить весь сайт. Скопируйте файл на компьютер, если появится ошибка, вы сможете вернуться к первоначальному варианту.

Как создать .htaccess

В зависимости от вашей установки Вордпресс, у вас может не быть файла .htaccess, поэтому его нужно создать. Вы можете создать его на компьютере и перенести на сервер с помощью ftp-клиента, или создать этот файл в файл менеджере на хостинг-панели.

Если ваш сервер или компьютер не позволяет создать файл с таким именем, создайте файл htaccess.txt, перенесите его на сервер и на сервере переименуйте его в .htaccess.

Начиная с версии 4.2 все установки Вордпресс имеют красивые постоянные ссылки по умолчанию, поэтому файл .htaccess в этих версиях создается автоматически. В новый пустой файл добавьте стандартную запись, которую делает Вордпресс.

Для одиночной установки:

Для мультисайт установки, версия Вордпресс 3.5 или выше, если сайты находятся в подпапках:

Для мультисайт установки, версия Вордпресс 3.5 или выше, если сайты находятся на субдоменах:

Когда вы создаете новый .htaccess файл, дайте этому файлу права доступа как минимум 640 для защиты от возможных атак. Нормальные права для этого файла — 600. Если файл уже есть, проверьте, чтобы права доступа были не выше 640.

Куда добавлять изменения

Строки, начинающиеся с тега #, являются комментариями и не являются правилами для исполнения .htaccess.

Добавляйте свои комментарии к вашим правилам.

Когда вы добавляете свои правила, добавляйте их выше или ниже стандартных правил Вордпресс.

Не добавляйте и ничего не редактируйте между строками  # BEGIN WordPress и # END WordPress. Для мультисайт установок таких комментариев нет, но не добавляйте и не редактируйте ничего в коде для мультисайт установок.

Если вы что-то исправили в этом коде, Вордпресс должен автоматически вернуть первоначальный вариант, но лучше ничего не менять. В крайнем случае у вас должна остаться копия файла, которую вы можете вернуть на сервер.

Добавляйте свои правила выше или ниже стандартных правил Вордпресс по-одному, пишите к ним комментарии, сохраняйте и проверяйте изменения на сайте.

Если у вас Nginx сервер, здесь вы найдете htaccess — nginx конвертер.

Как редактировать файл .htaccess

Вы можете редактировать .htaccess из вашей хостинг-панели, или через ftp-клиент.

В первом случае зайдите на вашу хостинг-панель, запустите файл менеджер, найдите файл .htaccess и откройте его как обычный текстовый файл.

Если вы пользуетесь ftp-клиентом — зайдите на свой сервер, найдите .htaccess в корневой папке сайта, скопируйте его на свой компьютер, отредактируйте, сохраните и закачайте обратно на сервер. Удалите старый файл с сервера, или замените старый на новый.

1. Защита важных файлов

Запретите доступ к файлам wp-config.phphtaccessphp.ini и логам ошибок. Добавьте это правило, чтобы запретить доступ к этим файлам:

У вас может не быть файла php.ini. Вместо него может быть файл php5.ini или php7.ini. Если у вас есть файл php5 или php7, замените php.ini на php5.ini или php7.ini. Если файла php.ini нет вообще, уберите php.ini| из правила.

Если вы хотите запретить доступ только к файлу wp-config.php, добавьте это правило:

Если вы хотите запретить доступ ко всем файлам .htaccess на сайте, добавьте этот код:

2. Закройте доступ к wp-login.php и wp-admin

Если вы используете статический IP, вы можете запретить доступ к странице входа или панели администратора:

Первые две строчки перенаправляют посетителя с неавторизованного IP на страницу с ошибкой 404. Это правило не будет вызывать цикличные редиректы, ваш сайт не будет выглядеть как зависший.

Замените  /путь-к-вашему-сайту/ в двух первых строчках на свой адрес.
Замените  IP Адрес 1IP Адрес 2 и IP Адрес 3 на те IP адреса, с которых вы хотите иметь доступ к страницам wp-login.php и wp-admin.

Если вам нужен только один IP адрес, удалите строки 9 и 10, если вам нужно больше адресов, добавьте нужное количество строк.

Если вы или другие пользователи имеют динамические IP (или Мультисайт), используйте следующее правило:

Замените  /путь-к-вашему-сайту/ и  /ваш-сайт.ru/  на свой адрес.

Хакеры используют ботов, чтобы пытаться попасть в админку Вордпресс. Это правило определяет, что только те пользователи, которые вручную набрали wp-login.php или wp-admin в браузере, получат доступ к этим страницам.

Этот способ не защитит от хакеров, которые вручную набирают адрес страницы входа на сайт, но значительно уменьшит количество автоматических брут-форс атак (перебор паролей).

Еще один способ — создайте файл .htaccess в папке wp-admin. Это правило разрешает доступ к папке только указанным ip:

Замените  IP Адрес 1 и IP Адрес 2 на свои IP.

3. Запретите доступ к директориям сайта

По умолчанию сервер Apache разрешает доступ к директориям сайта. То есть любой посетитель сайта может открыть любую папку и запустить любой файл внутри этой папки, если введет в браузере нужный адрес, например, ваш-сайт.ru/wp-content/uploads/

Если эти папки будут доступны для просмотра, злоумышленник может заразить какие-то файлы на вашем сервере. Чтобы запретить доступ к папкам, добавьте это правило в .htaccess:

4. Доступ только к разрешенным типам файлов

В папке wp-content находятся темы, плагины и медиа контент. Кроме доступа к директориям сайта, можно разрешить доступ только к некоторым типам файлов, например, css, js, jpg, pdf, doc и так далее. Для этого создайте в папке wp-content новый файл .htaccess и добавьте это правило:

Не вставляйте этот код в файл .htaccess в корневой папке. Если вам нужно добавить в исключения другие типы файлов, добавьте их после |odf.

5. Запретите доступ с определенных IP

Вы можете полностью запретить доступ к сайту с подозрительных или вредоносных ip:

Замените  IP Адрес 1IP Адрес 2 и IP Адрес 3 на ip-адреса, которым вы хотите запретить доступ к сайту.

6. Запретите доступ к PHP файлам

Закройте доступ к PHP файлам темы и плагинов. Хакер может внедрить вредоносный код и заразить сайт. Защита PHP файлов — важная мера предосторожности.

Добавьте этот код, чтобы заблокировать доступ неавторизованных пользователей к php файлам темы и плагинов:

7. Запретите исполнение PHP файлов

Если хакеру удастся загрузить вредоносные файлы на сервер, он не сможет их запустить, потому что это правило запрещает их исполнение. Но вам все равно нужно будет найти и удалить инфицированные файлы.

Чем больше препятствий взломщику вы установите, тем ниже вероятность что ваш сайт взломают.

Обычно хакеры загружают бэкдоры в папку /wp-content/uploads/, поэтому заблокируйте исполнение всех PHP файлов в этой папке:

Реклама

Калькулятор ОСАГО

Простой способ выгодно купить полис

8. Защитите сайт от внедрения вредоносных скриптов

Многие хакеры пытаются изменить переменные Вордпресс GLOBALS и _REQUEST с целью внедрить вредоносный код. Добавьте этот код, чтобы хакеры не могли изменять существующие файлы:

9. Запретите доступ к папке wp-includes

В папке wp-includes хранятся файлы ядра Вордпресс, поэтому доступ к этой папке лучше полностью закрыть:

10. Отключите показ версии PHP в заголовках ответов сервера

Вы можете отключить показ версии PHP в заголовках ответов сервера. Скорее это относится к серверу, чем к сайту, но влияет на безопасность сайта.

Добавьте это правило в .htaccess:

Если не получилось, попросите техподдержку вашего хостинга настроить сервер, чтобы он не показывал информацию о версии PHP.

11. Отключите XML-RPC

XML-RPC — это API интерфейс, который используется Вордпресс для удаленного доступа к сайту, для трекбеков и пингбеков и используется плагином Jetpack. Оставьте его включенным, если вы пользуетесь чем-то из этого, и выключите, если не пользуетесь, так как хакеры могут перебирать пароли тысячами через файл xmlrpc.php.

Даже если вы используете сложные пароли, брут-форс атаки расходуют большое количество ресурсов сервера. Если ваш сайт находится на недорогом хостинге, в результате такой атаки сайт может зависнуть из-за использования всех ресурсов сервера.

Чтобы отключить XML-RPC, добавьте это правило:

12. Отключите нумерацию пользователей

Когда посетитель вводит в строку адреса ваш-сайт.ru/?author=1, он перенаправляется на страницу пользователя с ID = 1.

Посетитель может определить ID всех пользователей, у которых есть опубликованные материалы на сайте. Этот процесс называется нумерацией пользователей.

Если хакер узнает ID пользователя, который также является логином пользователя, то теперь злоумышленнику остается только узнать пароль пользователя.

Даже если пользователи используют сложные пароли, злоумышленнику лучше не знать ID пользователей:

13. Используйте SSL

Это правило требует использование SSL сертификата, выданного домену, который указан в 3-ей строчке.

Замените ваш-сайт.ru в двух последних строчках на свой домен.

14. Отключите хотлинк картинок

Когда посетитель использует URL картинки, размещенной на вашем сайте и публикует ссылку на эту картинку на своем сайте, вместо того, чтобы хранить картинку на своем сайте, он нагружает ваш сервер и ваш канал интернета. Это называется хотлинкинг.

Чтобы отключить хотлинк картинок, используйте это код:

Замените ваш-сайт\.ru на ваш адрес.

Заключение

Здесь находится он-лайн генератор правил для файла .htaccess.

Еще несколько снипетов для .htaccess в Максимальной безопасности Вордпресс.

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

Читайте также:

  1. Руководство по wp-config.php
  2. Настройки wp-config.php для безопасности Вордпресс
  3. Руководство по безопасности Вордпресс
  4. Как настроить мощную защиту сайта с файрволом на уровне сервера на основе бесплатной версии Sucuri Security

Надеюсь, статья была полезна. Поделитесь в комментариях, что вы добавляете в .htaccess.

комментариев 9

  1. Что мне вообще не понятно ,делаю все как описано, а меня все равно перебрасывает на страницу 404 (

  2. Подскажите, пожалуйста, обязательно ли закрывать wp-includes в .htaccess, если существует запрет в robots?

    • Не обязательно, но желательно.
      Некоторые темы или плагины могут использовать выполнение PHP файлов в этой папке для создания изображений или хранения временных данных.
      Поэтому если будете закрывать, то проверьте, что сайт работает как раньше.

  3. Отличная подборка примеров кода. Кое что взял для себя. Ещё-бы статейку написали как объединять несколько вариантов в которых присутствует: RewriteEngine On — это для тех чайников которые собирают по крупицам разные примеры кода и делают свой htaccess файл. В большинстве случаях у них получается киш-миш.

  4. что значит /путь-к-вашему-сайту/ ?
    site.ru/ ?
    https://site.ru ?
    /public_html/… ?

    статья хорошая но в некоторых местах недопонимание приходит

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Techbear

Сайт для тех, кто хочет использовать Вордпресс по максимуму, но не хочет разбираться в коде.

WordPress   WooCommerce   Membership   Elementor   ACF

Обновления блога

Subsription - Gray Footer
Techbear