Андрей Смирнов
Время чтения: ~13 мин.
Просмотров: 56

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

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

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

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

CHMOD для пользователей и права доступа к файлам и папкам (директориям)

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

Согласитесь, грех не воспользоваться возможностью серьезно усилить безопасность вашего блога WordPress. Конечно, в этом случае редактирование некоторых  файлов будет занимать немного больше времени, но тут уж приходится выбирать: либо оптимизация безопасности системы, либо… Ниже я постараюсь систематизировать информацию по CHMOD (правам доступа), потому что здесь есть несколько нюансов, которые необходимо знать вебмастеру. Итак, начнем.

Права доступа различаются для различных групп пользователей. При попытке соединения сервер определяет, к какой группе отнести того или иного пользователя. Все пользователи разделяются на три категории:

  1. «user» — владелец файла
  2. «group» — один из членов группы, к которой принадлежит и владелец
  3. «world» — “остальной мир”, то есть все остальные пользователи

Если вы подключаетесь к серверу по протоколу FTP и заходите под своим логином и паролем, то будете идентифицированы как “user” (u), если кто-либо другой подключается по FTP, то будет определен как “group” (g), если же пользователь использует браузер, то попадает под категорию “world” (o).

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

  • r (read) — право на чтение данных файла
  • w (wright) — право на изменение содержимого (можно произвести только редактирование содержимого — запись, но удалять нельзя)
  • x (eXutive) — право на исполнение файла

Права доступа к папкам (директориям):

  •  r — право на чтение папки (можно получить содержимое директории, то есть список файлов, входящих  в нее)
  • w — право на изменение содержимого ( разрешение на создание и удаление объектов в директории, если вы имеете право на  запись  файлов, то удалять можно даже те объекты, которые вам не принадлежат)
  • x — право доступа в ту или иную директорию (особенность здесь такая, что если даже вы имеете все необходимые права на  файл, который расположен “в глубине” директорий, но не имеете права доступа хотя бы к одной поддиректории на пути к этому объекту, то не сможете получить доступ к нему)

Значком дефиса «-» отмечают отсутствие каких-либо прав. Все эти права прописываются администратором, который получает эту возможность посредством ввода пароля. Если мы сможем установить максимально возможные ограничения на права доступа CHMOD к тем или иным файлам ресурса, то сможем практически исключить опасность реализации своего “черного дела” вирусным программам.

Для наглядности рассмотрим пример, когда владелец файла u имеет все возможные права: на чтение, запись и исполнение. Пользователи, отнесенные к категории g (group) —  только на чтение и запись, все остальные (w) имеют только право на чтение. Тогда  запись CHMOD будет выглядеть следующим образом: «rwx rw- r- -».

Права доступа к файлам и папкам в цифровом выражении: CHMOD (777, 755, 444)

Но чаще вебмастерам в своей практической деятельности приходится назначать те или иные права доступа в цифровом выражении:

  • r (чтение) — 4
  • w (запись) — 2
  • x (исполнение) — 1
  • — (нет прав) — 0

Теперь вновь разберем вышеприведенный пример для назначения прав доступа «rwx rw- r- -». Для отображения прав каждого пользователя применяется сложение его прав (r чтение + w запись  + x исполнение). Таким образом часть записи для владельца файла u (user) — «rwx » превратится в 7 (4+2+1). Для члена группы g (group) — «rw-» в 6 (4+2+0) и для остальных пользователей o (world) — «r- -» в 4 (4+0+0). В качестве резюме представлю сводную таблицу со значениями прав доступа CHMOD, выраженными как в буквах, так и в цифрах:

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

Это основные комбинации, которые наиболее часто используются в работе вебмастера. Остальные формируются по аналогии. Если вы являетесь администратором сайта или блога, но работаете с проектом, не подсоединившись по FTP протоколу, вы также относитесь к группе “Остальные пользователи”.  В таком случае при работе с сайтом в таком режиме нужно учитывать последнюю цифру в значении CHMOD.

Обычно на сервере, где находятся файлы вашего WordPress блога, на папки выставляются права доступа 755, а на файлы, которые входят в их состав, 644. Это справедливо, когда ресурс построен с использованием файлов HTML, однако в современных условиях для построения сайта массово используются CMS (системы управления контентом), к которым относится и WordPress. А здесь могут находиться объекты, в которые нужно производить записи от группы пользователей “world”. Могут находиться папки кэширования, в которые загружается контент, в том числе изображения.

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

Также рекомендую на папки, находящиеся в корне сайта, поставить код доступа CHMOD 444.

Как настроить права доступа CHMOD с помощью FTP менеджера FileZilla

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

Теперь подробнее о том, как проделать эту операцию с помощью ФТП (FTP) клиента FileZilla. Для этого открываем программу и соединяемся посредством FTP к серверу хостера. В левой части «Удаленный сервер» сначала отмечаем файлы, атрибуты которых будут подвергнуты редактированию:

