🛡️
Безопасность

Защита wp-config.php: .htaccess, права и секретные ключи

08.02.2034
← Все статьи

Файл wp-config.php — сердце WordPress-сайта. В нем хранятся данные подключения к БД, ключи аутентификации и другие критические конфигурации. Если злоумышленник получит доступ к этому файлу, он получит полный контроль над сайтом и базой данных. Поэтому защита wp-config.php — центральный элемент безопасности WordPress. У клиентов Sayt.uz при установке WordPress этот файл автоматически настраивается защищенным.

Что хранит wp-config.php

Файл содержит критические данные для работы WordPress. DB_NAME, DB_USER, DB_PASSWORD, DB_HOST — параметры подключения к БД. AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY и другие secret keys — для шифрования cookies и сессий. $table_prefix — префикс таблиц БД. WP_DEBUG и другие конфигурации. Каждая из этих данных ценна для злоумышленника, потому что вместе они дают полный контроль над сайтом.

Блокировка прямого доступа через .htaccess

Первый слой защиты — блокировка прямого доступа к файлу через браузер. В файл .htaccess в папке WordPress добавьте правила:

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

Это правило полностью запрещает HTTP-запросы к файлу wp-config.php. Теперь никто не сможет, вбив в браузер site.uz/wp-config.php, прочитать этот файл. Аналогичные правила существуют для Nginx — в конфигурации сервера в location-блоке можно добавить deny all.

Права файла 600 или 400

Стандартных прав 644 для wp-config.php недостаточно. Для этого файла рекомендуется 600 (только чтение и запись для владельца) или еще строже 400 (только чтение для владельца). Через SSH это делается командой: chmod 600 wp-config.php. Такие ограничения предотвращают чтение файла другими пользователями хостинга или вредоносными скриптами. WordPress нормально работает и с такими строгими правами.

Перенос файла выше папки

Полезная особенность WordPress — wp-config.php может находиться вне web-root. Если стандартное расположение /home/user/public_html/wp-config.php, его можно перенести в /home/user/wp-config.php. Тогда файл вообще не будет доступен через браузер. WordPress автоматически находит wp-config.php в папке выше. Это мощный метод защиты, но работает не во всех хостинг-средах — на Sayt.uz полностью поддерживается.

Обновление секретных ключей

AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY и соответствующие SALT в wp-config.php — это ключи для шифрования cookies и сессий WordPress. Если ваш сайт никогда не менял эти ключи или они остались по умолчанию, есть серьезный риск. С api.wordpress.org/secret-key/1.1/salt/ получите новые случайные ключи и скопируйте в файл. Рекомендуется обновлять периодически (раз в год).

Практика Sayt.uz

На хостинге Sayt.uz при автоматической установке WordPress защита wp-config.php настраивается полностью. Права файла устанавливаются в 600, добавляются правила блокировки в .htaccess и генерируются сильные случайные secret keys. В разделе "Безопасность WordPress" личного кабинета можно проверить состояние этих настроек и при необходимости перенастроить. Наша система безопасности регулярно проверяет состояние wp-config.php и уведомляет клиента при нарушениях.

Ограниченные права для DB_USER

Вместе с защитой wp-config.php нужно ограничить права пользователя БД. Для WordPress пользователю достаточно прав SELECT, INSERT, UPDATE, DELETE и CREATE TABLE. Опасные права GRANT, DROP DATABASE, SUPER давать не нужно. Даже если злоумышленник прочитает wp-config.php и использует пароль, благодаря ограниченным правам он сможет работать только с таблицами этого сайта, не сможет читать другие базы.

Похожие статьи

🛡️ Защита от ransomware: бэкапы, сегментация, EDR и реагирование на инциденты 🎣 Защита сотрудников от фишинговых атак: обучение и технические меры 📋 Чеклист аудита безопасности: WordPress, сервер, SSL и проверка резервных копий 🔐 Мониторинг SSL-сертификатов: отслеживание срока действия и авто-обновление
🌐 Язык
🇺🇿 O'zbek 🇺🇿 Ўзбек 🇷🇺 Русский 🇬🇧 English