Простая и надёжная защита WordPress файлами .htaccess и .htpasswd. Wordpress htaccess защита


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

Файл .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 находится в корневой папке сайта. Точка перед названием файла означает, что файл невидим, и вы сможете его видеть если включите настройку «Показывать скрытые файлы».

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Запретите доступ к файлам wp-config.php, htaccess, php.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 Адрес 1, IP Адрес 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.

Также вы можете изменить адрес страницы входа на сайт, 2 Способа.

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

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

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

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

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

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

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

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

Замените  IP Адрес 1, IP Адрес 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. Кроме этих настроек, есть и другие меры безопасности сайта, которые стоит предпринять. Читайте о безопасности сайта на Вордпресс.

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

techbear.ru

Надёжная защита WordPress файлами .htaccess и .htpasswd

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

В этой статье я поделюсь с вами очень практичным, простым и надёжным методом организации защиты сайта с помощью файлов .htaccess и .htpasswd.

Защита WordPress файлами .htaccess и .htpasswd заключается в том, чтобы создать дополнительную авторизацию на папку сайта wp-admin, через которую осуществляется вход в консоль. При установке такого барьера, при попытке входа в консоль появляется дополнительное окно для https-авторизации, а после успешного ввода логина и пароля, можно авторизоваться в консоли обычным способом. То есть, это двухфакторная авторизация.

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

Надёжная защита WordPress файлами .htaccess и .htpasswd 

Это вам тоже может быть интересно:

Защита WordPress двухфакторной https-авторизацией

Сейчас я буду рассказывать и показывать разные сложные вещи из области серверного программирования. Кто не понимает вообще, о чём речь, не вникайте, а просто сделайте всё по моей инструкции. У вас всё получится, если вы будете выполнять каждый пункт внимательно.

Первым делом создайте файл .htpasswd. Это файл, в котором хранится логин и пароль для https-авторизации на сайте. Они там записаны в секретном виде, никто их не сможет прочитать. Чтобы зашифровать данные, нужно перейти в этот генератор.

В нём, в поле «Username» введите желаемый логин, а в поле «Password» — пароль. Запишите эти данные у себя в надёжном месте. Нажмите кнопку «Create .htpasswd file».

Надёжная защита WordPress файлами .htaccess и .htpasswd

На следующей странице вы увидите содержимое для .htpasswd файла. Выделите его и скопируйте.

Надёжная защита WordPress файлами .htaccess и .htpasswd

Откройте на вашем компьютере программу блокнот и вставьте туда скопированный зашифрованный логин и пароль.

Надёжная защита WordPress файлами .htaccess и .htpasswd

Закройте этот файл и сохраните. Дайте ему имя .htpasswd, а в списке «Тип файла» выберите «Все файлы».

Надёжная защита WordPress файлами .htaccess и .htpasswd

Полученный файл загрузите на сайт прямо в папку wp-admin (для этого нужно воспользоваться файловым менеджером).

Защита WordPress наполовину создана. Идём дальше. Теперь необходимо создать файл .htaccess. Откройте программу блокнот на вашем компьютере и вставьте в него следующее содержимое:

AuthType Basic AuthName "My Protected Area" AuthUserFile #абсолютный путь к файлу.htpasswd Require valid-user

AuthType Basic

AuthName "My Protected Area"

AuthUserFile #абсолютный путь к файлу.htpasswd

Require valid-user

Надёжная защита WordPress файлами .htaccess и .htpasswd

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

Откройте ещё один блокнот и вставьте в него следующий микросприт:

<?php echo 'Document root: '.$_SERVER['DOCUMENT_ROOT'].'<br>'; echo 'Полный путь к скрипту и его имя: '.$_SERVER['SCRIPT_FILENAME'].'<br>'; echo 'Имя скрипта: '.$_SERVER['SCRIPT_NAME']; ?>

<?php