И из контекстного меню, вызванного нажатием правой кнопки мыши, выбираем «Права доступа к файлу». После этого появится диалоговое окно «Изменить атрибуты файла»:

Здесь присваиваем нужные значения CHMOD для выбранного (или выбранных) файлов. Но это только, если вы выбирали файл или группу файлов. В случае, если вы хотите установить или изменить значения CHMOD для каталога (папки) при выборе «Изменить атрибуты файла» появится аналоговое окно, несколько отличное от расположенного выше, а именно:

Видите, здесь появились дополнительные настройки. Если вы поставите галочку напротив строки «Перенаправить во вложенные каталоги», это значит, что заданные права доступа будут применены ко вложенным в эту директорию каталогам (папкам) либо файлам.  При отмеченной галочке ниже расположенная группа настроек станет активной и вам потребуется еще выбрать, как нужно применять настройки: ко всем файлам и каталогам, только ко вложенным файлам либо только к каталогам.

На этом, пожалуй закончу сегодня. Надеюсь, теперь вы знакомы с процедурой назначения прав доступа CHMOD к файлам и папкам и сможете теперь применить ее на практике. Если статья понравилась, не забудьте поделиться с друзьями и подписывайтесь на обновления  блога по e-mail и RSS, чтобы не пропустить актуальные материалы.

В итоге, на Powershell был написан скрипт для сбора данных через Get-Acl и последующего автоматического формирования отчета по форме, согласованной со службой безопасности. Но сразу всплыл ряд минусов:

  • Слишком неудобно каждый раз запускать скрипт и часами ждать, пока сформируется матрица доступов;

  • Не подошел вариант ведения учета в виде бумажных заявок. Главным образом, из-за отсутствия механизма автоматического поиска;

  • Использование разных систем для ведения учета чревато дополнительной работой по периодической проверке и обновлению данных.

Лучшим решением проблемы стала организация структурированной системы доступов на основе ресурсных групп.

Обычно администраторами применяются два метода предоставления доступа:

  1. Непосредственно учетной записи пользователя. Если не вести подробный протокол назначения прав, то быстро возникнет неразбериха;

  2. Права на группу ролевого доступа. Тот же недостаток, что и в предыдущем случае. К тому же, без протокола назначения прав сложно понять, используется ли конкретная группа кем-нибудь, или может быть удалена.

В качестве альтернативного и более удобного варианта можно использовать модель ресурсных групп. Это обычные группы безопасности, которые отвечают следующим требованиям:

  • Предоставляют права доступа только к одному сетевому ресурсу или подкаталогу, которые могут иметь несколько групп доступа с разными правами;

  • Могут быть вложенными;

  • При необходимости предоставляют права только к каталогам. Желательно избегать назначения прав на отдельные файлы.

Нарушение этих требований разрушит всю концепцию структурированной системы доступов.

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

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

Структурированная система доступов ориентирована на файловые серверы Windows, но без проблем может быть адаптирована и под другие ОС.

6f98f76f76bf4cec867ed05f09c69b30.jpg

Структурированная система доступов на основе ресурсных групп — это не вариация на тему ролевого доступа, а его важный элемент

Доступ к общему сетевому ресурсу или подкаталогу предоставляется только соответствующим ресурсным группам — локальным «Administrators» и “System”. Каждый общий каталог должен рассматриваться как корень дерева, в котором все доступы наследуются подкаталогами от родительской папки. Права доступа на подкаталог могут быть предоставлены независимо от прав на родительский каталог. Я буду иллюстрировать основные идеи на примере собственного сервера и его структуры папок.

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

Глубина вложений каталогов на файловом сервере может быть произвольной. Но если часто приходится выдавать права на подкаталоги ниже 3 – 5 уровня, то такая структура станет перегруженной и потребует оптимизации.

da0f6b180d934e7d8f183107645b4cf1.png

Имя нового файлового сервера «FILESRV1». На файловом сервере в корне диска для данных создан каталог с именем “Shares”. Отключено наследование прав доступа от родительского каталога и ограничен доступ

Открываемые в общий доступ каталоги будут создаваться только в папке «Shares». Имя такого каталога должно совпадать с соответствующим именем общего файлового ресурса – например, “Public”.

abd3aefa6baf4f2b95225a287122f06c.png

Для упорядоченного размещения данных в Active Directory создана структура организационных единиц «…GroupsShares…». Организационные единицы создаются для каждого файлового сервера и общего файлового ресурса. Для подкаталогов организационные единицы не создаются

Для примера я создал следующие ресурсные группы:

  • FILESRV1-Public

  • FILESRV1-Public-R

  • FILESRV1-Public-W

  • FILESRV1-Public-Новости-2016-R

  • FILESRV1-Public-Новости-2016-W

Последние две нужны для предоставления отдельным сотрудникам расширенных прав на каталог «2016».

c6cd442f515e4d67a54d115a9484319b.png

