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

Вступление

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

Права доступа определяются для:

  1. Владельца (непосредственно тот пользователь, который создал файл);
  2. Группы (пользователи из той же группы, в которой состоит владелец);
  3. Всех остальных пользователи этого компьютера.

И соответственно сами права доступа:

  1. Чтение (Read) — 4;
  2. Запись (Write) — 2;
  3. Исполнение (eXecute) — 1;

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

Например,

755 (-rwxr-xr-x) 
Владелец (7 = 4+2+1, все права), 
Группа (5 = 4+1, чтение и исполнение), 
Остальные (те же, что и у группы);

644 (-rw-r--r--)
Владелец (6 = 4+2, запись и чтение), 
Группа и остальные (4 - только чтение);

640 (-rw-r-----)
Владелец (6 = 4+2, запись и чтение), 
Группа (4 - только чтение), 
у остальных прав никаких на этот файл нет.

Благодаря этим правам под управлением операционной системы могут работать множество пользователей, не мешая друг другу.

Суть проблемы

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

Ставя права на директории и файлы 777 и 666 соответственно, вы позволяете делать с ними все что угодно. Все действия в ОС происходят от лица какого-либо пользователя. Таким образом, за правами нужно тщательно следить.

Изменить права довольно просто. Делается это либо через терминал сервера с помощью команды chmod, например

sudo chmod 600 config.php

Есть способ проще. Права можно поменять, используя FTP клиент, такой как FileZilla или Total Commander.

«Да кому мы нужны?»

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

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

Злоумышленник узнает систему управления, пользуясь уязвимостью скрипта закидывает вместо картинки php скрипт, который рассылает спам.

Это конечно самый банальный случай.

Что про WordPress и другие CMS?

В зависимости от режима, в котором работает вебсервер, нужно выбирать следующие права на доступы к файлам и директориям:

600 (-rw-------) wp-config.php
644 (-rw-r--r--) Файлы
755 (-rwxr-xr-x) Директории

или альтернативный вариант:

660 (-rw-rw----) wp-config.php
664 (-rw-rw-r--) Файлы
775 (-rwxrwxr-x) Директории

в зависимости от конфигурации сервера.

Соответственно, это касается не только WordPress, но и других систем управления.

  1. Берегите конфигурационный файл. Нельзя позволять никому, кроме владельца, даже читать документ, где написаны доступы к базе данных;
  2. Никому (кроме владельца и CMS, действующей от имени владельца) нельзя изменять файлы;
  3. Никому (кроме владельца и CMS, действующей от имени владельца) нельзя изменять содержание директорий;

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

P. S.:

Что касается WordPress, есть плагины, которые вносят свою лепту в безопасность сайта. Настоятельно рекомендую прописывать следующую директиву в .htaccess файл.

Options -Indexes

Эта известная директива, которая запрещает к просмотру содержание директорий на сайте.


2 комментария

  • Надежда

    Если в вашей теме используется ресайз миниатюр посредством timthumb.php, то обязательно нужно обновить этот файл на самую последнюю версию, так как старые версии известную уязвимость. У всех файлов права должны быть 644, у папок 755, кроме .htaccess права 444 и папки uploads права 777.

  • Валерий

    Огромное спасибо за подробную информацию

Добавить комментарий для Валерий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*

*

*