Безопасность сайтов на WordPress. Что такое разрешения для файлов?

Безопасность сайтов на WordPress. Что такое разрешения для файлов?

Что такое права доступа? Для чего они нужны? И как их правильно выставлять для сайтов, в частности, работающих на CMS WordPress? Давайте попытаемся в этом разобраться.

Для файлов и папок на сайте есть три категории прав доступа:

  • Права владельца;
  • Групповые права;
  • Права для всех.

Владельцем является CMS и через ее посредство – администратор сайта.
Примером группы пользователей являются, например, пользователи FTP доступа к директориям сайта.
Все  – это и есть все подряд, кроме владельца или членов группы доступа.

imagesРазрешения для файлов и папок (permissions) позволяют управлять доступом к файлам вашего сайта. Существуют разрешения трех уровней:

  • Чтение (Read);
  • Запись (Write);
  • Выполнение (eXecute).

Давайте разберемся, что же это такое. Для файлов:

  • Чтение (r) – позволяет пользователю читать данный файл.
  • Запись (w) – позволяет пользователю изменять или перезаписывать данный файл.
  • Выполнение (x) – позволяет пользователю выполнять данный файл как сценарий.
    Об удалении – речь не идет.

Для папок:

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

Права задаются двоичными флагами (под это отводится 9 бит: три тройки), каждый из которых принимает значение 0 или 1.

Для удобства тройки группируют и записывают уже в виде десятичных цифр.

Порядок записи следующий:

  • Права владельца:
    • Чтение (r);
    • Запись (w);
    • Выполнение (x).
  • Групповые права:
    • Чтение (r);
    • Запись (w);
    • Выполнение (x).
  • Права для всех:
    • Чтение (r);
    • Запись (w);
    • Выполнение (x).

Чтение (r) обозначается 4 (100), запись (w) – 2 (010), а выполнение (x) – 1 (001).
В итоге получается примерно следующее:

Abstract vector set of colorful flat SEO and development icons. Creative concepts and design elements for mobile and web applications.

Как правило, папкам и файлам права назначают раздельно – в соответствии с требованиями системы (например CMS) и с требованиями безопасности.

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

Исключение составляет файл wpconfig.php, так как он содержит массу ценной информации, которая не должна быть доступна никому кроме владельца, права на него выставляются в значение 600: никто кроме владельца не может даже прочитать его.

Для всех папок выставляются другие права – 755.

Существует распространенное заблуждение, что на некоторые папки (например, папку для загрузки файлов – Dounloads) надо выставлять полные права (777). Это – серьезная ошибка, которая может обернуться проблемой для вашего сайта: фактически это открытые ворота для любых вредителей. 🙁