Дескриптор безопасности
Дескрипторы безопасности данных — это структуры с информацией о безопасности для защищаемых Windows объектов , то есть объектов, которые можно идентифицировать по уникальному имени. Дескрипторы безопасности могут быть связаны с любыми именованными объектами, включая файлы , папки , общие ресурсы, ключи реестра , процессы, потоки, именованные каналы, службы, объекты заданий и другие ресурсы. [1]
Дескрипторы безопасности содержат списки управления доступом по усмотрению (DACL), которые содержат записи управления доступом (ACE), которые предоставляют или запрещают доступ доверенным лицам, таким как пользователи или группы. Они также содержат список управления доступом к системе (SACL), который контролирует аудит доступа к объектам. [2] [3] Элементы управления доступом могут быть явно применены к объекту или унаследованы от родительского объекта. Порядок ACE в ACL важен: ACE, которым запрещен доступ, располагаются выше в порядке, чем ACE, предоставляющие доступ. Дескрипторы безопасности также содержат владельца объекта.
Обязательный контроль целостности реализуется посредством нового типа ACE в дескрипторе безопасности. [4]
Разрешения для файлов и папок можно редактировать с помощью различных инструментов, включая Windows Explorer , WMI , инструменты командной строки, такие как Cacls , XCacls, ICacls , SubInACL, [5] бесплатная FILEACL консоль Win32 , [6] [7] бесплатная программная утилита SetACL и другие утилиты. Чтобы редактировать дескриптор безопасности, пользователю необходимы разрешения WRITE_DAC для объекта. [8] разрешение, которое обычно делегируется по умолчанию администраторам и владельцу объекта.
Разрешения в NTFS
[ редактировать ]В следующей таблице приведены разрешения NTFS и их роли (в отдельных строках). В таблице представлена следующая информация: [9] [10] [11]
- Код разрешения: каждая запись управления доступом (ACE) определяет свое разрешение в двоичном коде. Существует 14 кодов (12 в старых системах).
- Значение. Каждый код разрешения имеет значение в зависимости от того, применяется ли он к файлу или папке. Например, код 0x01 в файле указывает на разрешение на чтение файла, а на папке — на разрешение отображать содержимое папки. Однако знать только смысл бесполезно. В ACE также должно быть указано, к кому применяется разрешение и предоставлено ли это разрешение или отказано.
- Входит в: Помимо индивидуальных разрешений, ACE может указывать специальные разрешения, известные как «общие права доступа». Эти специальные разрешения являются эквивалентами ряда индивидуальных разрешений. Например, GENERIC_READ (или GR) является эквивалентом «Чтение данных», «Чтение атрибутов», «Чтение расширенных атрибутов», «Разрешения на чтение» и «Синхронизировать». Поскольку имеет смысл запрашивать эти пять одновременно, удобнее запрашивать «GENERIC_READ».
- Псевдоним: две утилиты командной строки Windows ( icacls и cacls ) имеют свои собственные псевдонимы для этих разрешений.
Разрешение код |
Значение | Включено в | Псевдоним | ||||||
---|---|---|---|---|---|---|---|---|---|
Для файлов | Для папок | Р [а] | И [б] | В [с] | А [д] | М [и] | В icacls | В часах | |
0x01 | Чтение данных | Список содержимого папки | Да | Да | Да | Да | РД | FILE_READ_DATA | |
0x80 | Чтение атрибутов | Да | Да | Да | Да | ДА | FILE_READ_ATTRIBUTES | ||
0x08 | Чтение расширенных атрибутов | Да | Да | Да | Да | РЭА | FILE_READ_EA | ||
0x20 | Выполнить файл | Обход папки | Да | Да | Да | Х | ФАЙЛ_ИСПОЛНЕНИЕ | ||
0x20000 | Разрешения на чтение | Да | Да | Да | Да | Да | ЖК | ЧТЕНИЕ_КОНТРОЛЬ | |
0x100000 | Синхронизировать | Да | Да | Да | Да | Да | С | СИНХРОНИЗИРОВАТЬ | |
0x02 | Запись данных | Создание файлов | Да | Да | Да | ВД | FILE_WRITE_DATA | ||
0x04 | Добавить данные | Создание папок | Да | Да | Да | ОБЪЯВЛЕНИЕ | FILE_APPEND_D | ||
0x100 | Запись атрибутов | Да | Да | Да | Вашингтон | FILE_WRITE_ATTRIBUTES | |||
0x10 | Запись расширенных атрибутов | Да | Да | Да | ВЭА | FILE_WRITE_EA | |||
0x10000 | Удалить (или переименовать [12] ) | Да | Да | ИЗ | УДАЛИТЬ | ||||
0x40000 | Изменение разрешений | Да | ВДАК | WRITE_DAC | |||||
0x80000 | Возьмите на себя ответственность | Да | ГДЕ | НАПИСАТЬ_ВЛАДЕЛЕЦ | |||||
0x40 | Удаление подпапок и файлов | Да | округ Колумбия | FILE_DELETE_CHILD |
Большинство этих разрешений не требуют пояснений, за исключением следующих:
- Для переименования файла требуется разрешение «Удалить». [12]
- Проводник не показывает «Синхронизировать» и всегда устанавливает его. Многопоточным приложениям, таким как «Проводник» и «Командная строка Windows», требуется разрешение «Синхронизировать», чтобы иметь возможность работать с файлами и папками. [13]
Сноски
[ редактировать ]- ^ GENERIC_READ, известный как «Чтение» в проводнике.
- ^ GENERIC_EXECUTE, известный как «Чтение и выполнение» в проводнике.
- ^ GENERIC_WRITE, известный как «Запись» в проводнике.
- ^ GENERIC_ALL, известный как «Полный доступ» в проводнике.
- ^ известен как «Изменить». В проводнике
См. также
[ редактировать ]- Контроль доступа § Компьютерная безопасность
- Аудит безопасности информационных технологий
- Авторизация
- Компьютерная безопасность
- Информационная безопасность
- Токен (архитектура Windows NT)
- идентификатор безопасности Windows
- SDDL
Ссылки
[ редактировать ]- ^ «Охраняемые объекты» . Майкрософт . 24 апреля 2008 г. Проверено 16 июля 2008 г.
- ^ «Что такое дескрипторы безопасности и списки контроля доступа?» . Майкрософт . Архивировано из оригинала 5 мая 2008 г. Проверено 16 июля 2008 г.
- ^ «DACL и ACE» . Майкрософт . 24 апреля 2008 г. Проверено 16 июля 2008 г.
- ^ https://msdn.microsoft.com/en-us/library/bb625957.aspx Что такое механизм обеспечения целостности Windows?
- ^ Домашняя страница SubInACL
- ^ Домашняя страница FILEACL. Архивировано 29 августа 2012 г. на Wayback Machine.
- ^ «FILEACL v3.0.1.6» . Майкрософт . 2004-03-23. Архивировано из оригинала 16 апреля 2008 года . Проверено 25 июля 2008 г.
- ^ «Тип данных ACCESS_MASK» . Майкрософт . 24 апреля 2008 г. Проверено 23 июля 2008 г.
- ^ «Как работают разрешения» . Майкрософт . 21 июня 2013 г. Проверено 24 ноября 2017 г.
- ^ Ричард Сивил. «Как это работает. Разрешения NTFS, часть 2» . Майкрософт . Проверено 24 ноября 2017 г.
- ^ Ричард Сивил. «Как это работает. Разрешения NTFS» . Майкрософт . Проверено 24 ноября 2017 г.
- ^ Перейти обратно: а б Чен, Раймонд (22 октября 2021 г.). «Переименование файла — это многоэтапный процесс, только одним из которых является изменение имени файла» . Старая новая вещь . Майкрософт .
Открытие с разрешением DELETE дает разрешение на переименование файла. Требуется разрешение DELETE, поскольку старое имя удаляется.
- ^ Чен, Раймонд (18 ноября 2019 г.). «Я установил один и тот же список ACL для графического интерфейса и для icacls, но результаты разные» . Старая новая вещь . Майкрософт .