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

Постараюсь сформулировать набор общих правил/рекомендаций/тезисов по организации прав доступа на файловом сервере в доменной среде на серверах Windows Server 2012 R2, основываясь на собственном опыте и наблюдениях:

        1. На файловом сервере не устанавливаем никаких ролей и служб, кроме роли файлового сервера. Чем чище — тем лучше. Организовываем репликацию данных на другой файловый сервер, резервное копирование данных на backup-сервер, мониторинг/аудит/скрипты и все… RDP-доступ должен быть только у администраторов, не надо разворачивать терминальный сервер, устанавливать клиентское ПО и пускать на сервер пользователей.
        2. Доступ к данным для пользователей осуществляется посредством предоставления общего доступа к корневой папке (на мой взгляд, в идеале «расшаривается» только одна корневая папка). Нет смысла публиковать несколько папок, находящихся на одном диске и на одном уровне иерархии, так как все замечательно «рулится» правами доступа на вкладке «Безопасность» и опцией «Включить перечисление на основе доступа» (Access Based Enumeration или ABE) — папки, к которым нет доступа, не будут отображаться. На серверах Windows Server 2012 R2 опция ABE находится здесь:fs01Имеет смысл «расшаривать» несколько папок в следующих случаях:
          1. Папки находятся на разных дисках. Тут варианта два: либо у вас многотерабайтные массивы данных и вы упираетесь в физические ограничения размеров RAID-массива или логического тома в ОС, либо вы поленились организовать (или вам не дали на это денежку) RAID-массив достаточного объема. Более жизнеспособный второй вариант, поэтому следует реорганизовать/модернизировать дисковую подсистему.
          2. Нужно дать доступ к папке, глубоко «зарытой» в иерархии директорий, при этом не давая доступ к соседним и вышестоящим каталогам. В этом случае для настройки прав доступа придется пройтись по всему пути к искомой папке, выдавая минимальные права на каждую «транзитную» папку. Если «расшарить» целевую папку, проще будет выдать права доступа, да и пользователю будет проще в нее зайти. Альтернативные пути: выдавать права скриптами Powershell (в будущем опубликую статью по этому поводу) или пересмотреть/оптимизировать структуру папок и права доступа к ним. Для более быстрого доступа в «зарытые» папки можно использовать ярлыки или подключить сетевые диски.
        3. Для предоставления доступа к папке с дистрибутивами, с перемещаемыми профилями и рабочими столами пользователей делаются скрытые «шары», к примеру distr$, prof$, dsk$. Эти общие папки не отображаются в сетевом окружении и доступны только по точному пути: \\srv01\prof$\ и так далее.
        4. В корневой папке создаем папки отделов, обмена, проектов, направлений, филиалов и так далее. Структуру папок следует тщательно продумать на начальном этапе, особенное внимание уделить реализации доступа к данным отдела сотрудникам других отделов и вариантам обмена данными между отделами. Также следует продумать ряд ограничений для папок: максимальный размер, разрешенные форматы файлов и так далее. Желательно выстроить четкую иерархию папок и соответствующих прав доступа таким образом, чтобы пользователи могли менять структуру папок только с 3-4 уровня вложенности.
        5. Следует придерживаться принципа выдачи наименьших прав, расширяя их только по мере необходимости. В корневой папке отключаем наследование с преобразованием унаследованных прав в явные. Оставляем полный доступ для этой папки, ее подпапок и файлов администраторам и системе, права создателя-владельца урезаем, остальные права доступа удаляем:fs02
        6. Права доступа создателя-владельца не стоит удалять. К примеру есть папка «…\Отдел кадров\», к которой у пользователя есть права на изменение только для этой папки. Пользователь создает новую папку и «у него ничего не происходит», а точнее папка-то создается, но доступа у сотрудника к ней нет, так как применяются унаследованные права от родительской папки. Если перечисление на основе доступа (ABE) отключено для общей папки, то создаваемая папка будет видна, но переименовать ее, открыть или удалить сотрудник не сможет.
        7. Права доступа системы также не следует удалять. Многие службы работают с правами системы, к примеру, служба теневого копирования (VSS), которая может использоваться системой резервного копирования, например, Acronis. Для работы скриптов по расписанию без привязки к учетной записи пользователя также используется системная учетная запись. Таким образом для корректной работы у системы должны быть полные права на все папки и файлы сервера.
        8. Добавляем группу администраторов домена в локальную группу администраторов. Таким образом административные права на сервере, в том числе полный доступ ко всем папкам и файлам сервера будет и у локальных администраторов, и у администраторов домена — через членство в локальной группе администраторов. В домене это очень удобно настраивается через групповые политики и распространяется на все сервера и рабочие станции домена: Конфигурация компьютера -> Настройка -> Параметры панели управления -> Локальные пользователи и группы.
        9. Для привилегированных пользователей (руководство компании, аудиторы и пр.) создаем группу доступа в домене и даем ей права в корневой директории на чтение для этой папки, ее подпапок и файлов. При необходимости на подкаталоги расширяем права, добавляя разрешение на изменение. В случае запроса полного доступа ко всем папкам — максимум добавляем права на изменение (в понимании пользователей это и есть полный доступ, а давать возможность пользователям администрировать права доступа чревато последствиями, за которые отвечать системному администратору). В этом случае права на изменение выдаем следующим образом: в корневой папке назначаем права на чтение для этой папки, ее подпапок и файлов. В подкаталогах корневой папки назначаем права на изменение только для подкаталогов и файлов. Таким образом у VIP-пользователей будут права на изменение папок/файлов, начиная с 3-го уровня иерархии, что позволит гарантировать сохранность структуры подкаталогов корневой директории: без ведома системного администратора не появятся новые папки в корне, никто не переименует и не удалит папку целого отдела/подразделения.
        10. Для остальных сотрудников создаем в домене общую группу доступа и группы доступа для каждого отдела, подразделения, проекта, направления, филиала. Для общей группы доступа даем права в корневой директории на чтение только для этой папки. Для групп доступа отделов назначаем права в их папках на чтение, руководителям отделов и их заместителям назначаем права на изменение. Желательно выдавать права в папке отдела только для этой папки, а в подкаталогах — для этой папки, ее подпапок и файлов; руководителям и их заместителям давать права на изменение в подкаталогах папки отдела только для подпапок и файлов. Это позволит сохранить общую структуру папок внутри каталогов отделов, а также в будущем быстро создать внутри отдела новую подпапку с ограниченным доступом без отключения наследования прав доступа.
        11. Права нужно назначать группам доступа, а не учетным записям пользователей, во всяком случае на верхних уровнях иерархии папок обязательно! Во-первых, это нагляднее и удобнее администрировать. Во-вторых, в более «глубоких» по вложенности каталогах может быть очень уж внушительное число прав доступа, учитывая наследуемые разрешения от родительских папок. В-третьих, при увольнении сотрудников и блокировке/удалении их учетных записей в правах доступа папок остается «шлак» в виде неактуальных (читай — бесполезных/ненужных/лишних) разрешений для учетных записей (а при удалении учетной записи — SID-идентификаторов учетных записей). За 1-2 года накапливается довольно много «мусора», скроллом не пересчитать.
        12. Не следует увлекаться отключением наследования родительских прав доступа, надо стараться использовать эту возможность в крайнем случае, то же касается и явных запрещающих прав. При отключении наследования разрывается целостность применения прав доступа сверху-вниз. И дай бог, если права на всю корневую директорию и папки отделов выданы через группы доступа и они уже присутствуют у папок с отключенным наследованием (тогда достаточно добавить учетную запись нового сотрудника в необходимую группу), а если права выдавались учетным записям пользователей?! А если понадобится группе пользователей дать права на все дочерние папки, включая 5-6 с отключенным наследованием, но запретить доступ в 3-4 папки с включенным наследованием?! А если для каждого из этих пользователей должны быть различные права доступа и объединить в группу не получится?! Чтобы избежать подобных неприятностей, отключать наследование прав следует в исключительных случаях и для папок нижних уровней (без структуры дочерних подкаталогов).
        13. При копировании папки в новую директорию явно заданные права не сохраняются и к папке применяются наследуемые права от новой родительской папки даже при отключенном наследовании родительских прав доступа у копируемой папки. А при перемещении папки в новую директорию — явно заданные права сохраняются, в том числе отключенное наследование. При включенном наследовании с явно заданными правами применяются и наследуемые права от новой родительской папки. Поэтому при «переездах» в новую структуру папок надо копировать данные, а не перемещать! Иначе будет появляться «мусор» в виде неактуальных прав доступа и не все права будут применяться из-за отключенного наследования подпапок. И обратный тезис — для сохранения отключенного наследования и необходимых прав доступа, заданных явным образом, надо перемещать папки, а не копировать! Или придется заново настраивать права доступа. Следует предупредить пользователей о возможных последствиях подобных манипуляций: у кого-то может пропасть доступ в папки, у других может появиться. Крайне желательно периодически проверять актуальность прав доступа.
        14. Опция «Заменить все записи разрешений дочернего объекта наследуемыми от этого объекта» удаляет все явно заданные разрешения всех дочерних объектов и включает наследование родительских разрешений для всех подкаталогов:fs03Имеет смысл использовать, когда уже проще все грохнуть и с нуля настроить права доступа на структуру подкаталогов. Особенно актуально, когда права назначались учетным записям пользователей, накопилось много «шлака» в виде SID-идентификаторов и отключенных учетных записей, у множества подкаталогов отключено наследование прав доступа и вообще все очень печально, но при этом есть четкое понимание каким группам пользователей какие нужны права доступа — тогда эта опция очень кстати.
        15. При отключении наследования прав родительской папки следует выбирать вариант преобразования унаследованных разрешений в явные:fs04После преобразования удалите ненужные права доступа, кроме прав доступа для администраторов, системы и создателя-владельца (см. п. 6 и 7).
        16. Рассмотрим типовые права доступа (общие разрешения безопасности), которые можно задать по кнопке «Изменить» на вкладке «Безопасность»:А также раскроем заданные типовые права доступа в разделе дополнительных параметров безопасности (в режиме отображения дополнительных разрешений) по кнопке «Дополнительно» на вкладке «Безопасность»:fs05-2Это позволит увидеть область применения типовых прав доступа и отобразить их дополнительные разрешения.
          1. «Полный доступ» включает в себя все нижестоящие права доступа:fs06«Полный доступ» в режиме отображения дополнительных разрешений:fs07Область применения: «Для этой папки, ее подпапок и файлов», включает все дополнительные разрешения, в том числе смену разрешений и владельца.
          2. «Изменение» также включает в себя все нижестоящие права доступа:fs08«Изменение» в режиме отображения дополнительных разрешений:fs09Область применения: «Для этой папки, ее подпапок и файлов», включает все дополнительные разрешения, кроме «Удаление подпапок и файлов», «Смена разрешений» и «Смена владельца». Отсутствие дополнительного разрешения «Удаление подпапок и файлов» связано с тем, что данные права уже есть в виде разрешения «Удаление» с областью применения «Для этой папки, ее подпапок и файлов».
          3. «Чтение и выполнение» включает в себя права доступа «Список содержимого папки» и «Чтение»:fs10«Чтение и выполнение» в режиме отображения дополнительных разрешений:fs11Область применения: «Для этой папки, ее подпапок и файлов», включает дополнительные разрешения «Траверс папок / выполнение файлов», «Содержание папки / чтение данных», «Чтение атрибутов», «Чтение дополнительных атрибутов», «Чтение разрешений».
          4. «Список содержимого папки»:fs12 «Список содержимого папки» в режиме отображения дополнительных разрешений:fs13Включает  те же дополнительные разрешения, что и «Чтение и выполнение», отличается только более узкой областью применения:  «Для этой папки и ее подпапок».
          5. «Чтение»:fs14«Чтение» в режиме отображения дополнительных разрешений:fs15Область применения: «Для этой папки, ее подпапок и файлов», включает те же дополнительные разрешения, что и «Чтение и выполнение», кроме «Траверс папок / выполнение файлов».
          6. «Запись»:fs16«Запись» в режиме отображения дополнительных разрешений:fs17Область применения: «Для этой папки, ее подпапок и файлов», включает дополнительные разрешения «Создание файлов / запись данных», «Создание папок / дозапись данных», «Запись атрибутов» и «Запись дополнительных атрибутов».
        17. Типовые права доступа удобны за счет их простоты: не надо выбирать область применения, представлены только общие разрешения, за счет чего можно просматривать и редактировать права доступа пользователей в одном окне. В итоге редактирование типовых прав доступа занимает меньше времени, чем редактирование дополнительных разрешений (даже в режиме отображения общих разрешений). С другой стороны, следуя принципам выдачи наименьших прав и сохранения целостности наследования сверху вниз, типовые права следует применять осторожно.
        18. Все типовые права доступа имеют широкую область применения, за счет чего заданные права распространяются на все дочерние подпапки. Таким образом следует их применять только для тех пользователей, чьи права доступа не понадобится ограничивать в дочерних подкаталогах. В основном это касается прав доступа администраторов, системы, привилегированных сотрудников, руководителей отделов и их заместителей. В дальнейших пунктах рассмотрим каждый тип прав доступа и варианты их использования.
        19. «Полный доступ» следует назначать только администраторам и системе, применяется в корневой папке и в подкаталогах, у которых отключено наследование родительских прав.
        20. «Изменение» следует назначать тем сотрудникам, которые формируют структуру и иерархию директорий в подкаталогах своего отдела: руководителям отделов и их заместителям. Однако это даст возможность удалять и переименовывать подкаталоги в папке отдела. Для более жесткой политики целесообразней настраивать для подкаталогов права доступа на изменение через дополнительные разрешения, ограничив область применения значением «Только для подпапок и файлов».
        21. «Чтение и выполнение» следует применять в подкаталогах с исполняемыми файлами, к примеру, в папке с дистрибутивами. Однако обычным сотрудникам, как правило, нужен доступ только к данным, поэтому лучше использовать право доступа на «чтение».
        22. «Список содержимого папки» следует применять только для просмотра иерархии папок, файлы при включенном перечислении на основе доступа не будут видны. Даже не знаю в каких ситуациях это было бы полезно, никогда не приходилось пользоваться этим правом доступа на практике.
        23. «Чтение», пожалуй, самое используемое право доступа. Применяется для публичных папок с открытыми данными — для всех сотрудников, для папок обмена между отделами — для сотрудников других отделов, для подпапок отделов — сотрудникам отдела. Нужно лишь учитывать широкую область применения, то есть выдавать права на «чтение» для директории папок, в подкаталогах которых не придется потом закрывать доступ, отключая наследование прав доступа.
        24. «Запись» следует применять для расширения прав доступа на «чтение» или «чтение и выполнение» для определенных папок. Отличие от права доступа на «изменение» — отсутствие разрешений «Траверс папок / выполнение файлов» и «Удаление». Само по себе право доступа на «запись» бессмысленно, используется только в сочетании с правами доступа на «чтение» или «чтение и выполнение».
        25. Рассмотрим права доступа в расширенном режиме. На скриншоте ниже отображены возможные области применения прав доступа:fs18
        26. «Только для этой папки», на мой взгляд, активно используется на верхних уровнях иерархии папок. К примеру, с этой областью применения выдается доступ на «чтение» или «список содержимого папки» в корневой папке, в папке отделов, а уже начиная с подкаталогов применяется более широкая область применения и при необходимости расширяются права доступа.
        27. «Для этой папки, ее подпапок и файлов» — область применения по умолчанию. Как правило, в расширенный режим прав доступа заходят с целью сузить стандартную область применения.
        28. «Для этой папки и ее подпапок» — права доступа применяются только для каталогов. Не припомню, чтобы доводилось пользоваться на практике. Может применяться для разрешения чтения атрибутов только папок, для явного запрета на удаление только папок или каких-то других специфичных прав доступа, применяемых только к папкам.
        29. «Для этой папки и ее файлов» — удобно использовать для точечной выдачи или расширения прав доступа, права применяются только на текущем уровне иерархии.
        30. «Только для подпапок и файлов» используется в сочетании с областью применения «Только для этой папки». К примеру, выдаем доступ руководителю отдела и его заместителям на «чтение» в папке отдела «Только для этой папки» и добавляем доступ на «изменение» в папке отдела «Только для подпапок и файлов». Таким образом, в папке отдела сотрудники не смогут сами создавать папки/файлы, переименовывать папку отдела, все изменения они смогут делать начиная с подкаталогов папки отдела.
        31. «Только для подпапок» — аналогично области «Для этой папки и подпапок», но применяется на уровень ниже по иерархии.
        32. «Только для файлов» лично на практике не использовал. Возможно применять в сочетании прав доступа на чтение «Только для этой папки», добавляя разрешения на изменение «Только для файлов». Таким образом пользователь не сможет создавать подкаталоги и файлы в папке, но сможет редактировать/удалять существующие в папке файлы.
        33. Права доступа в режиме отображения дополнительных разрешений сродни микрохирургии, не припомню, чтобы когда-либо приходилось настолько точечно и детально выдавать права доступа. Как правило, типовых прав доступа и вариантов области их применения вполне хватает для обычных организаций.

Добавить комментарий

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