Без рубрик

Лучшие сниппеты .htaccess для повышения безопасности WordPress

Лучшие сниппеты .htaccess для повышения безопасности WordPress

Безопасность WordPress – один из наиболее уязвимых факторов среди начинающих блогеров. При неконтролируемой установке WordPress существует довольно много потенциальных уязвимостей, которые остаются без внимания. В большинстве руководств по установке WordPress объясняется, как быстро и легко развернуть WordPress за считанные минуты. Но они упускают из виду несколько важных факторов безопасности. Например, просмотр каталогов и использование имени пользователя admin считаются серьезными лазейками в безопасности. Сегодня мы рассмотрим 10 фрагментов кода .htaccess, которые помогут повысить безопасность вашего блога WordPress. Прежде чем мы начнем, давайте кратко рассмотрим, что такое файл htaccess.

Что такое файл .htaccess?

Файл htaccess – это необязательный файл конфигурации для интерпретации веб-сервером Apache для каждого каталога. В этом файле вы можете хранить различные настройки, такие как: защита паролем каталога, блокировка IP-адресов, блокировка файла или папки от общего доступа и т.д. Традиционно файл .htaccess находится в базовом каталоге установки WordPress. По умолчанию он хранит структуру постоянных ссылок.

СОВЕТ:  Перед тем, как начать работу с руководством, обязательно сделайте резервную копию текущего файла .htaccess (если он есть) в облачном хранилище, таком как Dropbox. Это необходимо для отката к последнему известному рабочему файлу .htaccess, если определенный фрагмент кода нарушит работу вашего сайта. Давай начнем.

1 Блокируйте плохих ботов


Лучшие сниппеты .htaccess для повышения безопасности WordPress

Одно из лучших применений файла .htaccess – это его способность запрещать доступ к вашему сайту нескольким IP-адресам. Это полезно при блокировке известных спамеров и других источников подозрительного или злонамеренного доступа. Код такой:

# Block one or more IP address. # Replace IP_ADDRESS_* with the IP you want to block <Limit GET POST> order allow,deny deny from IP_ADDRESS_1 deny from IP_ADDRESS_2 allow from all </Limit>

Где IP_ADDRESS_1 – это первый IP-адрес, которому вы хотите запретить доступ к вашему сайту. Вы можете добавить столько IP-адресов, сколько захотите. Независимо от того, какие пользовательские агенты (браузеры) используют эти IP-адреса, они не смогут получить доступ к одному файлу с вашего сервера. Веб-сервер автоматически запрещает любой доступ.

2 Отключить просмотр каталогов


Лучшие сниппеты .htaccess для повышения безопасности WordPress

Это один из самых серьезных недостатков безопасности на сайте WordPress. По умолчанию веб-сервер Apache разрешает просмотр каталогов. Это означает, что все файлы и папки внутри корневого каталога (иногда называемого домашним каталогом) веб-сервера могут быть включены в список и доступны для посетителей. Вы не хотите этого, потому что не хотите, чтобы люди просматривали ваши медиа-загрузки или файлы вашей темы или плагина.

Если наугад я выберу 10 личных или бизнес-сайтов под управлением WordPress, у 6-8 из них просмотр каталогов не будет отключен. Это позволяет любому легко обнюхать папку wp-content / uploads или любую другую директорию, в которой нет файла index.php по умолчанию. Фактически, скриншот, который вы видите, взят с сайта одного из моих клиентов, прежде чем я рекомендовал исправление. Фрагмент кода для отключения просмотра каталогов:

# Disable directory browsing Options All -Indexes

3 Разрешить только выбранные файлы из wp-content

Как вы знаете, папка wp-content содержит большинство ваших тем, плагинов и всех загружаемых медиафайлов. Вы, конечно, не хотите, чтобы люди получали к нему доступ без ограничений. Помимо отключения просмотра каталогов, вы также можете запретить доступ ко всем типам файлов, за исключением некоторых. По сути, вы можете выборочно разблокировать такие файлы, как JPG, PDF, DOCX, CSS, JS и т.д., А остальные запретить. Для этого вставьте этот фрагмент кода в свой файл .htaccess:

# Disable access to all file types except the following Order deny,allow Deny from all <Files ~ ".(xml|css|js|jpe?g|png|gif|pdf|docx|rtf|odf|zip|rar)$"> Allow from all </Files>

Вы должны создать новый файл .htaccess с кодом и вставить его в папку wp-content. Не помещайте это в базовый каталог установки – иначе это не сработает. Вы также можете добавить в список файлы любого типа, добавив ‘|’ после rar. Приведенный выше список содержит необходимые файлы – XML, CSS и JavaScript, распространенные форматы изображений и документов и, наконец, наиболее часто используемые форматы архивов.

4 Ограничьте весь доступ к wp-includes

Сор-включает в себя папка содержит только те файлы, которые строго необходимы для запуска основной версии WordPress – один без каких – либо плагин или темы. Помните, что тема по умолчанию все еще находится в каталоге wp-content / theme. Таким образом, ни один посетитель (включая вас) не должен требовать доступа к содержимому папки wp-include. Вы можете отключить доступ, используя следующий фрагмент кода:

# Block wp-includes folder and files <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^wp-admin/includes/ - [F,L] RewriteRule !^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+.php$ - [F,L] RewriteRule ^wp-includes/js/tinymce/langs/.+.php - [F,L] RewriteRule ^wp-includes/theme-compat/ - [F,L] </IfModule>

5 Разрешить доступ только выбранным IP-адресам wp-admin

