Как включить аудит доступа к файлам
Политики аудита можно применять к отдельным файлам и папкам на компьютере, установив тип разрешения для записи успешных попыток доступа или неудачных попыток доступа в журнале безопасности.
Чтобы завершить эту процедуру, необходимо войти в группу встроенных администраторов или иметь права на управление аудитом и журналом безопасности.
Применение или изменение параметров политики аудита для локального файла или папки
Выберите и удерживайте (или правой кнопкой мыши) файл или папку, которые необходимо проверять, выберите Свойства, а затем выберите вкладку Security.
Выберите Расширенный.
В диалоговом окне Advanced Security Параметры выберите вкладку Аудит и выберите Продолжить.
Выполните одно из следующих действий.
- Чтобы настроить аудит для нового пользователя или группы, выберите Добавить. Выберите основной, введите имя пользователя или группы, которые вы хотите, а затем выберите ОК.
- Чтобы удалить аудит для существующей группы или пользователя, выберите группу или имя пользователя, выберите Удалить, выбрать ОК, а затем пропустить остальную часть этой процедуры.
- Чтобы просмотреть или изменить аудит существующей группы или пользователя, выберите ее имя, а затем выберите Изменить.
В поле Тип укайте, какие действия необходимо проверить, выбрав соответствующие флажки:
- Чтобы провести аудит успешных событий, выберите Success.
- Для проверки событий сбоя выберите Fail.
- Чтобы провести аудит всех событий, выберите All.
В поле Применяется к поле выберите объект(ы), к которому будет применяться аудит событий. К ним можно отнести следующие.
По умолчанию для аудита выбраны следующие основные разрешения:
- Чтение и выполнение
- Содержимое папки списка
- Read
- Кроме того, с помощью выбранной комбинации аудита можно выбрать любое сочетание следующих разрешений:
- Полный контроль
- Изменение
- Write
Я думаю, многие сталкивались с задачей, когда к Вам приходят и спрашивают: «У нас тут файл пропал на общем ресурсе, был и не стало, похоже кто-то удалил, Вы можете проверить кто это сделал?» В лучшем случае вы говорите, что у вас нет времени, в худшем пытаетесь найти в логах упоминание данного файла. А уж когда включен файловый аудит на файловом сервере, логи там, мягко говоря «ну очень большие», и найти что-то там — нереально.
Вот и я, после очередного такого вопроса (ладно бекапы делаются несколько раз в день) и моего ответа, что: «Я не знаю кто это сделал, но файл я Вам восстановлю», решил, что меня это в корне не устраивает…
Начнем.
Для начала включим к групповых политиках возможность аудита доступа к файлам и папкам.
Локальные политики безопасности->Конфигурация расширенной политики безопасности->Доступ к объектам
Включим «Аудит файловой системы» на успех и отказ.
После этого на необходимые нам папки необходимо настроить аудит.
Проходим в свойства папки общего доступа на файловом сервере, переходим в закладку «Безопасность», жмем «Дополнительно», переходим в закладку «Аудит», жмем «Изменить» и «Добавить». Выбираем пользователей для которых вести аудит. Рекомендую выбрать «Все», иначе бессмысленно. Уровень применения «Для этой папки и ее подпапок и файлов».
Выбираем действия над которыми мы хотим вести аудит. Я выбрал «Создание файлов/дозапись данных» Успех/Отказ, «Создание папок/дозапись данных» Успех/отказ, Удаление подпапок и файлов и просто удаление, так же на Успех/Отказ.
Жмем ОК. Ждем применения политик аудита на все файлы. После этого в журнале событий безопасности, будет появляться очень много событий доступа к файлам и папкам. Количество событий прямопропорционально зависит от количества работающих пользователей с общим ресурсом, и, конечно же, от активности использования.Итак, данные мы уже имеем в логах, остается только их оттуда вытащить, и только те, которые нас интересуют, без лишней «воды». После этого акурратно построчно занесем наши данные в текстовый файл разделяя данные симовлами табуляции, чтобы в дальнейшем, к примеру, открыть их табличным редактором.
А теперь очень интересный скрипт.
Скрипт пишет лог об удаленных файлах.
Т.е. берутся все события с ID 4660. У них берется 2 свойства, время создания и порядковый номер.
Далее в цикле по одному берется каждое событие 4660. Выбирается его свойства, время и порядковый номер.
Далее в переменную $PrevEvent заносится номер нужного нам события, где содержится нужная информация об удаленном файле. А так же определяются временные рамки в которых необходимо искать данное событие с определенным порядковым номером (с тем самым который мы занесли в $PrevEvent). Т.к. событие генерируется практически одновременно, то поиск сократим до 2х секунд: + — 1 секунда.
(Да, именно +1 сек и -1 сек, почему именно так, не могу сказать, было выявлено экспериментально, если не прибавлять секунду, то некоторые может не найти, возможно связано с тем, что возможно два эти события могут создаваться один раньше другой позже и наоборот).
Сразу оговорюсь, что искать только по порядковому номеру по всем событиям в течении часа — очень долго, т.к. порядковый номер находиться в теле события, и чтобы его определить, нужно пропарсить каждое событие — это очень долго. Именно поэтому необходим такой маленький период в 2 секунда (+-1сек от события 4660, помните?).
Именно в этом временном промежутке ищется событие с необходимым порядковым номером.
После того как оно найдено, работают фильтры:Т.е. не записываем информацию об удаленных временных файлах (.*tmp), файлах блокировок документов MS Office (.*lock), и временных файлах MS Office (.*
$*)
Таким же образом берем необходимые поля из этого события, и пишем их в переменную $BodyL.
После нахождения всех событий, пишем $BodyL в текстовый файл лога.Для лога удаленных файлов я использую схему: один файл на один месяц с именем содержащим номер месяца и год). Т.к. удаленных файлов в разы меньше чем файлов к которым был доступ.
В итоге вместо бесконечного «рытья» логов в поисках правды, можно открыть лог-файл любым табличным редактором и просмотреть нужные нам данные по пользователю или файлу.
Рекомендации
Вам придется самим определить время в течении которого вы будете искать нужные события. Чем больше период, тем дольше ищет. Все зависит от производительности сервера. Если слабенький — то начните с 10 минут. Посмотрите, как быстро отработает. Если дольше 10 минут, то либо увеличьте еще, вдруг поможет, либо наоборот уменьшите период до 5 минут.
После того как определите период времени. Поместите данный скрипт в планировщик задач и укажите, что выполнять данный скрипт необходимо каждые 5,10,60 минут (в зависимости какой период вы указали в скрипте). У меня указано каждый 60 минут. $time = (get-date) — (new-timespan -min 60).
Запускаем редактор групповых политик
Для этого в Windows 10 или Server 2012 R2 кликаем правой кнопкой мыши по Пуск и нажимаем Панель управления:
В более ранних версиях Windows кликаем по Пуск и выбираем Панель управления:
Теперь открываем Система и безопасность:
И выбираем Локальная политика безопасности:
* Совет: редактор групповых политик можно открыть через командную строку командой gpedit.msc.
* Нюанс: в доменной среде с сервером Active Directory необходимо открывать групповые политики на стороне контроллера домена и применять их к серверам или компьютерам компании.
Настраиваем политику
Раскрываем Конфигурация компьютера - Конфигурация Windows - Параметры безопасности - Локальные политики - Политика аудита:
В окне справа кликаем дважды по Аудит доступа к объектам:
В открывшемся окне ставим галочки на Успех и Отказ:
Нажимаем OK и закрываем редактор управления групповыми политиками.
Настраиваем аудит для файлов и папок
Кликаем правой кнопкой мыши по папке, для которой нужно настроить аудит и выбираем Свойства:
Переходим на вкладку Безопасность:
Нажимаем по Дополнительно:
В открывшемся окне переходим на вкладку Аудит и нажимаем Продолжить:
Кликаем по Выберите субьект:
и выбираем учетную запись или группу пользователей, для которых необходимо установить аудит, например, все:
Нажимаем OK и выставляем галочки напротив действий, для которых система будет протоколировать события:
Иногда бывает необходимо понять кто удалил/изменил/переименовал конкретный файл или папку. В ОС Windows для этого используется аудит доступа к объектам.
Аудит это запись в специальные журналы информации об определенных событиях (источник, код события, успешность, объект и т.д. ). Объектом аудита может являться как любой файл или папка, так и определенное событие, например вход в систему или выход из нее, то есть можно записывать все события происходящие с конкретным файлом или папкой - чтение, запись, удаление и т.д., можно события входа в систему и т.д.
Необходимо понимать, что аудит забирает на себя.
Для того, чтобы можно было настраивать аудит файлов и папок необходимо предварительно включить эту возможность через локальные (или в случае если у Вас используется Microsoft AD групповые) политики безопасности.
В случае локальных политик необходимо запустить оснастку “Локальная политика безопасности”, для этого необходимо нажать комбинацию клавиш Win+R, в открывшееся поле ввести secpol.msc и нажать клавишу Enter.
В открывшейся оснастке в дереве слева необходимо перейти в раздел “Локальные политики” - “Политика аудита”.
Далее необходимо выбрать необходимую нам политику - в данном случае это “Аудит доступа к объектам”. Именно этой политикой регулируется доступ к объектам файловой системы (файлам и папкам) и раскрыть ее двойным щелчком мыши. В открывшемся окне необходимо выбрать какие именно типы событий будут регистрироваться - “Успех” (разрешение на операцию получено) и/или “Отказ” - запрет операции и проставить соответствующие галочки, после чего нажать “Ок”.
Теперь когда включена возможность ведения аудита интересующих нас событий и их тип можно переходить к настройке самих объектов - в нашем случае файлов и папок.
Для этого необходимо открыть свойства файла или папки, перейти на вкладку “Безопасность”, нажать “Дополнительно” и “Аудит”.
Нажимаем “Добавить” и начинаем настраивать аудит.
Сначала выбираем субъект - это чьи действия будут аудироваться (записываться в журнал аудита).
Можно вписать туда имя пользователя или группы, если имя заранее неизвестно, то можно воспользоваться кнопкой “Дополнительно” которая открывает форму поиска где можно выбрать интересующих нас пользователей и группы. Чтобы контролировались действия всех пользователей необходимо выбрать группу “Все”.
Далее необходимо настроить тип аудируемых событий (Успех, Отказ, Все), также область область применения для аудита папок - только эта папка, папка с подпапками, только подпапки. только файлы и т.д., а также сами события аудита.
Для папок поля такие:
А такие для файлов:
После этого начнется сбор данных аудита. Все события аудита пишутся в журнал “Безопасность”. Открыть его проще всего через оснастку “Управление компьютером” compmgmt.msc.
В дереве слева выбрать “Просмотр событий” - “Журналы Windows” - “Безопасность”.
Каждое событие ОС Windows имеет свой код события. Список событий достаточно обширен и доступен на сайте Microsoft либо в интернете. Например события аудита можно посмотреть здесь.
Попробуем например найти событие удаления файла, для этого удалим файл на котором предварительно настроен аудит (если это не тестовые файл, то не забываем сделать его копию, так как аудит это всего лишь информация о действиях, а не разрешение/запрет этих действий). Нам нужно событие с кодом 4663 - получение доступа к объекту, у которого в поле Операции доступа Написано “DELETE” . Поиск событий в журналах Windows достаточно сложен, поэтому обычно используются специализированные средства анализа - системы мониторинга, скрипты и т.д.
Вручную можно, например, задать например такой фильтр:
Далее в отфильтрованных событиях необходимо найти интересующее нас по имени объекта.
Открыть его двойным щелчком мыши и увидеть кто удалил данный файл в поле субъект.
Читайте также: