Защита и аудит файлов с высоким риском на серверах Windows

Опубликовано: 7 Апреля, 2023

Введение

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

Файловое хранилище

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

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

  • ACL — список контроля доступа, представляющий собой список пользователей, компьютеров и/или групп, которым разрешен доступ к данным (рис. 1).
  • Группы безопасности — это группы, которые имеют идентификаторы безопасности (SID) либо из Active Directory, либо из диспетчера учетных записей безопасности локального сервера Windows (SAM).
  • SACL — контроль доступа к безопасности, который представляет собой встроенный аудит и отслеживание доступа к данным, хранящимся на серверах Windows (рис. 2).
  • Наследование — процесс настройки доступа к папке верхнего уровня, и все вложенные папки и файлы наследуют эти разрешения вниз по структуре папок.
  • Явное разрешение - концепция, согласно которой разрешения могут быть размещены непосредственно в папке / файле в любом месте структуры папок, что может изменить унаследованные разрешения с этой точки вниз.

Изображение 10577
Рисунок 1: ACL файла.

Изображение 10578
Рисунок 2:
SACL для файла.

Создание списка контроля доступа

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

  1. Никакие учетные записи пользователей, доменные или локальные, не должны помещаться в ACL.
  2. Группы должны быть размещены в ACL, а не в учетных записях пользователей.
  3. Компьютеры должны быть объединены в группы, и эти группы размещены в ACL.
  4. Даже если одному пользователю нужен доступ к файлу, этот пользователь должен быть помещен в группу, а эта группа помещена в ACL.

В ACL есть несколько предопределенных разрешений, как показано на рис. 3. Эти предопределенные разрешения на самом деле являются суммой всех или части подробных разрешений, которые определяют общий доступ к папке/файлу, что можно увидеть на рис. 4.

Изображение 10579
Рисунок 3:
Предопределенные разрешения для файла.

Изображение 10580
Рисунок 4:
Подробные разрешения для папки.

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

Отслеживание/аудит доступа к файлам

Теперь, когда разрешения установлены в ACL папки/файла, вы можете захотеть отслеживать, когда кто-то успешно или безуспешно обращается к файлу. Это важно для отслеживания важных для вашей организации файлов с высоким риском. Поскольку файлы хранятся на сервере Windows, отслеживание этих файлов является встроенной технологией. Выше мы определили SACL, который представляет собой механизм, используемый для определения того, «кого» вы хотите отслеживать для каждой папки/файла и «какой» доступ вы хотите отслеживать.

Существует небольшая хитрость в проверке файлов, поскольку для сервера Windows существует двухэтапный процесс. Во-первых, нужно сообщить серверу, что он может отслеживать доступ к файлам. Затем администратор/владелец данных должен указать непосредственно на данных, что они должны быть проверены.

На первом этапе сервер должен быть настроен для аудита доступа к объектам: успеха, отказа или обоих. Чтобы настроить это для сервера, необходимо настроить либо локальную групповую политику, либо объект групповой политики (GPO) из Active Directory. Для доступа к локальной групповой политике вы должны запустить команду gpedit.msc, а для объектов групповой политики Active Directory вы должны использовать GPMC.

Когда у вас есть групповая политика или объект групповой политики в редакторе, вы должны развернуть Конфигурация компьютера/Политики/Параметры Windows/Параметры безопасности/Локальная политика/Политика аудита, чтобы открыть параметр Аудит доступа к объектам, показанный на рисунке 5.

Изображение 10581
Рисунок 5:
Конфигурация доступа к объекту аудита.

Дважды щелкнув узел «Аудит доступа к объектам», вы увидите возможность настроить политику, а затем установить параметры «Успех» и «Сбой». После того, как они установлены, вам нужно запустить gpupdate на сервере Windows, с которого вы хотите отслеживать файлы.

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

Просмотр результатов аудита

Аудит папок и файлов происходит на сервере, где находятся данные. Журнал аудита хранится в средстве просмотра событий в журнале безопасности. На рис. 6 отчетливо видно, что в журнале безопасности отслеживается доступ к файлу, что является результатом двух приведенных выше конфигураций. Каждый отдельный элемент, указанный вами в SACL, создаст запись в журнале безопасности, но каждый с другим идентификатором события. Структуру аудита можно увидеть на рисунке 7.

Изображение 10582
Рисунок 6:
Журнал безопасности в средстве просмотра событий.

Изображение 10583
Рисунок 7:
Запись события в журнале безопасности.

Резюме

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