echo 'Document root: '.$_SERVER['DOCUMENT_ROOT'].'<br>';

echo 'Полный путь к скрипту и его имя: '.$_SERVER['SCRIPT_FILENAME'].'<br>';

echo 'Имя скрипта: '.$_SERVER['SCRIPT_NAME'];

?>

Надёжная защита WordPress файлами .htaccess и .htpasswd

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

Надёжная защита WordPress файлами .htaccess и .htpasswd

Файл загружен и теперь в браузере введите адрес такого типа: https://example.ru/1.php (example.ru – ваш домен, а 1.php имя файла, куда вставили микроскрипт). Вы должны увидеть что-то типа этого. Здесь нас интересует первая строка (в целях безопасности я стёр её часть).

Надёжная защита WordPress файлами .htaccess и .htpasswd

Скопируйте первую строку, вернитесь к отложенному файлу .htaccess, который мы начали создавать и свернули, и в строку AuthUserFile вставьте то, что скопировали из первой строки микроскприта. Затем, после последнего символа запишите следующий фрагмент: /wp-admin/.htpasswd

Надёжная защита WordPress файлами .htaccess и .htpasswd

Закройте блокнот и дайте ему имя .htaccess, а в списке «Тип файла» выберите «Все файлы».

Надёжная защита WordPress файлами .htaccess и .htpasswd

Прежде чем продолжать, удалите из корневой папки файл с микроскриптом 1.php, чтобы он не стал лёгким путём для взлома.

Сохранённый файл .htaccess загрузите в ту же папку wp-admin, в которую загружали файл .htpasswd.

Теперь попробуйте авторизоваться на своём сайте по адресу типа https://example.ru/wp-admin Защита WordPress уже работает. Нужно ввести имя пользователя и пароль, которые вы задали в начале для https-авторизации, и нажать «Ок».

Надёжная защита WordPress файлами .htaccess и .htpasswd

После этого вас перебросит на стандартную страницу авторизации WordPress, где вы можете войти в консоль обычным способом.

Надёжная защита WordPress файлами .htaccess и .htpasswd

Казалось бы, всё – защита WordPress установлена и работает. Однако нет. Попробуйте перейти на ваш сайт по адресу типа https://example.ru/wp-login.php Вы увидите такую же страницу авторизации в консоли, только без дополнительной https-авторизации. То есть, эта брешь осталась не защищённой.

Чтобы это исправить откройте файл .htaccess в корневой папке вашего сайта и дополните его этим:

<Files "wp-login.php"> AuthName "Protected area, need authorization" AuthType Basic AuthUserFile #абсолютный путь к файлу.htpasswd require valid-user </Files>

<Files "wp-login.php">

AuthName "Protected area, need authorization"

AuthType Basic

AuthUserFile #абсолютный путь к файлу.htpasswd

require valid-user

</Files>

В строке AuthUserFile необходимо указать абсолютный пусть к файлу .htpasswd. Его мы уже знаем. А теперь перейдите на свой сайт по адресу https://example.ru/wp-login.php и вы увидите такой же запрос дополнительной https-авторизации.

Всё. Теперь защита WordPress точно установлена и никто не проберётся к вашей консоли.

wp-system.ru

Методы защиты блога на WordPress с помощью .htaccess

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

Сложного здесь ничего нет. Я со своими несильными знаниями быстро разобрался, поэтому если вы – дилетант, то не парьтесь, все у вас получится.

Все, что вам нужно знать – это в общих представлениях о WordPress, иметь начальные навыки разработки кода, ну и немного времени.

На сегодняшний день пользователей WordPress по всему миру более чем 70 млн., поэтому не буду доказывать, что Вордпресс – это лучшая CMS. Это мой любимый движок, я работаю с ним давно, и, думаю, большинство блогеров разделяют мое мнение. К тому же, пользователей WordPress больше чем пользователей таких популярных движков как Джумла и Друпал