Сор-админ папка содержит файлы, необходимые для запуска WordPress приборной панели. В большинстве случаев вашим посетителям не нужен доступ к панели управления WordPress, если они не хотят зарегистрировать учетную запись. Хорошая мера безопасности – разрешить доступ к папке wp-admin только нескольким выбранным IP-адресам. Вы можете разрешить IP-адреса людей, которым нужен доступ к панели управления WordPress – редакторов, участников и других администраторов. Этот фрагмент кода разрешает доступ к папке wp-admin только с фиксированных IP-адресов и запрещает доступ остальному миру.

# Limit logins and admin by IP <Limit GET POST PUT> order deny,allow deny from all allow from 302.143.54.102 allow from IP_ADDRESS_2 </Limit>

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

  • Если ваш сайт позволяет или продвигает регистрацию новых пользователей, будет почти невозможно отслеживать количество пользователей. Например, в WPExplorer, если вы хотите загрузить наши потрясающие бесплатные темы, вам необходимо зарегистрироваться.
  • Люди с динамическими IP-адресами (в основном пользователи широкополосного доступа ADSL, использующие протоколы PPP или PPPoE) меняют свои IP-адреса каждый раз, когда они выходят из системы и входят в систему со своим интернет-провайдером. Конечно, было бы непрактично отслеживать все эти IP-адреса и добавлять их в файл htaccess.
  • Мобильная широкополосная связь: используете ли вы 3G или 4G, ваш IP-адрес зависит от текущей вышки сотовой связи, к которой вы подключены. Допустим, вы путешествуете – ваш IP-адрес будет постоянно меняться каждые пару миль от исходной точки. Опять же, отслеживать файл htaccess практически невозможно.
  • Общедоступные точки доступа Wi-Fi: использование учетных данных при подключении к Интернету с использованием общедоступной точки доступа Wi-Fi является большим запретом, поскольку ребенок с крошечным программным обеспечением может извлекать каждый вводимый вами символ. Не говоря уже о том, что каждая точка доступа Wi-Fi будет иметь уникальный IP-адрес.

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

6 Защитите wp-config.php и .htaccess от всех.

Сор-config.php файл содержит большинство учетных данных чувствителен доступа вашего WordPress сайта. Он содержит имя базы данных и учетные данные для доступа, а также другие важные данные, помимо других настроек. Ни при каких обстоятельствах вы не хотите, чтобы другие люди просматривали этот файл. И, конечно же, вы хотите отключить публичный доступ к источнику всей этой защиты – самому файлу .htaccess. Вы можете отключить доступ к wp-config.php с помощью следующего кода:

# Deny access to wp-config.php file <files wp-config.php> order allow,deny deny from all </files>

Чтобы запретить доступ ко всем файлам htaccess (помните, что некоторые из них могут находиться в wp-admin и других папках), используйте этот фрагмент кода:

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

7 Запретить ссылку на изображение

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

# Prevent image hotlinking script. Replace last URL with any image link you want. RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yourwebsite.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yourotherwebsite.com [NC] RewriteRule .(jpg|jpeg|png|gif)$ http://i.imgur.com/MlQAH71.jpg [NC,R,L]

8 Включите кеширование браузера.


Лучшие сниппеты .htaccess для повышения безопасности WordPress

Этот взлом .htaccess, также известный как кэширование на стороне клиента, включает рекомендуемые параметры кеширования браузера для вашего сайта WordPress. Вы также можете использовать его в других проектах – HTML-сайтах и ​​т.д.

# Setup browser caching <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 2 days" </IfModule>

9 Перенаправление на страницу обслуживания

Когда вы переносите веб-хосты или выполняете какую-либо задачу обслуживания, всегда рекомендуется создавать статический HTML-файл «не работающий на обслуживание», чтобы информировать посетителей о том, что веб-сайт подвергается обновлению или обслуживанию. Просто создайте файл maintenance.html (или любое другое имя файла) и загрузите его в базовый каталог установки WordPress. Вставьте следующий фрагмент в свой файл .htaccess. По завершении операции обязательно удалите или закомментируйте эти строки, чтобы вернуться к общей работе. Вы можете закомментировать, добавив “#” в начале каждой строки.

# Redirect all traffic to maintenance.html file RewriteEngine on RewriteCond %{REQUEST_URI} !/maintenance.html$ RewriteCond %{REMOTE_ADDR} !^123.123.123.123 RewriteRule $ /maintenance.html [R=302,L]

10 Пользовательские страницы ошибок


Лучшие сниппеты .htaccess для повышения безопасности WordPress

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

# Custom error page for error 403, 404 and 500 ErrorDocument 404 /error.html ErrorDocument 403 /error.html ErrorDocument 500 /error.html

Заключение:

Сегодня мы узнали о некоторых из самых крутых уловок htaccess для улучшения вашего сайта WordPress. Я предлагаю вам опробовать каждый модуль один за другим, делая резервную копию файла .htaccess до и после тестирования каждого модуля. Это потому, что файл .htaccess очень важен. Отсутствующий символ ‘#’ или неправильно расположенный ” могут нарушить целостность вашего сайта. Если вы часто обращаетесь к панели управления WordPress на ходу, рекомендуется не включать выборочные IP-адреса для папки wp-admin.

К вам – что вы думаете об этом посте? Как вы думаете, стоит ли редактировать файл htaccess? Вы знаете лучший совет по безопасности? Мы хотели бы услышать от вас.

Источник записи: https://www.wpexplorer.com

Похожие сообщения
Без рубрик

Лучшие свадебные темы WordPress

Без рубрик

9 лучших плагинов для редактирования внешнего интерфейса WordPress

Без рубрик

6 лучших бесплатных плагинов для добавления форума в блог WordPress

Без рубрик

Другие бесплатные плагины WordPress (о которых вы, возможно, не слышали)