Теперь нужно включить все это в состав группы «FILESRV1-Public»

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

  • «имя_сервера-имя_общего_файлового_ресурса» для просмотра дерева каталогов без доступа к данным;

  • «имя_сервера-имя_общего_файлового_ресурса-R» для доступа к данным с правами чтения;

  • «имя_сервера-имя_общего_файлового_ресурса-W» для доступа к данным с правами на чтение и запись.

Эти группы обязательны для всех общих файловых ресурсов, в поле «описание» стоит указывать реальный сетевой путь.

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

  • «имя_сервера-имя_общего_файлового_ресурса-цепочка_имен_каталогов_разделенных_тире-R»

  • «имя_сервера-имя_общего_файлового_ресурса-цепочка_имен_каталогов_разделенных_тире-W»

Когда выдаете права, отличные от «только чтение» или “чтение и запись”, то вместо суффикса “R” или “W” используйте другую букву. Группы безопасности с особыми правами создаются только для тех каталогов, где это реально необходимо.

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

Для предоставления доступа по сети лучше выдавать права к общим ресурсам группе «Authenticated Users», но можно использовать и “Domain Users” или “Everyone”. Разрешения на уровне файловой системы не позволяют получить несанкционированный доступ к данным без явного разрешения.

85ee72209aa44bddb1964b750a02c334.png

На уровне файловой системы к каталогу «Public» предоставлены соответствующие права доступа для групп

993d06b2a3ed44c5aa03500b692bae76.png

Аналогично установлены права доступа для каталога «2016»

a990b7828ed7468a94b0bf55ea01ba48.png

Никаких дополнительных действий с каталогом «Новости» выполнять не требуется

Теперь члены групп «FILESRV1-Public-Новости-2016-R» и “FILESRV1-Public-Новости-2016-W” получат доступ только к папке “2016”, а пользователи из “FILESRV1-Public-R” и “FILESRV1-Public-W” – к общему сетевому ресурсу “FILESRV1Public” и всем его подкаталогам.

Конечно, при создании ресурсов масса времени уходит на подготовку, но зато мы получаем следующие преимущества:

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

  • Можем в любое время посмотреть, какими правами и на какие папки обладает пользователь.

Даже если сейчас ваш файловый сервер похож скорее на большую флешку, то через 2 — 3 года он вполне может превратиться в традиционную «файлопомойку» со всеми вытекающими проблемами.

Если вы знаете более простые методики организации и контроля прав доступа – обязательно делитесь опытом в комментариях.

Win2008.jpgНиже будет рассказано как настроить различные права доступа для конкретной директории в режиме работы нескольких пользователей. Операционная система в моем примере — Microsoft Windows Server 2008 R2. Но для других ОС семейства Windows действия будут аналогичными.

0. Задача:

На сервере в терминальном режиме работают несколько пользователей. Необходимо для папки «С:Общий ресурс» настроить права таким образом, чтобы у группы «Пользователи» были права только на чтение в этой директории, а у Администраторов и пользователя «Онянов» были права и на чтение, и на запись.

1. Решение:

Находим в проводнике необходимую папку, кликаем по ней правой кнопкой мыши и в контекстном меню выбираем «Свойства» (Properties).

prava_dostupa_OS_01.png

В открывшемся окне свойств папки, переходим на вкладку «Безопасность» (Security) и нажимаем «Изменить…» (Edit…). Откроется окно «Разрешения для группы...» в котором видим, что для 3 системных групп уже определены параметры безопасности. В частности для группы «Администраторы» установлен полный доступ к папке. Для добавления групп и пользователей нажмем кнопку «Добавить…» (Add…).

prava_dostupa_OS_02.png

В окне выбора пользователей и групп, нажмем «Дополнительно» (Advanced…), а в окне подбора кнопку «Поиск» (Find Now), чтобы вывести все группы и всех пользователей, существующих в системе. Выберем в результатах поиска необходимую нам группу «Пользователи» и нажмем «ОК» для добавления ее в список.

prava_dostupa_OS_03.png

Аналогичным образом добавим в список пользователя «Онянов» и нажмем «ОК» для завершения подбора.

prava_dostupa_OS_04.png

Теперь выберем разрешения для каждой добавленной позиции. Для группы «Пользователи» установим права только для просмотра списка, чтения и выполнения файлов и, соответственно, для пользователя «Онянов» отметим флаг «Полный доступ» .

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

Выбрав необходимые параметры жмем «Применить» (Apply) для сохранения настроек и нажимая «ОК» закрываем все открытие окна.

prava_dostupa_OS_05.png

Вот и все. Мы установили настройки безопасности для выбранной директории в соответствии с поставленной задачей.

Помогла ли Вам данная статья?Используемые источники:

  • https://goldbusinessnet.com/dvizhok-wordpress/chmod-prava-dostupa-k-fajlam/
  • https://habr.com/post/311124/
  • https://tavalik.ru/nastrojka-prav-dostupa-k-obshhim-papkam-v-os-windows/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации