Закрыть доступ к файлу nginx

Обновлено: 30.06.2024

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

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

Защита WordPress в Nginx

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

  • Каталог wp-includes . Содержит в себе все основные и необходимые файлы для работы фронтэнда WordPress. Папка содержит файлы PHP, CSS и JavaScript, которые обеспечивают основные функции WordPress.
  • Каталоги uploads , themes и plugins , которые находятся в папке wp-content . Папки используются для загрузки изображений, шаблонов и плагинов WordPress.

Запретить доступ к php-файлам в wp-includes

Чтобы запретить доступ к php-файлам wp-includes , необходимо использовать следующие правила в настройках Nginx:

Этот каталог всегда расположен в корне WordPress, изменять название или расположение не рекомендуется.

Запретить доступ к php-файлам в wp-content

Чтобы запретить доступ к php-файлам wp-content , необходимо использовать следующие правила в настройках Nginx:

При желании вы можете изменить расположение каталога wp-content , для этого необходимо использовать параметры WP_CONTENT_DIR и WP_CONTENT_URL в файле wp-config.php

Запретить доступ к php-файлам в папке uploads

Чтобы запретить выполнение php-файлов в каталоге загрузок wp-content , следующие правила в настройках в настройках Nginx:

По умолчанию каталог с загружаемыми файлами расположен в wp-content , но при желании может быть изменен в настройка WordPress.

Запретить доступ к php-файлам в папках themes и plugins

Чтобы запретить доступ к php-файлам шаблона и плагинов, необходимо добавить соответствующие правила в настройках Nginx.

Для каталога шаблонов:

Для каталога плагинов:

Каталоги шаблонов и плагинов WordPress расположены в папке wp-content и имеют название themes и plugins соответственно. Вы можете самостоятельно задать расположение папки плагинов, задав параметры WP_PLUGIN_DIR и WP_PLUGIN_URL . Для того чтобы изменить расположение файлов темы, необходимо использовать функцию register_theme_directory() .

Запретить доступ к xmlrpc.php

Если вы не используете XML-RPC, можно закрыть все запросы к этому файлу в Nginx:

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