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

Как правильно настроить права доступа (chmod) для WordPress: руководство по безопасности сервера

  • 10 минут на чтение
  • Команда Hostragons
Как правильно настроить права доступа (chmod) для WordPress: руководство по безопасности сервера

Права доступа к файлам WordPress обычно рекомендуются следующие: для папок — 755, для файлов — 644, а для критически важного файла конфигурации wp-config.php — желательно 600 или в зависимости от сервера 640. Эти настройки обеспечивают необходимый уровень чтения и записи, необходимый для работы WordPress, при этом затрудняя неавторизованным пользователям внесение изменений в темы, плагины и ядро системы. Проще говоря, правило безопасного chmod звучит так: давайте сайту минимум прав, необходимых для работы, и ни больше.

Безопасность WordPress — это не только сильные пароли, актуальные плагины и SSL-сертификат. Некорректные права доступа к файловой системе могут позволить злоумышленникам загрузить вредоносный PHP-файл, изменить файлы тем или получить доступ к данным в wp-config.php, оставив "черный ход" на сайте. Поэтому настройка chmod — один из ключевых аспектов безопасности для всех владельцев сайтов, использующих общий хостинг, VPS, облачные серверы и управляемый WordPress-хостинг. Если вы хотите создать надежную и современную инфраструктуру WordPress, правильный выбор хостинга — неотъемлемая часть этого процесса: Пакеты WordPress хостинга

Что такое права доступа к файлам WordPress?

Права доступа к файлам WordPress — это правила, определяющие, кто и какие действия может выполнять с файлами и папками на сервере. На серверах с Linux обычно управляют этими правами с помощью команды chmod. Значения chmod отражают три основных права: чтение, запись и выполнение. Эти права задаются отдельно для владельца файла, группы и остальных пользователей.

В таких системах управления контентом, как WordPress, основанных на PHP, настройка прав требует деликатного баланса. Слишком строгие права могут нарушить работу сайта — например, вы не сможете загружать медиафайлы, обновлять плагины или создавать файлы кеша. С другой стороны, слишком свободные права приводят к уязвимостям — особенно опасны значения вроде 777, которые дают всем пользователям право записи и упрощают загрузку вредоносных файлов.

Как читать значения chmod?

Значения chmod обычно состоят из трёх цифр. Каждая цифра соответствует уровню пользователя: первая — владельцу файла, вторая — группе, третья — остальным пользователям. Цифры — это сумма разрешённых прав.

  • 4: право на чтение
  • 2: право на запись
  • 1: право на выполнение
  • 7: чтение + запись + выполнение
  • 6: чтение + запись
  • 5: чтение + выполнение

Например, значение 755 означает, что владелец файла имеет права чтения, записи и выполнения; группа и остальные — только чтения и выполнения. Значение 644 даёт владельцу право читать и писать, а остальным — только читать. Для папок выполнение означает возможность заходить в них и просматривать содержимое, поэтому для папок обычно ставят 755.

Рекомендуемые права chmod для WordPress

Главная цель безопасной установки WordPress — обеспечить работу сайта и ограничить избыточные права записи. В таблице ниже приведены наиболее распространённые и безопасные права доступа для файлов и папок WordPress.

Рекомендуемые права chmod для WordPress
Файл или папкаРекомендуемые праваОписание
Папки WordPress755Обеспечивает доступ к папкам, но не даёт права записи всем пользователям.
Файлы WordPress644Файлы доступны для чтения, запись доступна только владельцу.
wp-config.php600 или 640Содержит конфиденциальные данные базы данных, требует строгой защиты.
.htaccess644 или 640Определяет правила сервера, не должен иметь лишних прав записи.
wp-content755Хранит темы, плагины и загруженные файлы; требует аккуратного управления.
wp-content/uploads755Папка для медиафайлов, запись необходима, но 777 использовать нельзя.
Файлы тем644PHP и CSS файлы не должны быть доступны для изменения всеми.
Файлы плагинов644Ограничивает возможность несанкционированных изменений.

Эти значения подходят для большинства хостингов с cPanel, LiteSpeed, Apache или Nginx. Однако архитектура сервера может отличаться. Использование PHP-FPM, suPHP, mod_php, контейнерных технологий или уникальных пользователей и групп может повлиять на работу с правами. Перед изменением рекомендуется сделать резервную копию и протестировать сайт. Подробнее о резервном копировании смотрите в Руководство по резервному копированию веб-сайта.

Почему права 777 опасны?

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

Частая ошибка — установка 777 для папки wp-content/uploads. Эта папка предназначена для медиафайлов (изображения, PDF, видео). Если злоумышленник через уязвимый плагин загрузит туда PHP-файл, и папка будет доступна для выполнения, этот файл может быть использован для запуска команд на сервере. В таком случае проблема — не только в уязвимости плагина, но и в избыточных правах доступа.

Что использовать вместо 777?