безопасность htaccess

безопасность htaccess

Время от времени в админке мы все видим, что появилась новая версия движка и нужно обновляться. Но вот если так задуматься, то зачем все это делается? Одной из причин является безопасность. Насколько безопасен движок WordPress? Давайте на доступном для нас всех уровне попробуем разобраться.

С одной стороны, очень хорошо, что число пользователей WordPress постоянно растет. Например, когда у меня возникают какие-либо проблемы с движком, я сразу иду на форум вордпресс, создаю топик, и мне обязательно кто-нибудь отвечает. Особенно приятен мне Ю.Б. Кто там общался, тот знает. Так вот, это с одной стороны. С другой стороны, стремительный рост числа пользователей движка подбивает некоторых мудаков на различного рода негатив.

На мой взгляд, некоторые вещи лучше держать подальше от посторонних глаз. Сегодня существует множество плагинов, которые повышают уровень безопасности WordPress. Один из них — Login LockDown. Данный плагин отслеживает обращения к сайту, записывает IP, и когда активность некоторых IP превышает определенную норму, то они блокируются). Данный плагин не единственный в своем роде. Вот, например, еще один полезный — WP Security Scan. Плагин мониторит все ваши файлы, находит в них уязвимости и предлагает варианты решения проблемы

безопасность wordpress

безопасность wordpress

Вообще, большинство обновлений движка Вордпресс являются вынужденными, и закрывают дырки, которые были в предыдущей версии. То есть, обновления проиходят в первую очередь исходя из соображений безопасности. Вот поэтому игнорировать обновления не стоит. Тем более, что обновить то – это дело одной минуты. Да, если в корне сайта лежат файлы license.txt и readme.html, то лучше их оттуда удалить. Зачем, чтобы любой прохожий знал, какая версия скрипта используется у нас на сайте?

Теперь о настройке .htaccess

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

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

Вот так выглядит стандартный файл .htaccess:

1 2 3 4 5 6 7 8 9 10 # 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

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

Защита wp-config.php

Если вы сами устанавливали движок Ворпресс, то файл config.php будет вам известен, потому что в нем хранятся все необходимые параметры сайта. И этот файл уж точно не должен попасть в плохие руки.

Поэтому доступ к этому файлу нужно ограничить. Для этого нужно внести в .htaccess следующие изменения:

1 2 3 4 <files wp-config.php> order allow,deny deny from all </files>

<files wp-config.php> order allow,deny deny from all </files>

Блокировка по IP

Тут уже все зависит от типа вашего подключения к интернету. Если вы все время входите в интернет с домашнего компа через роутер, то проблема решаема. Как правило, при каждом новом подключении к сети IP меняется, то есть, айпи – динамический. Я уж не знаю как вас, но у меня, да и у большинства моих знакомых, можно сделать, чтобы IP был статическим, то есть, все время один и тот же. Для этого нужно покопаться в настройках модема. Как это сделать для каждого конкретного случая – это уже выходит за рамка сегодняшней темы, но в любом случае при желании сможете нагуглить как это делается в вашем случае.

Так вот, если заходите вы в админку через один и тот же IP, то можно ограничить доступ к панели по IP-адресу. Опять же с помощью .htaccess. Для этого необходимо создать новый файл .htaccess в текстовом редакторе и загрузить его в папку wp-admin.

Код, который ниже, ограничивает доступ к этой директории всем, чей IP отличается от вашего:

1 2 3 order deny,allow allow from 202.090.21.1 (replace with your IP address) deny from all

order deny,allow allow from 202.090.21.1 (replace with your IP address) deny from all

Блокировка подозрительной активности

Бывает, что нужно заблокировать определенных посетителей. У меня, например, плагин Akismet ежедневно отлавливает кучу спама. Но если проанализировать IP, с которых отправляются спам-комментарии, то можно прийти к выводу, что многие из них отправляются на автомате, ботами, и часто их IP повторяются. Поэтому можно заблокировать эти IP, и тем самым снизить нагрузку на сервер. Либо же бывает, что просто можем обнаружить, что с какого-то IP постоянно пытаются получить доступ к сайту. В таком случае тоже можно отправить такой IP в бан с помощью кода:

1 2 3 4 5 <limit GET POST> order allow,deny deny from 195.756.47.2 allow from all </limit>

<limit GET POST> order allow,deny deny from 195.756.47.2 allow from all </limit>

При желании список можно расширить:

1 2 3 4 5 6 <limit GET POST> order allow,deny deny from 195.756.47.2 deny from 158.47.98.5 allow from all </limit>

<limit GET POST> order allow,deny deny from 195.756.47.2 deny from 158.47.98.5 allow from all </limit>

Запрет просмотра директорий

Что хорошо для злоумышленников? То, что они знают о вас слишком много. WordPress – популярный движок, и многие знают, как он устроен. К тому же многие знают самые популярные плагины, которые почти все используют. А зачем давать нехорошим людям слишком много ненужной информации? Поэтому можно запретить просмотр определенных директорий на сервере:

1 2 # directory browsing Options All –Indexes

# directory browsing Options All –Indexes

Выборочная защита файлов

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

1 2 3 4 5 # Protect the .htaccess <files .htaccess=""> order allow,deny deny from all </files>

# Protect the .htaccess <files .htaccess=""> order allow,deny deny from all </files>

Защита файла .htaccess

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

1 2 3 4 5 <files ~ "^.*.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </files>

<files ~ "^.*.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </files>

Блокируем доступ к директории wp-content

Это очень важная директория. Здесь, по сути, все без исключения важное. Здесь и темы wordpress, и плагины, и изображения. В общем, очень важный каталог. Поэтому его при желании тоже можно защитить. Для этого нужно создать отдельный файл .htaccess в указанном каталоге. Посетители, как и раньше, смогут просматривать изображения, CSS тоже будет подгружаться. Но если пользователь захочет просмотреть php-файл, то это ему не удастся:

1 2 3 4 5 Order deny,allow Deny from all <files ~ ".(xml|css|jpe?g|png|gif|js)$"> Allow from all </files>

Order deny,allow Deny from all <files ~ ".(xml|css|jpe?g|png|gif|js)$"> Allow from all </files>

Заключение

Я не претендую на уникальность, на полноценную компетентность, но по большому счету, зачем всем этим загоняться? Зачем лезть в дебри? Тем более что я рассчитываю здесь на среднестатистического пользователя движка WordPress, а не на профессионального разработчика. Поэтому описанного для обычного пользователя движка ВП хватит выше крыши. У меня все на сегодня. До связи на волнах https://max1net.com/

Сегодня на десерт: очередной урок Рэнда Фишкина о Google PR, его важности, заблуждениях относительно PR, и методах его применения в практике SEO

Вконтакте

Facebook

Twitter

Google+

Понравилась запись? Подпишитесь на обновления по почте:

Twitter

Facebook

Читайте похожие статьи

max1net.com

Как защитить WordPress-сайт с помощью .htaccess

WordPress является самой популярной CMS в мире с более чем 70 миллионами пользователей, но так ли безопасна эта CMS? В этой статье Paul Maloney покажет вам, как защитить ваш сайт на WordPress с помощью .htaccess.WordPress, без сомнения, самая популярная CMS в данный момент, значительно опережая другие альтернативы, такие как Joomla и Drupal.WordPress имеет очень большое и активное сообщество, которое создает большое количество плагинов, тем и хаков, но популярность имеет и свои минусы… Сайты на WordPress постоянно подвергаются попыткам взлома.

Как защитить WordPress-сайт с помощью .htaccess

Как защитить WordPress-сайт с помощью .htaccess

Наша задача, как пользователей WordPress (кроме вклада в WordPress-сообщества) держать наш сайт в безопасности от людей, которым мы не хотим давать доступ к сайту.Есть множество плагинов, чтобы укрепить защиту WordPress, такие как Login LockDown, который фиксирует IP-адреса и блокирует их после определенного числа неудачных попыток входа в систему, он помогает против подбора пароля.

Другой плагин WP Security Scan, проверяет ваш сайт на наличие уязвимостей и предлагает возможные методы для исправления ошибок, которые он нашел.

Как защитить WordPress-сайт с помощью .htaccess

Как защитить WordPress-сайт с помощью .htaccess

Одним из самых игнорируемых методов безопасности является отказ от установки самых последних обновлений и исправлений на ваш сайт.

Настройка файла .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, вам, возможно, придется регулярно изменять этот файл, в противном сл

vavik96.com

Защита админ панели WordPress при помощи файла .htaccess

При помощи .htaccess можно установить http авторизацию или "двойную авторизазацию" для вашего сайта. Покажу на примере движка WordPress.

Вначале переходим сюда http://www.htaccesstools.com/htpasswd-generator/ и генерируем файл .htpasswd, указывая любые логин и пароль.

Генерируем файл .htpasswd

Сгенерированный файл помещаем в корень своего сайта.

Далее, в корневом файле .htaccess добавляем следующие строки:

AuthUserFile .htpasswd AuthName "Private access" AuthType Basic <FilesMatch "wp-login.php"> Require valid-user </FilesMatch>

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

AuthUserFile /home/k/lucky/lucky-seo.com/public_html/.htpasswd

Чтобы узнать абсолютный путь от корня сервера нужно создать любой файл .php и вписать туда:

<?php echo $_SERVER['DOCUMENT_ROOT']; ?>

и поместить в файл в корень, затем перейти на него.

Если все сделано правильно, то при переходе в админ панель сайта по адресу /wp-admin или /wp-login.php будет запрашиваться аутентификация:

Аутентификация

Запрет по IP

Также, при помощи .htaccess можно запретить доступ к админке wordpress по IP адресу.

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

<Files "wp-login.php"> Order deny,allow Allow from All Deny from 00.00.00.00 </Files>

Где 00.00.00.00 - это IP адрес, которому вы хотите закрыть доступ к админке.

Но лучше закрыть доступ всем IP, кроме своего (если у вас постоянный IP), тогда код будет таким:

<Files "wp-login.php"> Order deny,allow Deny from All Allow from 00.00.00.00 </Files>

Где вместо 00.00.00.00 - должен быть ваш IP адрес.

В случае, если вы хотите закрыть доступ всем, то нужно убрать строку Allow:

<Files "wp-login.php"> Order deny,allow Deny from All </Files>
Зачем это нужно?

Это самая простая и надежная защита от брутфорс атак на ваш сайт.

Если вы хотите защитить админ панель по максимуму, то дополнительно используйте плагин Сlearfy. Подробнее про плагин я писал в этом посте.

lucky-seo.com

Защита wordpress при помощи файла htaccess

Защита блога

Сегодня мы рассмотрим, как обезопасить сайт на CMS WordPress при помощи htaccess.htaccess позволят задавать большое количество дополнительных параметров и разрешений для работы веб-сервера.Есть, конечно множество плагинов для wordpress, обеспечивающих безопасность, но безопасность лишней не бывает. Обязательно сохраните копию файла, перед внесением правок!!!Если вы недавно создали сайт и пока посещаемость у вас невысокая, то шансов, что вас взломают меньше. Но не стоит забывать, что wordpress является самой распространенной CMS, соответственно самой атакуемой. К слову сказать, мало кто из новичков беспокоится о том, что-бы изменить адресс входа в админ-панель, так же, как и логин у них admin. Собственно, если вы защитили ваш сайт от банального взлома через админ-панель, то не стоит забывать о других угрозах. Что-бы защитить файл htaccess, нужно прописать в нем следующий код:

