Настройки безопасности WordPress: wp-config.php, права на файлы и редактор

Несколько строк в wp-config.php и правильные права на файлы закрывают половину типовых сценариев взлома. Что и зачем менять.

Настройки безопасности WordPress: wp-config.php, права на файлы и редактор
Содержание
  1. Отключите редактор файлов
  2. Обновите ключи и соли
  3. Права на файлы
  4. Запретите PHP в папке загрузок
  5. Закройте debug.log
  6. Уберите версию WordPress из кода страниц

Часть защиты WordPress настраивается не в админке, а в файле wp-config.php и в правах на файлы на сервере. Это одноразовая работа на 15 минут, которая закрывает сразу несколько сценариев взлома.

Отключите редактор файлов

В админке есть «Внешний вид → Редактор файлов тем» и «Плагины → Редактор файлов плагинов». Если взломщик получит пароль администратора, он впишет вредоносный код прямо оттуда. Отключение — одна строка в wp-config.php:

define( 'DISALLOW_FILE_EDIT', true );

Обновите ключи и соли

Восемь констант AUTH_KEY, SECURE_AUTH_KEY и других шифруют cookie входа. Если ключи из шаблона или давно не менялись — сгенерируйте новые на api.wordpress.org/secret-key/1.1/salt/ и замените. Все пользователи выйдут из аккаунтов; после взлома это обязательный шаг (что ещё сделать после взлома).

Права на файлы

  • Папки — 755, файлы — 644.
  • wp-config.php — 600 или 640, если хостинг позволяет.
  • Никаких 777: такие права позволяют любому процессу на сервере менять файлы.

Запретите PHP в папке загрузок

Через уязвимый плагин на сайт часто загружают PHP-файл под видом картинки. Если сервер не выполняет PHP в wp-content/uploads, такой файл бесполезен. На Apache это правило в uploads/.htaccess, на nginx — блок location в конфигурации сайта (попросите хостинг).

Закройте debug.log

Если включён режим отладки с записью в журнал, файл wp-content/debug.log может открываться из интернета, а в нём бывают пути к файлам и данные посетителей. Выключите WP_DEBUG на рабочем сайте или закройте файл от посетителей.

Уберите версию WordPress из кода страниц

Строка <meta name="generator"> подсказывает ботам, какие уязвимости пробовать. Мера небольшая, но бесплатная.

Бесплатная версия «Защиты 24/7» показывает в чек-листе, включён ли редактор файлов, открыт ли debug.log и какая версия PHP. В Pro все перечисленные настройки — кроме прав на файлы — включаются кнопкой «Исправить», без правки wp-config.php вручную.

Это часть списка из 15 мер защиты. Следующий шаг — заголовки безопасности.

Статья — обзор требований для владельцев сайтов, а не юридическая консультация. Законы и практика меняются: перед важными решениями сверьтесь с текстом закона или юристом.