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

Понимание прав доступа к файлам chmod

В Unix-подобных системах команда chmod используется для изменения разрешений файлов и каталогов. Разрешения определяют, кто может читать, писать или выполнять файлы; а в случае каталогов, кто может просматривать их содержимое или просматривать структуру каталогов. Они необходимы для базовой безопасности. Основные разрешения:

  • Читать (r): просмотреть содержимое файла или вывести список содержимого каталога.
  • Запись (w): изменение содержимого файла или добавление/удаление файлов из каталога.
  • Выполнить (x): запустить файл как программу или войти в каталог и получить доступ к его содержимому.

Фактическое разрешение может быть комбинацией трех упомянутых разрешений. Например:

  • чтение и запись (rw) означает, что ресурс разрешен для операций чтения и записи, но не для выполнения, поскольку x для него отсутствует ;
  • rx, если бы он был установлен для файла, это означало бы, что его разрешено читать и выполнять как программу, но нельзя записывать в него, поскольку w отсутствует в разрешении.

Разрешения устанавливаются для трех типов пользователей. В следующем порядке: владелец файла, группа и другие.
Таким образом, полное разрешение chmod состоит из трех разрешений для каждого типа пользователей, например: rwx rw r. Будет означать разрешение владельцу выполнять любые операции, группе пользователей — читать и писать, а всем остальным пользователям — читать файл.

Разрешения rwx имеют соответствующее числовое представление. Некоторые быстрые сочетания клавиш для запоминания:

  • rwx 7 (чтение, запись и выполнение)
  • rw 6 (чтение и запись)
  • rx 5 (чтение и выполнение)
  • r 4 (только чтение)

(rwx является самым небезопасным разрешением. И вам следует стремиться сократить его использование. Вот почему 777 является самым небезопасным, в первую очередь потому, что оно позволяет любому пользователю в системе делать что угодно с файлом, имеющим такое разрешение.

Рекомендуемые разрешения WordPress

Эксперты по WordPress Codex и безопасности рекомендуют следующие настройки chmod:

  • Каталоги: 755 или 750
  • Файлы: 644 или 640
  • wp-config.php: 600

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

Крайне важно запустить ваш веб-сервер с настройками исправления разрешений, прежде чем настраивать разрешения файлов WordPress.

Настройка безопасных разрешений с помощью chmod

Защищенные каталоги:

find /path/to/wordpress -type d -exec chmod 750 {} \;

Это устанавливает права доступа к каталогу на уровне 750, что позволяет владельцу читать, писать и выполнять файлы, в то время как другие не могут читать.

Защищенные файлы:

find /path/to/wordpress -type f -exec chmod 640 {} \;

Это устанавливает права доступа к файлу 640, позволяя владельцу читать и писать, в то время как другие не могут читать.

Безопасный wp-config.php:

chmod 600 /path/to/wordpress/wp-config.php

Это ограничивает доступ к файлу wp-config.php, являющемуся критически важным файлом конфигурации WordPress, и делает его доступным для чтения и записи только владельцу.

Исключая каталоги .git

При настройке разрешений необходимо исключить каталоги.git, чтобы сохранить их целостность и предотвратить несанкционированный доступ. Используйте опцию -not -path '*/.git*' с find, чтобы исключить эти каталоги.

Автоматизация с помощью скриптов Bash

Для удобства вы можете автоматизировать процесс установки разрешений с помощью скрипта bash. Этот скрипт будет использовать команду find для установки рекомендуемых разрешений и исключения каталогов.git.

Мониторинг и обслуживание

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

Заключение

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

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

Written by Иван Васильков

Системный администратор и DevOps с опытом 10+ лет.