<Files ~ «^.*\.([Hh][Tt][Aa])»> order allow,deny deny from all satisfy all </Files>

Для защиты файла robots.txt вставляем этот код и не забываем прописать адрес вашего сайта, вместо site.ru:

RewriteBase / RewriteCond %{REQUEST_URI} !^/robots.txt$ [NC] RewriteCond %{REQUEST_URI} robots\.txt [NC] RewriteRule .*http://site.ru/robots.txt [R=301,L]

Для защиты очень важного файла wp-config.php:

<files wp-config.php> order allow,deny deny from all </files>

Защита от XSS — атак:

Options +FollowSymLinks RewriteEngine On RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR] RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) RewriteRule ^(.*)$ index.php [F,L]

Что-бы заблокировать любой скрипт для base64_encode данных в URL:

RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]

Блокировать любой сценарий, который включает в себя тег <script> в URL-адрес:

RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]

Блокировка любого скрипта, устанавливающего глобальные переменные PHP через URL-адрес:

RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]

Блокировать любой скрипт для изменения _REQUEST переменных через адресную строку:

RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})

Предотвращение наиболее распространенных SQL-инъекций:

RewriteCond %{query_string} concat.*\( [NC,OR] RewriteCond %{query_string} union.*select.*\( [NC,OR] RewriteCond %{query_string} union.*all.*select [NC] RewriteRule ^(.*)$ index.php [F,L]

И в конце еще раз напомню: не забудьте сохранить оригинальный файл.

wpwow.ru

Создание htpasswd для защиты админки WordPress

Блог  /  .htaccess  /  Защита админки и сайта при помощи дополнительной авторизации (.htaccess + .htpasswd)

Когда-то я уже писал пост о том, как заблокировать админку сайта по IP адресу. Способ конечно великолепен, если ваш IP — статичный и работаете над сайтом вы только в одном месте (скажем только дома или только в офисе).

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

Но что тогда делать? Ведь хочется как-то ещё защитить админку. Да так, чтобы вся директория /wp-admin была недоступна для посторонних.

Мне представляется хорошим вариантом поставить на сайте дополнительную авторизацию, используя связку .htaccess + .htpasswd.

Что ещё более удобно, вы можете применять эту блокировку не только к админке, но и ко всему сайту, например, если ваш сайт находится на стадии тестирования и вы никому не хотите его показывать раньше времени. Вот как это будет выглядеть (для Google Chrome, в разных браузерах по-разному):

защита сайта при помощи htpasswdВсплывающее окно дополнительной авторизации на сайте.

Весь процесс будет состоять из двух шагов. Приступим.

.htaccess

В первую очередь создаём файл .htaccess в той директории сайта, которую хотим защитить паролем. Так как речь шла об админке WordPress, то создаем файл в папке /wp-admin.

AuthType Basic #название аутентификации AuthName "Protected Area" #путь к файлу с пользователями и паролями .htpasswd AuthUserFile /vol5/home/truemisha/truemisha.ru/public_html/wp-admin/.htpasswd require valid-user
AuthName Название авторизации. Сообщение будет отображаться в окошке ввода логина и пароля. Кроме того, для того, чтобы сохраненные пароли в браузерах сбросились, вы можете просто поменять это сообщение. AuthUserFile Абсолютный путь на сервере к файлу с логинами и паролями (как раз .htpasswd). Для того, чтобы узнать его, используйте PHP функцию getcwd() (Get Current Working Directory).

.htpasswd

Файл с пользователями и паролями вида пользователь:пароль. Пароль должен быть представлен в зашифрованном виде. Шифруем тут.

Пример:

admin:$apr1$gidPSkjR$qvsL5fMNunK2T17DKSxtR/

misha.blog


Смотрите также

Prostoy-Site | Все права защищены © 2018 | Карта сайта