В большинстве случаев достаточно 755 для папок. Если WordPress не может загрузить медиафайлы или выполнить обновления, не стоит сразу давать 777. Сначала проверьте владельца файлов. Если файлы принадлежат неправильному пользователю, веб-сервер не сможет писать, даже при правильных правах. В этом случае нужно исправить владельца через chown или инструменты хостинга, а не ослаблять chmod.

Связь между владельцем файлов и chmod

Права доступа не работают в отрыве от владельца и группы файла. Даже если права файла 644, но владелец неправильный, WordPress может не обновляться. Аналогично, без правильного владельца нельзя загрузить медиафайлы в uploads.

В идеале все файлы WordPress должны принадлежать пользователю, под которым работает ваш хостинг-аккаунт. На общем хостинге это обычно настроено автоматически. На VPS или выделенных серверах важно согласовать пользователя веб-сервера, PHP-FPM и владельца файлов. Например, назначение отдельного Linux-пользователя для каждого сайта снижает риск распространения взлома между сайтами. Для крупных проектов это важный уровень изоляции наряду с правами доступа.

Пошаговая проверка прав доступа WordPress

Права можно проверить через cPanel, FTP-клиент или SSH. Ниже — практическая последовательность действий для безопасной проверки.

1. Сделайте резервную копию перед изменениями

Перед массовыми изменениями прав обязательно создайте полную резервную копию сайта: файлы WordPress, папку wp-content и базу данных. Ошибочный chmod может сделать сайт недоступным или вызвать ошибки в админке. Если в панели есть автоматическое резервное копирование — проверьте дату последнего бэкапа. Иначе сделайте его вручную через FTP и экспорт базы данных.

2. Просмотрите текущие права

Если есть SSH-доступ, в корневой папке WordPress можно проверить права, убедившись, что папки имеют 755, а файлы — 644, без отклонений вроде 777, 775 или 666. В cPanel в менеджере файлов можно увидеть и изменить права вручную.

3. Установите права 755 для папок

Для корня и всех вложенных папок ставьте 755 — это стандарт для безопасности и функциональности. В SSH удобно использовать команду find для массовой замены прав только на папках. Не ставьте 755 на файлах — это может создать проблемы, так как многим PHP-файлам выполнение не нужно.

4. Установите права 644 для файлов

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

5. Усильте защиту wp-config.php

Файл wp-config.php содержит настройки базы данных, ключи безопасности и другие важные данные. Для него рекомендуется установить 600 или 640. Иногда на общем хостинге 600 вызывает ошибку, тогда подходит 640. После изменения проверьте работу сайта и админки. Если появляется ошибка 500, обратитесь в поддержку хостинга для подбора оптимального значения. Также стоит обеспечить защиту сайта SSL-сертификатом: Купить SSL сертификат.

6. Защитите .htaccess

.htaccess управляет постоянными ссылками, редиректами и правилами безопасности. Обычно достаточно 644, но можно ужесточить до 640. Плагины иногда вносят изменения в .htaccess, поэтому лучше добавлять правила вручную и сразу возвращать строгие права доступа.

Лучшие практики для wp-content, uploads, тем и плагинов

Папка wp-content — самая динамичная часть WordPress, где хранятся темы, плагины, языковые файлы и загружаемые медиа. Многие атаки происходят из-за уязвимых плагинов, устаревших тем и отсутствия контроля над загрузкой файлов.

Запретите выполнение PHP в uploads

Папка uploads предназначена для пользовательских файлов, обычно там не нужны PHP-скрипты. Чтобы минимизировать риски, в uploads можно добавить .htaccess или правила Nginx, которые блокируют выполнение PHP. Это дополнительный уровень защиты вместе с правильными chmod.

Отключите редактор тем и плагинов в админке

Возможность редактировать файлы тем и плагинов из админки — серьёзная уязвимость, если аккаунт будет взломан. Добавьте в wp-config.php строку define('DISALLOW_FILE_EDIT', true);, чтобы отключить эту функцию и снизить риски внедрения вредоносного кода через панель.

Удаляйте неиспользуемые темы и плагины

Неактивные и устаревшие темы или плагины могут стать точками входа для атак. Отключение недостаточно — такие компоненты лучше полностью удалить. Оставляйте только активную тему, резервную стандартную тему и действительно используемые плагины. Меньше файлов — меньше поверхность для атаки.

Как поддержать безопасность сервера с помощью chmod

Как поддержать безопасность сервера с помощью chmod

Правильные права доступа — это база, но полноценная защита требует дополнительных мер на уровне сервера.

Используйте актуальную версию PHP

Старые версии PHP уязвимы и медленнее работают. Для WordPress нужно использовать поддерживаемую, свежую версию PHP. Проверьте версию в панели управления хостингом и протестируйте совместимость тем и плагинов перед обновлением.

Применяйте веб-аппликационный файрвол (WAF)

WAF фильтрует вредоносные запросы до их попадания на сайт — защищает от SQL-инъекций, XSS, попыток загрузки вредоносных файлов и атак перебора паролей. Для сайтов с высокой нагрузкой WAF — важное дополнение к chmod. Ознакомьтесь с вариантами на странице Решения безопасного веб-хостинга.

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

Если в папках нет index-файлов, а листинг включён, злоумышленники могут увидеть структуру сайта и найти уязвимые файлы. В Apache используйте директиву Options -Indexes, в Nginx — autoindex off;. Это простой способ затруднить разведку для атакующих.

Не храните бэкапы в публичных каталогах

Хранение резервных копий в папке public_html — частая и опасная ошибка. Файлы с именами вроде backup.zip или database.sql могут быть скачаны злоумышленниками. Храните бэкапы вне веб-доступа или используйте защищённые хранилища. Для комплексного управления доменами и DNS смотрите Регистрация домена и управление DNS.

Отличия настройки chmod на разных типах хостинга

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

На общем хостинге 644 и 755 обычно без проблем работают. Для VPS рекомендуют запускать PHP-FPM с отдельным пользователем на каждый сайт. На выделенных серверах важны централизованный мониторинг, сканирование malware и контроль целостности файлов. Для агентств с множеством сайтов полезно держать каждый сайт в отдельном аккаунте, чтобы ограничить распространение атак.

Частые ошибки при настройке chmod

Многие ошибки возникают из-за желания быстро решить проблемы:

  • Установка 777 на весь сайт: решает проблему загрузки, но создаёт серьёзные риски.
  • Оставление wp-config.php с правами 644: работает, но лучше ужесточить.
  • Игнорирование владельца файлов: приводит к неправильным выводам и ошибочным изменениям.
  • Выполнение массовых команд без бэкапа: может вывести сайт из строя.
  • Разрешение PHP в uploads: усиливает воздействие уязвимостей.
  • Неудаление неиспользуемых плагинов и тем: оставляет дополнительные точки атаки.

Контрольный список для безопасных прав WordPress

Этот список пригодится при запуске сайта, после обновлений или очистки после взлома:

  • Папки настроены на 755
  • Файлы настроены на 644
  • wp-config.php с правами 600 или 640
  • .htaccess имеет 644 или 640
  • Отсутствуют права 777 на любых файлах и папках
  • В uploads запрещено выполнение PHP
  • Редактор тем и плагинов в админке отключён
  • Удалены неиспользуемые темы и плагины
  • Используется актуальная версия PHP
  • Настроено резервное копирование и план отката

Безопасность — это непрерывный процесс, требующий регулярного контроля и обновлений.

Какие тесты делать после изменения chmod?

После правок недостаточно просто открыть главную страницу. Зайдите в админку, попробуйте загрузить медиа, обновить плагины, пересохранить постоянные ссылки и проверить формы обратной связи. Если используете кеш, убедитесь, что кеш-файлы создаются корректно. Для WooCommerce проверьте оформление заказов, оплату, генерацию счетов и загрузки файлов.

Ошибка 403 обычно означает слишком строгие права. Ошибка 500 может быть связана с .htaccess, неправильными правами PHP или владельцем файлов. При проблемах с загрузкой медиа проверьте права и владельца папки uploads. Не стоит ставить 777 напрямую — лучше изучить логи ошибок для точного диагноза.

Итог: минимальные права — залог безопасности WordPress

Оптимальная базовая настройка прав WordPress — 755 для папок, 644 для файлов и 600/640 для wp-config.php. Однако безопасность — это не только цифры. Важно правильно настроить владельцев файлов, использовать актуальный PHP, добавить WAF, запретить выполнение PHP в папках uploads и удалять ненужные плагины. Принцип минимальных прав помогает сохранить функциональность сайта и затрудняет вредоносным пользователям нанесение ущерба.

Если вы хотите разместить WordPress на надёжной, быстрой и удобной платформе, ознакомьтесь с решениями Hostragons по хостингу, SSL и доменам и получите консультацию специалистов для оптимальной настройки: Пакеты хостинга Hostragons

Часто задаваемые вопросы

Какие права доступа должны быть у файлов WordPress?

Рекомендуется 755 для папок, 644 для файлов и 600 или 640 для wp-config.php. Такая настройка безопасна и совместима с большинством хостингов.

Можно ли ставить 777 для папки uploads?

Нет. Это даёт всем право записи и повышает риск загрузки вредоносных файлов. Обычно достаточно 755; при проблемах следует проверить владельца файлов.

Не сломается ли сайт, если wp-config.php будет с правами 600?

На большинстве серверов 600 работает нормально, но в некоторых случаях вызывает ошибку 500. В таких случаях попробуйте 640. Главное — использовать максимально строгие права, которые не нарушают работу.

Влияют ли права доступа на SEO?

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

Можно ли изменить права через cPanel?

Да, в менеджере файлов cPanel можно менять права для файлов и папок. При массовых изменениях будьте осторожны и не забудьте сделать резервную копию.

Поделитесь этой статьей:

Команда Hostragons

Актуальные руководства от нашей команды экспертов по хостингу, серверам и доменным именам. Давайте вместе найдем оптимальное решение для вашего проекта.

Свяжитесь с нами