Как найти кто удалил документы

Как узнать, кто удалил файл

Работая в офисе, когда все компьютеры объединены в одну сеть, когда к папкам и файлам имеют доступ и другие сотрудники фирмы, рискуешь в один прекрасный день не найти нужный файл, папку или документ. И тогда возникает вопрос: куда он делся, кто мог его удалить? Можно ли получить информацию о том, кто удалил файл с вашего компьютера? Можно, необходимо лишь включить аудит доступа к файлам и папкам.

Как узнать, кто удалил файл

Вам понадобится

  • Персональный компьютер, доступ от имени администратора

Инструкция

Для этого вам необходимо зайти в меню «Пуск» и кликнуть по опции «Панель управления». В открывшемся окне выбираете опцию «Производительность и обслуживание», в Windows 7 нужно выбрать «Система и безопасность». Перейдите по вкладке к пункту «Администрирование» и откройте его двойным щелчком левой кнопки мыши. В открывшемся окне выберите пункт «Локальная политика безопасности». Если окно не открылось при двойном клике левой кнопки мыши, то кликните правой кнопкой и откройте вход от имени администратора. В новом окне щелкаете по папке «Локальные политики» и далее выбираете папку «Политика аудита». Осталось сделать клик по пункту «Аудит доступа к объектам».

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

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

Видео по теме

Источники:

  • Вопрос, как узнать кто удалил папку

Войти на сайт

или

Забыли пароль?
Еще не зарегистрированы?

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Иногда возникает вопрос когда, что и кто из пользователей совершил ту или иную операцию, действие в программе 1С. Кто провел документ? Кто отменил проведение документа? Кто удалил документ? Кто переместил документ на другую дату? и т.д. Стандартный журнал регистрации может ответить на эти вопросы. В журнале, правда, дается не полная информация о действии. Например, нельзя узнать какую номенклатурную позицию добавил пользователь в документ, но зато точно можно узнать открывал и вносил ли изменения пользователь в документ, справончик, регистр.
Итак, как отрыть журнал регистрации? Меню СЕРВИС — ЖУРНАЛ РЕГИСТРАЦИИ.
Собрана абсолютно вся информация о всех действиях в программе всех пользователей.
В журнале можно установить отбор по: дате, пользователю, документу, др. доступным полям.
Для точечного поиска необходимого объекта рекомендуем воспользоваться фильтром, встроенным в журнал.

Журнал очень удобен тем, что позволяет аккумулировать информацию практически неограниченный промежуток времени. Но это в свою очередь может негативно отразится на производительности базы данных, если файл журнала 1С вырастит до неприлично больших размеров. Рекомендуется периодически сокращать (урезать) через конфигуратор журнал регистрации. Делается это просто. В режиме КОНФИГУРАТОР меню АДМИНИСТРИРОВАНИЕ — НАСТРОЙКА ЖУРНАЛА РЕГИСТРАЦИИ. Перед сокращением журнала обязательно сохраните обрезаемый кусок на компьютер. Сохранять или нет журнал на ПК 1С спросит в процессе настройки процедуры сокращения журнала.
Будьте внимательны! При Выгрузке — Загрузке информационной базы 1С журнал регистрации полностью самоочищается.

Как в 1С посмотреть историю изменения документа?

Иногда бывает необходимо узнать, кто и когда создавал/менял документ в информационной базе и т.п. В таких случаях нам поможет «Журнал регистраций».

В «Журнале регистраций» фиксируются основные действия, выполняемые в программе в определенный момент времени тем или иным пользователем.

Для того, чтобы посмотреть «Журнал регистрации», заходим в «Администрирование» -> «Обслуживание» -> «Журнал регистрации»

1 копия.png

2 копия.png

В появившемся окне отражаются зафиксированные события в формате: Дата, Пользователь, Событие.

3 копия.png

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

4 копия.png

5 копия.png

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

История данных

Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.

Реализовано в версии 8.3.11.2867.

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

В каких сценариях нужна работа с историей данных

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

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

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

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

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

Чтобы не получалось так, что история изменения объектов занимает места больше, чем сами полезные объекты, с которыми вы работаете. Или чтобы не получалось так, что обеспечение этих функциональных возможностей приводит к значительному замедлению работы пользователей.

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

Есть и ещё одна особенность, которая связана не с функциональностью, и не с техническими требованиями, а со спецификой рынка 1С:Предприятия. Можно придумать очень хороший механизм, который и работать будет быстро, и функциональность будет иметь большую. Но если для его настройки, включения и обслуживания понадобятся значительные технические знания, это может свести на нет все его преимущества.

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

Какие возможности для анализа истории уже существуют в платформе

Главный инструмент, который вы можете использовать для анализа того, «что происходит в системе», это журнал регистрации. В числе прочего он регистрирует факты изменения данных. То есть можно узнать, кто и когда изменил данные некоторого объекта. Но его возможности в обсуждаемой области на этом и заканчиваются, потому что по журналу регистрации нельзя понять, какой именно реквизит был изменён, какое было его предыдущее состояние. И уж тем более нельзя с помощью журнала регистрации восстановить предыдущее состояние реквизита или всего объекта.

Другой инструмент, который существует довольно давно и есть во всех тиражных решениях, это БСП – библиотека стандартных подсистем. В её составе есть подсистема версионирования объектов. Эта подсистема содержит все перечисленные функции, однако она имеет некоторые практические ограничения.

Во-первых, она является частью библиотеки, поэтому её внедрение в прикладное решение требует участия квалифицированного разработчика. Хорошо, если БСП изначально присутствует в прикладном решении. Но если её там нет, администратор, или, тем более, квалифицированный пользователь, не смогут самостоятельно её внедрить.

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

Преимущества решения, встроенного в платформу

Когда мы проанализировали имеющуюся ситуацию, имеющийся опыт использования БСП, взвесили все «за» и «против», мы пришли к выводу, что наиболее эффективным решением будет реализовать историю данных в составе самой технологической платформы. Это позволит достичь следующих преимуществ:

  • Чтобы воспользоваться этим механизмом администратору или пользователю не придётся изменять конфигурацию, всё необходимое уже есть в платформе. Нужно только включить.
  • Этот механизм будет работать быстрее, чем аналоги, реализованные в составе конфигурации, т.к. он будет использовать возможности, недоступные из встроенного языка.
  • Сама история данных будет занимать меньше места, так как будет храниться не копия данных, а только их разница с предыдущей версией. Кроме этого само версионирование можно применять не ко всем реквизитам, а только к тем, которые интересуют. Это также даст дополнительную экономию.
  • Можно будет поддержать версионирование не только тех объектов, которые обладают уникальной ссылкой (справочники, документы и т.п.), но и необъектных сущностей, таких как записи регистров сведений, например.

Основные сведения о механизме

Механизм истории данных полностью реализован внутри платформы, не требует какой-либо установки дополнительных программных средств, в любой момент готов к работе, но, по умолчанию, не включён.

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

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

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

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

Кроме изменений данных мы храним ещё и метаданные объекта на момент записи версии. Это нужно для того, чтобы корректно строить отчёты по объектам, которые были записаны в другом состоянии конфигурации. Например, когда одни реквизиты назывались по-другому, других реквизитов не было, а третьи присутствовали, но впоследствии были удалены.

Обработка изменения данных

Процесс создания версии данных состоит из двух этапов. Сначала, когда вы записываете объект (например, документ), формируется специальное сообщение, которое помещается в очередь. Этот этап выполняет платформа, разработчик в нём не участвует.

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

Для того чтобы таким образом обработать очередь, у менеджера истории данных (МенеджерИсторииДанных) есть метод ОбновитьИсторию(). Мы предполагаем, что вы будете использовать его так же, как похожий метод, предназначенный для обновления индекса полнотекстового поиска. То есть обновлять историю вы будете в некотором регламентном задании, которое выполняется с определённой периодичностью.

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

Пользовательский интерфейс

В пользовательском интерфейсе 1С:Предприятия новый механизм называется История изменений. Он включает в себя несколько форм, которые позволяют выполнять те действия, которые были перечислены в начале этой статьи.

Список версий по конкретному объекту

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

04.png

Она позволяет увидеть список всех изменений (версий) объекта.

03.png

В колонке Источник изменений может быть указан также узел плана обмена, если изменение было выполнено в узле, и «приехало» в эту базу в результате обмена данными.

В этом списке, в колонке Комментарий, вы можете указать произвольный комментарий, который поможет вам в расследовании каких-то ситуаций.

Отбор версий

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

08.png

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

Отчёт о данных версии

Вы можете открыть любую версию объекта, чтобы посмотреть её данные.

05.png

Данные будут представлены специальным отчётом, в котором подсвечиваются значения, изменённые по отношению к предыдущей версии.

Отчёт о разнице между версиями

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

06.png

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

07.png

Программный интерфейс

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

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

Настройки = Новый НастройкиИсторииДанных; Настройки.Использование = Истина; Настройки.ИспользованиеПолей.Вставить(«Комментарий», Истина); Настройки.ИспользованиеПолей.Вставить(«Товары.Цена», Истина); ИсторияДанных.УстановитьНастройки(Метаданные.Документы.Заказ, Настройки);

После того, как изменения объекта записаны в историю, вы можете просмотреть версии объекта. При этом, как и в пользовательском интерфейсе, вы можете использовать гибкие возможности отбора. В том числе вы можете отбирать версии по идентификатору транзакции из журнала регистрации. Мы добавили такую возможность для совместной работы этих механизмов. Если вы видите какое-то событие в журнале регистрации, вы можете связать его с соответствующим событием в истории данных и посмотреть, что же там происходило.

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

Отбор = Новый Структура(«Данные, ИзменениеЗначенийПолей»); Отбор.Данные = Документы.Заказ.НайтиПоНомеру(«0000001»); Отбор.ИзменениеЗначенийПолей = Новый Массив; Отбор.ИзменениеЗначенийПолей.Вставить(«ПозицииЗаказа.Количество»); Версии = ИсторияДанных.ВыбратьВерсии(Отбор, «НомерВерсии, Дата, ТипИзменения, ИмяПользователя, Комментарий»);

После того, как нужная версия найдена (её идентификатором является номер версии), вы можете получить её данные, сравнить с другой версией или восстановить объект по найденной версии с помощью метода СформироватьПоВерсии().

С помощью аудита событий доступа к объектам файловой системы вы можете определить конкретного пользователя, который создал, удалил или изменил определенный файл. В этой статье мы покажем, как настроить аудит событий удаления объектов в общей сетевой папке на Windows Server 2016. После настройки аудита, вы можете с помощью информации в журнале событий найти пользователя, который удалил на файловом сервере.

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

Содержание:

  • Включаем политику аудита доступа к файлам и папкам в Windows
  • Настройка аудита событий удаления файлов из конкретной папки
  • Запись событий удаления файлов в SQL базу (MySQL/MSSQL)
  • Запись информации о событиях удаления файлов в текстовый файл

Включаем политику аудита доступа к файлам и папкам в Windows

По умолчанию в Windows Server не включен аудит событий доступа к объектам на файловой системе. Вы можете включить и настроить аудит событий с помощью групповой политики. Если нужно включить политики аудита на нескольких серверах или компьютера, можно использовать доменные GPO (настраиваются с помощью консоли управления gpmc.msc). Если нужно настроить аудит только на одном сервере, можно воспользоваться локальной групповой политикой.

  1. Запустите консоль редактора локальной политики –
    gpedit.msc
    ;
  2. Перейдитевраздел GPO срасширенными политиками аудита Windows Settings -> Security Settings -> Advanced Audit Policy Configuration -> Object Access;
  3. Откройте политику Audit File System и укажите, что вы хотите сохранять в журнал только успешные события доступа к объектам файловой системы (Configure the following audit events -> Success);

    Также можно включить аудит доступа к локальным объектам с помощью политики Audit Object Access в разделе Windows Settings -> Security Settings -> Local Policy -> Audit Policy. Однако использование политики Audit File System предпочтительнее, поскольку она отслеживает только события NTFS.

    включить политику аудита доступа к сетевым папкам в windows server

  4. Сохраните изменения и обновите настройки локальной групповой политики с помощью команды
    gpupdate /force
    .

Настройка аудита событий удаления файлов из конкретной папки

Теперь нужно настроить аудит в свойствах общей сетевой папки, доступ к которой вы хотите отслеживать. Запустите проводник и откройте свойства общей папки. Перейдите на вкладку Security. Нажмите кнопку Advanced -> вкладка Auditing.

Если появится сообщение You must be an administrator or have been given the appropriate privileges to view the audit properties of this object, нажмите кнопку Continue.

настройка аудита доступа к сетевой папке в windows

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

Затем нужно указать использование каких разрешений доступа к объекту нужно записывать в лог. Чтобы сохранять в Event Log только события удаления файлов, нажмите кнопку Show advanced permissions. В списке событий оставьте аудит только для событий удаления папок и файлов — Delete и Delete subfolders and files.

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

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

Совет. Вы можете настроить аудит удаления файлов в папке с помощью через PowerShell:

$Path = "D:Public"
$AuditChangesRules = New-Object System.Security.AccessControl.FileSystemAuditRule('Everyone', 'Delete,DeleteSubdirectoriesAndFiles', 'none', 'none', 'Success')
$Acl = Get-Acl -Path $Path
$Acl.AddAuditRule($AuditChangesRules)
Set-Acl -Path $Path -AclObject $Acl

Теперь, если пользователь удалит любой файл или папку в сетевой папке, в журнале безопасности системы появляется событие File System -> Audit Succes c Event ID 4663 от источника Microsoft Windows security auditing.

Откройте mmc консоль Event Viewer (
eventvwr.msc
), разверните секцию Windows Logs -> Security. Включите фильтр событий по EventID 4663.

событие с кодом 4663 - удаление файла

Откройте любой их оставшихся событий в Event Viewer. Как вы видите, в нем есть информация об имени удаленного файла и учетной записи пользователя, который удалил файл.

An attempt was made to access an object.
Subject:
Security ID:                            CORPaaivanov
Account Name:                     aaivanov
 Account Domain:                  CORP
Logon ID:                               0x61B71716
Object:
Object Server:                        Security
Object Type:                          File
Object Name:                        E:DistrBackup.rar
Handle ID:                              0x7bc4
Resource Attributes:            S:AI
Process Information:
Process ID:                             0x4
Process Name:
Access Request Information:
Accesses:                               DELETE
Access Mask:                         0x10000

кто удалил общий файл в сетевой папке

После настройки аудита, найдите в журнале Security вы сможете найти с:

  • Кто и когда удалил файл в сетевой папке;
  • Из какого приложения удален файл;
  • На какой момент времени нужно восстанавливать бэкап данного каталога.

Запись событий удаления файлов в SQL базу (MySQL/MSSQL)

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

Вы можете записывать все нужные событий в отдельную SQL базу данных. Для хранения событий можно использовать Microsoft SQL Server, Elasticsearch или MySQL/MariaDB.

В этом примере мы покажем, как записывать события аудита в отдельную таблицу БД на сервере MySQL. Формат таблицы:

  • Имя сервера;
  • Имя удаленного файла
  • Время удаления;
  • Имя пользователя, удалившего файл.

MySQL запрос на создание такой таблицы будет выглядеть так:

CREATE TABLE track_del (id INT NOT NULL AUTO_INCREMENT, server VARCHAR(100), file_name VARCHAR(255), dt_time  DATETIME, user_name VARCHAR(100),  PRIMARY KEY (ID));

Для получения событий с EventID 4663 из журнала Security за текущий день можно использовать такой PowerShell скрипт:

$today = get-date -DisplayHint date -UFormat %Y-%m-%d
Get-WinEvent -FilterHashTable @{LogName="Security";starttime="$today";id=4663} | Foreach {
$event = [xml]$_.ToXml()
if($event)
{
$Time = Get-Date $_.TimeCreated -UFormat "%Y-%m-%d %H:%M:%S"
$File = $event.Event.EventData.Data[6]."#text"
$User = $event.Event.EventData.Data[1]."#text"
$Computer = $event.Event.System.computer
}
}

Имеющиеся данные в событии удаления файла

Следующий PowerShell скрипт запишет полученные данные в БД MySQL на удаленном сервере:

Set-ExecutionPolicy RemoteSigned
Add-Type –Path ‘C:Program Files (x86)MySQLMySQL Connector Net 6.9.8Assembliesv4.5MySql.Data.dll'
$Connection = [MySql.Data.MySqlClient.MySqlConnection]@{ConnectionString='server=10.7.7.13;uid=posh;[email protected];database=aduser'}
$Connection.Open()
$sql = New-Object MySql.Data.MySqlClient.MySqlCommand
$sql.Connection = $Connection
$today = get-date -DisplayHint date -UFormat %Y-%m-%d
Get-WinEvent -FilterHashTable @{LogName="Security";starttime="$today";id=4663} | Foreach {
$event = [xml]$_.ToXml()
if($event)
{
$Time = Get-Date $_.TimeCreated -UFormat "%Y-%m-%d %H:%M:%S"
$File = $event.Event.EventData.Data[6]."#text"

$File = $File.Replace(‘’,’|’)
$User = $event.Event.EventData.Data[1]."#text"
$Computer = $event.Event.System.computer
$sql.CommandText = "INSERT INTO track_del  (server,file_name,dt_time,user_name ) VALUES ('$Computer','$File','$Time','$User')"
$sql.ExecuteNonQuery()
}
}
$Reader.Close()
$Connection.Close()

После сохранения событий во внешнюю базу данных, этот журнал можно очистить.

Теперь, чтобы узнать, кто удалил файл «document1 — Copy.DOC». Достаточно в консоли PowerShell выполнить следующий скрипт.

$DeletedFile = "%document1 - Copy.DOC%"
Set-ExecutionPolicy RemoteSigned
Add-Type –Path ‘C:Program Files (x86)MySQLMySQL Connector Net 6.9.8Assembliesv4.5MySql.Data.dll'
$Connection = [MySql.Data.MySqlClient.MySqlConnection]@{ConnectionString='server=10.7.7.13;uid=posh;[email protected];database=aduser'}
$Connection.Open()
$MYSQLCommand = New-Object MySql.Data.MySqlClient.MySqlCommand
$MYSQLDataAdapter = New-Object MySql.Data.MySqlClient.MySqlDataAdapter
$MYSQLDataSet = New-Object System.Data.DataSet
$MYSQLCommand.Connection=$Connection
$MYSQLCommand.CommandText="SELECT user_name,dt_time    from  track_del where file_name LIKE '$DeletedFile'"
$MYSQLDataAdapter.SelectCommand=$MYSQLCommand
$NumberOfDataSets=$MYSQLDataAdapter.Fill($MYSQLDataSet, "data")
foreach($DataSet in $MYSQLDataSet.tables[0])
{
write-host "User:" $DataSet.user_name "at:" $DataSet.dt_time
}
$Connection.Close()

В результате в консоли PS появится имя пользователя и время удаления файла.

Запрос PowerShell к mysql БД для получении инфомации о пользователе, удалившем файл

Примечание. Была обнаружена проблема — символ «» не записывается в БД, поэтому мы заменили его на «|». Соответственно если нужно вывести полный путь к файлу, при выборке из базы можно выполнить обратную замену:
$DataSet.file_name.Replace(‘|’,’’)
. Спасибо Alex Kornev за замечание!

Скрипт сброса данных из журнала в БД можно выполнять один раз в конце дня по планировщику или повесить триггер на событие удаления (On Event), что более ресурсоемко. Все зависит от требования к системе.

Совет. Нужно убедиться, что вы указали достаточно большой максимальный размер для журнала безопасности, чтобы в него помещались все события за день. Иначе придется запускать задания сброса данных из журнала в базу чаще, чем 1 раз в день, или вообще по триггеру. Для рабочих станция Maximum Log Size как правило стоит задать не менее 64 Мб, на северах – 262 Мб. Опцию перезаписи старых событий нужно оставить включенной (Overwrite events as needed).

Можно создать реагировать простую веб страницу на php для получения информации о событиях удаления файлов в более удобном виде. Задача решается силами любого php программиста за 1-2 часа.

Важный совет. При наличии в журнале информации об удалении файла пользователем не спешите однозначно интерпретировать его как преднамеренное или даже злонамеренное. Многие программы (особенно этим грешат программы пакета MS Office), при сохранении изменений, сначала создается временный файл, данные записываются в него, а старая версия файла удаляется. В этом случае имеет смысл дополнительной записи в БД имени процесса, которым было выполнено удаление файла (поле ProcessName события), и вести анализ событий удаления файлов с учетом этого факта. Либо можно фильтровать события от некоторых процессов, например, winword.exe, excel.exe и пр.

Запись информации о событиях удаления файлов в текстовый файл

Если вы не хотите вести отдельную БД, можно сохранять события аудита удалений файлов в текстовый лог файл. Воспользуйтесь таким PowerShell скриптом:

$Outfile = "C:psdelete-file-log.txt"
$today = get-date -DisplayHint date -UFormat %Y-%m-%d
Get-WinEvent -FilterHashTable @{LogName="Security";starttime="$today";id=4663} | Foreach {
$event = [xml]$_.ToXml()
if($event)
{
$Time = Get-Date $_.TimeCreated -UFormat "%Y-%m-%d %H:%M:%S"
$File = $event.Event.EventData.Data[6]."#text"
$User = $event.Event.EventData.Data[1]."#text"
$strLog = $Computer + " " + $File + " " +  $Time + " " +  $User
$strLog  | out-file $Outfile –append
}
}

лог со списком удаленных файлов в windows

[/alert]

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

Skip to content

Аудит удаленных файлов в Windows

Аудит удаленных файлов в Windows

Из этого туториала Вы узнаете, как проверять, кто удалил файл на компьютере под управлением Windows.

Наш учебник научит вас всем шагам, необходимым для включения функции аудита объектов на компьютере под управлением Windows 2012.

• Контроллер домена работает под управлением Windows 2012 R2.

• Доменные компьютеры работают под управлением Windows 7 и Windows 10.

Список оборудования:

В следующем разделе представлен список оборудования, использованного для создания этого учебника по Windows.

Все вышеперечисленное оборудование можно найти на сайте Amazon.

Windows Playlist:

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

Не забудьте подписаться на наш канал на YouTube FKIT.

Учебник по Windows:

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

Учебное пособие — настройка объекта аудита объектов групповой политики

Во-первых, нам нужно включить функцию аудита объектов для всего домена.

Следующие задачи были выполнены на контроллере домена под управлением Windows 2012 R2 с Active Directory.

Нажмите на меню Пуск, найдите и откройте инструмент управления групповой политикой.

На экране управления групповой политикой найдите папку с именем «Объекты групповой политики».

Щелкните правой кнопкой мыши объект групповой политики с именем Default Domain Policy и выберите опцию Edit.

Default Domain Policy

На экране редактора групповой политики вам будут представлены Конфигурации пользователя и Конфигурации компьютера.

Мы будем изменять только конфигурации компьютера.

Нам не нужно менять конфигурацию пользователя.

На экране редактора групповой политики разверните папку «Конфигурация компьютера» и найдите следующий элемент.

• Конфигурация компьютера> Политики> Параметры Windows> Параметры безопасности> Локальные политики> Политика аудита

GPO Audit Policy

Справа будет представлен список доступных опций конфигурации.

Windows 2012 audit deleted objects

Дважды щелкните элемент конфигурации с именем: Audit Object Access.

Включите следующие параметры безопасности:

• Определите эти параметры политики
• успех
• отказ

Audit Object Access Properties

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

Только когда вы закроете окно групповой политики, система сохранит вашу конфигурацию.

Учебник — Включение объекта аудита объектов групповой политики

Теперь нам нужно включить функцию аудита объектов для нужных файлов и папок.

В нашем примере мы собираемся включить аудит объекта в папке с именем TECHEXPERT.

Сначала создайте папку с именем TECHEXPERT.

Во-вторых, щелкните правой кнопкой мыши папку и выберите опцию «Свойства».

Windows Object Audit folder

На экране «Свойства» откройте вкладку «Безопасность» и нажмите кнопку «Дополнительно».

Windows audit deleted files- Security advanced

На экране «Дополнительные параметры безопасности» перейдите на вкладку «Аудит» и нажмите кнопку «Добавить».

Windows object add auditing

На новом экране нажмите на опцию Выбрать принципала.

Auditing entry file object

Введите группу с именем «Все» и нажмите кнопку «ОК».

Add group everyone

Выполните следующую конфигурацию:

• Тип — Все

• Относится к — эта папка, подпапки и файлы

Audit deleted files windows

В области «Дополнительные разрешения» выберите параметр «Показать дополнительные разрешения».

Windows Audit object basic permissions

В области «Расширенные права» включите только следующие параметры:

• Удалить подпапки и файлы.
• Удалять.

Windows audit deleted file and folders

Нажмите на кнопку ОК, чтобы закрыть Windows.

Нажмите на кнопку ОК.

Нажмите на кнопку ОК.

Перезагрузите компьютер, чтобы включить групповую политику аудита объектов.

В нашем примере мы включили аудит объекта в папку с именем TECHEXPERT.

Вы завершили необходимую настройку аудита объекта.

Учебник — Кто удалил мой файл?

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

Но вам все равно нужно узнать, как узнать, кто удалил ваши файлы.

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

Сначала давайте создадим текстовый файл с именем TEST.TXT внутри папки TECHEXPERT.

Windows audit deleted file

Теперь удалите файл TEST.TXT.

Откройте приложение Windows Event Viewer.

На экране просмотра событий разверните Журналы Windows и выберите параметр Безопасность.

Event Viewer

Щелкните правой кнопкой мыши журнал безопасности и выберите параметр «Найти».

Введите имя удаленного файла и нажмите кнопку «Найти».

Windows log find deleted files

Вы найдете ID 4663 средства просмотра событий с подробной информацией об удаленном файле.

Windows who deleted my file

В нашем примере мы обнаружили, что файл TEST.TXT был удален администратором.

VirtualCoin CISSP, PMP, CCNP, MCSE, LPIC22018-12-11T08:56:12-02:00

Related Posts

Page load link

This website uses cookies and third party services.

Ok

Содержание

  1. Как узнать кто удалил файл на компьютере
  2. Как узнать кто удалил файл на компьютере
  3. Лучший отвечающий
  4. Вопрос
  5. Как найти кто из пользователей удалил файлы с расшареной папки
  6. Аудит удаления и доступа к файлам и запись событий в лог-файл средствами Powershell
  7. Начнем.
  8. А теперь очень интересный скрипт.
  9. Рекомендации
  10. Аудит удаления файлов в сетевой папке на Windows Server
  11. Включаем политику аудита доступа к файлам и папкам в Windows
  12. Настройка аудита событий удаления файлов из конкретной папки
  13. Запись событий удаления файлов в SQL базу (MySQL/MSSQL)
  14. Запись информации о событиях удаления файлов в текстовый файл

Как узнать кто удалил файл на компьютере

Просмотр полной версии : Кто удаляет файлы?

Вирусов точно нет, т.к. стоит NOD32.
гы.
как самонадеяно.

Подробнее можно, какие файлы, как, когда удаляет. Пока версий много: начиная от мастера очиски рабочего стола (он, сцука, ярлыки трет :gigi: ), заканчивая NOD32.

Вам смешно. А меня пытаются подставить. Конечно есть свидетели, что я здесь ничего не удалял, да и вообще за компы не садился.
Подробнее можно, какие файлы, как, когда удаляет.
Всякие *.doc, exel`евские, картинки, файлы баз данных и т.п.

Помогите поймать вредителя.

Тип события: Аудит успехов
Источник события: Security
Категория события: Доступ к объектам
Код события: 560
Дата: 01.05.2006
Время: 18:41:56
Пользователь: NATASHAАдминистратор
Компьютер: NATASHA
Описание:
Открытие объекта:
Сервер объекта: Security
Тип объекта: File
Имя объекта: D:РусланКопия WineLinux College.files
Код дескриптора: 2276
Код операции: <0,727109>
Код процесса: 4
Имя файла рисунка:
Основной пользователь: NATASHA$
Домен: COMPAUD
Код входа: (0x0,0x3E7)
Пользователь-клиент: Администратор
Домен клиента: NATASHA
Код входа клиента: (0x0,0xA7881)
Доступ DELETE

Жаль, что не пишет с какой машины произведено удаление.

Жаль, что не пишет с какой машины произведено удаление.

Всё прекрасно пишет. Комп «NATASHA».
NaimaD1146518236
Компьютер: NATASHA

Жаль, что не пишет с какой машины произведено удаление.

Всё прекрасно пишет. Комп «NATASHA».

В пакет friendly pinger http://www.kilievich.com/fpinger/ входит логгер сетевых подключений. (по IP)
Сожно попробовать.

Или чтоб наверняка, filemon от sysinternals. Так определишь приложение, которое удаляет. но придется ловить момент.

Источник

Как узнать кто удалил файл на компьютере

Этот форум закрыт. Спасибо за участие!

trans

Лучший отвечающий

trans

Вопрос

trans

trans

Постараюсь как можно точнее описать проблему.

Есть сервер, на котором стоит Windows 2003 Standart лицензионный. Домены не используются, только рабочая группа. На сервере есть росшариная папка в которой хранятся документы разных отделов предприятия. В эту папку по сети все входят по одному логину и паролю (ну так легче запомнить сотрудникам). Пару дней назад начали пропадать папки, тоесть кто-то их удаляет постоянно.

Я делаю копии автоматически каждый день всего каталога. Но нужно найти человека который удаляет папки.

В логах Security видно например такое:

Event Type: Success Audit
Event Source: Security
Event Category: Object Access
Event ID: 560
Date: 15.12.2011
Time: 12:09:08
User: PROXYbib
Computer: PROXY
Description:
Object Open:
Object Server: Security
Object Type: File
Object Name: F:OBMINДокументытестовый файл на удаление.txt
Handle ID: 2156
Operation ID: <0,26707543>
Process ID: 4
Image File Name:
Primary User Name: PROXY$
Primary Domain: LIBRARY
Primary Logon ID: (0x0,0x3E7)
Client User Name: Administrator
Client Domain: PROXY
Client Logon ID: (0x0,0x18DD64B)
Accesses: DELETE
ReadAttributes
Privileges: SeBackupPrivilege
SeRestorePrivilege
Restricted Sid Count: 0
Access Mask: 0x10080

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

В таком логе видно и имя компьютера и даже IP адресс его.

Источник

Как найти кто из пользователей удалил файлы с расшареной папки

Всем здравствуйте кто будет это читать. Сложилась такая ситуация, из локальной расшареной папки были удалены документы, есть предположение с какого пк это было сделано, Как можно их восстановить, либо просто доказать что это было сделано именно с этого пк и именно с этой учетки, документы не такие важные, а вот узнать хотелось бы (со стороны сервера так же можно и со стороны ПК пользователя).

По вариантам как это можно было сделать:
1) теневые копии у нас отключены, места столько нет на восстановления
2) функция аудита вообще вырезана из серверной ОС, потому что он ее не потянет
3) единственный способ нашел это папка reseit вроде или как она пишется там
4) на сторонее ПО бюджет нам не выделят.

используется: windows server 2003, и windows 7

По любому винда пишет какие ты места посещал по умолчанию

Получить список пользователей расшареной папки
Здравствуйте форумчане. Создал программу получающую список расшаренных папок(«Общий доступ. «) на.

Я удалил файлы из папки WinSxS
Вообщем, я немного дурачёк. Я удалил файлы из папки winsxs. Это повлекло за собой череду проблем.

Как для пользователей домена скрыть файлы и папки, находящиеся на диске C, панель управления и её элементы?
Добрый день все уважаемые, как возможно реализовать следующую задумку с GPO, а именно: Для.

Разрешение на использование расшареной папки только некоторым пользователям в сети
Дано : Сервер 2008 с удаленным подключением и 22 пользователя удаленки. 10 ПК в офисе с общим.

Источник

Аудит удаления и доступа к файлам и запись событий в лог-файл средствами Powershell

Начнем.

Для начала включим к групповых политиках возможность аудита доступа к файлам и папкам.
Локальные политики безопасности->Конфигурация расширенной политики безопасности->Доступ к объектам
Включим «Аудит файловой системы» на успех и отказ.
После этого на необходимые нам папки необходимо настроить аудит.
Проходим в свойства папки общего доступа на файловом сервере, переходим в закладку «Безопасность», жмем «Дополнительно», переходим в закладку «Аудит», жмем «Изменить» и «Добавить». Выбираем пользователей для которых вести аудит. Рекомендую выбрать «Все», иначе бессмысленно. Уровень применения «Для этой папки и ее подпапок и файлов».
Выбираем действия над которыми мы хотим вести аудит. Я выбрал «Создание файлов/дозапись данных» Успех/Отказ, «Создание папок/дозапись данных» Успех/отказ, Удаление подпапок и файлов и просто удаление, так же на Успех/Отказ.
Жмем ОК. Ждем применения политик аудита на все файлы. После этого в журнале событий безопасности, будет появляться очень много событий доступа к файлам и папкам. Количество событий прямопропорционально зависит от количества работающих пользователей с общим ресурсом, и, конечно же, от активности использования.

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

А теперь очень интересный скрипт.

Скрипт пишет лог об удаленных файлах.

Как оказалось при удалении файлов и удалении дескрипторов создается одно и тоже событие в логе, под При этом в теле сообщения могут быть разные значения «Операции доступа»: Запись данных (или добавление файла), DELETE и т.д.
Конечно же нас интересует операция DELETE. Но и это еще не все. Самое интересное, то что, при обычном переименовании файла создается 2 события с ID 4663, первое с Операцией доступа: DELETE, а второе с операцией: Запись данных (или добавление файла). Значит если просто отбирать 4663 то мы будем иметь очень много недостоверной информации: куда попадут файлы и удаленные и просто переименованные.
Однако мной было замечено, что при явном удалении файла создается еще одно событие с ID 4660, в котором, если внимательно изучить тело сообщения, содержится имя пользователя и еще много всякой служебной информации, но нет имени файла. Зато есть код дескриптора.
13ffeb99415571ed236600473885e7e4
Однако предшествующим данному событию было событие с ID 4663. Где как раз таки и указывается и имя файла, и имя пользователя и время, и операция как не странно там DELETE. И самое главное там имеется номер дескриптора, который соответствует номеру дескриптора из события выше (4660, помните? которое создается при явном удалении файла). Значит теперь, чтобы точно знать какие файлы удалены, необходимо просто найти все события с ID 4660, а так же предшествующие каждому этому событию, событие с кодом 4663, в котором будет содержаться номер нужного дескриптора.
1e9ef6ef3da6da6312f06f4abb6909bc
Эти 2 события генерируются одновременно при удалении файла, но записываются последовательно, сначала 4663, потом 4660. При этом их порядковые номера различаются на один. У 4660 порядковый номер на единицу больше чем у 4663.
Именно по этому свойству и ищется нужное событие.
f0c424354c8ff6c597f526a16c36ddce

Т.е. не записываем информацию об удаленных временных файлах (.*tmp), файлах блокировок документов MS Office (.*lock), и временных файлах MS Office (.*

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

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

Рекомендации

Вам придется самим определить время в течении которого вы будете искать нужные события. Чем больше период, тем дольше ищет. Все зависит от производительности сервера. Если слабенький — то начните с 10 минут. Посмотрите, как быстро отработает. Если дольше 10 минут, то либо увеличьте еще, вдруг поможет, либо наоборот уменьшите период до 5 минут.

Источник

Аудит удаления файлов в сетевой папке на Windows Server

С помощью аудита событий доступа к объектам файловой системы вы можете определить конкретного пользователя, который создал, удалил или изменил определенный файл. В этой статье мы покажем, как настроить аудит событий удаления объектов в общей сетевой папке на Windows Server 2016. После настройки аудита, вы можете с помощью информации в журнале событий найти пользователя, который удалил на файловом сервере.

Включаем политику аудита доступа к файлам и папкам в Windows

По умолчанию в Windows Server не включен аудит событий доступа к объектам на файловой системе. Вы можете включить и настроить аудит событий с помощью групповой политики. Если нужно включить политики аудита на нескольких серверах или компьютера, можно использовать доменные GPO (настраиваются с помощью консоли управления gpmc.msc). Если нужно настроить аудит только на одном сервере, можно воспользоваться локальной групповой политикой.

Настройка аудита событий удаления файлов из конкретной папки

Если появится сообщение You must be an administrator or have been given the appropriate privileges to view the audit properties of this object, нажмите кнопку Continue.

nastoyka audita setevoy papki

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

Затем нужно указать использование каких разрешений доступа к объекту нужно записывать в лог. Чтобы сохранять в Event Log только события удаления файлов, нажмите кнопку Show advanced permissions. В списке событий оставьте аудит только для событий удаления папок и файлов — Delete и Delete subfolders and files.

audit udaleniya failov v setevoy papke windows

sobitie 4663 udalenie faila

Откройте любой их оставшихся событий в Event Viewer. Как вы видите, в нем есть информация об имени удаленного файла и учетной записи пользователя, который удалил файл.

kto udalil fail v setevoy papke

После настройки аудита, найдите в журнале Security вы сможете найти с:

Запись событий удаления файлов в SQL базу (MySQL/MSSQL)

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

Вы можете записывать все нужные событий в отдельную SQL базу данных. Для хранения событий можно использовать Microsoft SQL Server, Elasticsearch или MySQL/MariaDB.

В этом примере мы покажем, как записывать события аудита в отдельную таблицу БД на сервере MySQL. Формат таблицы:

MySQL запрос на создание такой таблицы будет выглядеть так:

CREATE TABLE track_del (id INT NOT NULL AUTO_INCREMENT, server VARCHAR(100), file_name VARCHAR(255), dt_time DATETIME, user_name VARCHAR(100), PRIMARY KEY (ID));

Если вы хотите использовать Microsoft SQL, обратите внимание на статью “Как выполнить запрос к MSSQL Server из скрипта PowerShell?”.

Для получения событий с EventID 4663 из журнала Security за текущий день можно использовать такой PowerShell скрипт:

delete event

Следующий PowerShell скрипт запишет полученные данные в БД MySQL на удаленном сервере:

Теперь, чтобы узнать, кто удалил файл «document1 — Copy.DOC». Достаточно в консоли PowerShell выполнить следующий скрипт.

В результате в консоли PS появится имя пользователя и время удаления файла.

user who delete file on share

Можно создать реагировать простую веб страницу на php для получения информации о событиях удаления файлов в более удобном виде. Задача решается силами любого php программиста за 1-2 часа.

Запись информации о событиях удаления файлов в текстовый файл

Если вы не хотите вести отдельную БД, можно сохранять события аудита удалений файлов в текстовый лог файл. Воспользуйтесь таким PowerShell скриптом:

istoriya udaleniya failov v windows

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

page

page

page

mystery56

Предполагается, видимо, что MySQL уже установлен и настроен?
100 лет уже не имел дела с «мускулом»…

Да, конечно. Причем он даже под Windows ставится несколькими кликами.
В общем-то код и всю технику можно легко адаптировать и под MSSql, но с точки зрения зрения легкости, отдаю предпочтению мусклу.

mystery56

mystery56

Извини если туплю, но из статьи НЕ очевтдно

куда засунуть и как запустить скрипт
«Скрипт сбора информации из журнала событий. Мы фильтруем журнал по событию с ID 4663 за текущий день»

а за ним все остальные

Подразумевал, что раз в сутки планировщик (допустим в 23:58) запускает powershell скрипт, который получает все события за прошедшие сутки и пишет из в базу.
Т.е. в создаем задание планировщика, которое запускет программу C:WindowsSystem32WindowsPowerShellv1.0powershell.exe с аргументом в виде имени файла со вторым скриптом C:myscriptsWriteDelEventDB.PS1

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

mystery56

Что-то пошло не так. Или — что я сделал не так?
На первой же строке скрипта вылезает матершина:
(все делается под одним из Domain Admin аккаунтов)

+ CategoryInfo : NotSpecified: (:) [Get-WinEvent], Exception
+ FullyQualifiedErrorId : LogInfoUnavailable,Microsoft.PowerShell.Commands.GetWinEventCommand

+ CategoryInfo : ObjectNotFound: (Security:String) [Get-WinEvent], Exception
+ FullyQualifiedErrorId : NoMatchingLogsFound,Microsoft.PowerShell.Commands.GetWinEventCommand

+ CategoryInfo : NotSpecified: (:) [Get-WinEvent], EventLogException
+ FullyQualifiedErrorId : System.Diagnostics.Eventing.Reader.EventLogException,Microsoft.Power
Shell.Commands.GetWinEventCommand

mystery56

Пардону просим
Run As Administrator забыл сделать Ж-)

mystery56

Здравствуйте, отличная статья. Решал подобную задачу для сбора статистики с KMS сервера, но использовал связку PS и MSSQL Express. Через год работы наткнулся на проблему, что превысил лимит базы данных в 10Гб, в итоге сделал ротацию данных в БД Наверное в вашем случае тоже было бы неплохо предусмотреть удаление старых данных? Могу поделиться наработками, если интересно. 🙂

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

А инфой конечно, делитесь! Можно оформить отдельной статьей, думаю тема сбора и хранения статистики использования KMS сервера будет многим интересна.
Мой емайл есть на странице https://winitpro.ru/index.php/o-bloge/

mystery56

Странно как-то себя MySQL повел ….
Поставил, для удобства, Navicat Premium Enterprise 11.2.4
)
и получается как-то странно
если делать, этим Navicat, Export всей таблицы из базы, то в поле file_name попадает имя файла целиком (правда отделенное пробелом почему-то от всего остального)

«id» «server» «file_name» «dt_time» «user_name»
«1440» «AUDITTEST» «DeviceHarddiskVolume2TEST 0000.txt» «5.5.2016 12:12:24» «name»

а когда делаешь select … то имя файла обрезается до полного пути до него
SELECT track_del.file_name,track_del.dt_time,track_del.user_name FROM track_del
а на выходе
file_name dt_time user_name
DeviceHarddiskVolume2TEST 2016-05-05 12:12:24 name

Если присмотреться, то в поле file_name попадается пробел. И, походу, по нему и режется. А пока оно так себя ведет, дальше ничего не работает. То есть невозможно сделать LIKE по значению, которое не показывается

mystery56

Починил.
В скрипте, который заполняет таблицу в БД, вставил строку, которая меняет в имени файла, получаемого из Security Even Log’a все ‘’ на ‘|’ Вот здесь:

После этого имя файла перестало «теряться» и попадает в БД как надо 🙂

И потом, слегка «доработал» скрипт, который выдает результат. Мне плказалось так и красивее, и правильнее. Добавлен вывод имени файла с полным путем. с обратной заменой ‘|’ на ‘’

mystery56

А ведь это был _очень_неприятный баг MySQL, на самом деле

Файл, на котором я «тренировался», я назвал 00000.txt (5 нулей) и, в итоге, в базу из Event Log’a попадало вот что
DeviceHarddiskVolume2TEST 0000.txt
То есть при выполнении INSERT MySQL «выгрызал» все символы ‘’ и, более того делал из подстроки 0000.txt такое вот «[SPACE]0000.txt» типа пытался «интерпретировать по своему»?
А после того как я, предварительно, заменял все ‘’ на ‘|’ — все проходило как надо

Дмитрий, думаю не лишним будет или упомянуть об этой «особенности» или поправить скрипт, который заносит имя файла в таблицу БД.

mystery56

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

mystery56

mystery56

Странная команда в скрите
«Следующий скрипт запишет полученные данные в БД MySQL на удаленном сервере:»
вот эта

PowerShell ругается на нее. Наверное и правильно. Ведь закрывается то, что не открывалось.

mystery56

А для Win2k как сделать подобное?

В нем аудит естьт, политика безопасности — есть, а события 4663 не выдается (((

Может кто сталкивался?

ID события скорее всего другие, да и не факт что PowerShell вообще заведется на W2k..
ЗЫ. Закапывайте мамонта

MySQL запрос на создание такой таблицы будет выглядеть так:

CREATE TABLE track_del (id INT NOT NULL AUTO_INCREMENT, server VARCHAR(100), file_name VARCHAR(255), dt_time DATETIME, user_name VARCHAR(100), PRIMARY KEY (ID));
результат.
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near ‘AUTO_INCREMENT’.

mystery56

Здраствуйте. Никогда раньше ни делал ничего подобного. Со второго раза вроде получилось. У меня вопрос в событии у меня есть строка » 192.168.201.153″ как добавть дополнительный столбец в таблицу и как в него записывать Ip адресс?

mystery56

добрый день.
собран кластер на WS2016.
Есть CSV. Эту шару я и хочу логировать. Делаю все по инструкции, но когда что-либо оттуда удаляю, нет записи в логах Security.
Был ли опыт проведения аудита на кластерной шаре?
Спасибо. Хорошая статья.

Под рукой такой конфигурации нет. Могу посоветовать
1) проверить, что политики аудита применяются для обычных шар (записи в логе появляются).
2) в случае CSV возможно стоит проверять все логи на всех нодах кластера

mystery56

1) работает, идеально.
2) проверяю на всех, к сожалению нет.

mystery56

mystery56

Отличный каркас для работы с логами. После лёгкой косметической допилки всё полетело на MSSQL Express 2014 ADV (ставить на сервер вторую СУБД смысла нет). Бага с чир-символом в этой версии MSSQL нет. Всё загружается и выгружается чётко. 🙂
Спасибо автору))

mystery56

Спасибо! Очень полезная вещь!
Пожалуйста подскажите, как быть с кириллицей в имени каталогов и файлов? В таблице вместо кириллицы знаки вопроса «…. |. docx».

mystery56

Для правильного сохранения кириллицы добавьте в конец строки «charset=utf8»
Должно получится так
$Connection = [MySql.Data.MySqlClient.MySqlConnection]@

Отлично! Спасибо за полезную инфу!

mystery56

Доброго времени суток. Попробовал, все равно «. |. pdf» 🙁

mystery56

Спасибо огромное. Разобрался. Нужно было сменить кодировку в самой БД на utf8_unicode_ci.

mystery56

А что для визуализации данных и логов используете (графические дашборды, отчеты)?
С Elasticsearch обычно используют Kibana. А что у graylog как аналог?

mystery56

+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull

Какая ОС и версия PowerShell?

mystery56

Windows Server 2012 R2 6.3.9600.18969 64-разрядная
Version PS : 5.1.14409.1018

Странно у меня в такой же конфигурации все работает. Windows Server случайно не русская? Я такую принципиально не пользую, только eng.

mystery56

Нет. Проверил в 10-ке (правда «русской») — тоже такая же «петрушка»

Ну вот у меня код работает даже в русской Windows….
Запускаете в PowerShell ISE под админом?

mystery56

Да, под админом
Не работает

mystery56

А если удалять файлы с помощью Shift+DEL, то регистрируется только событие с id 4659. По крайней мере у меня на Windows Server 2012 так.

mystery56

$ ). Причём в качестве пользователя стоит имя сервера.
Ещё есть удаления целых каталогов (?!), тоже с именем сервера. В поле ProzessName стоит C:WindowsSystem32dfsrs.exe
Есть и удаления от конкретных пользователей, но от них идут несколько удалений одних и тех же файлов — это вероятно результаты неоднократных редактирований того же файла… При этом поле ProzessName вообще пустое!

mystery56

Колеги а как очистить журнал после того, как витянул данные с журнала?
Я же буду на постой дозаписывать то, что уже есть.

mystery56

Нужно искать пару : id 4663 а потом 4660 с аналогичным кодом дескриптора в двух событиях. Тогда это будет реальное удаление.
https://docs.microsoft.com/en-us/windows/security/threat-protection/auditing/event-4660

mystery56

Доброго времени, уважаемые коллеги!
У меня сервер 2008. Сделал всё как тут написано, получилось на ура. Но хотелось бы задать вопрос. В событиях по коду 4663 регистрируется только пользователь и действия с файлом, которые он инициировал. Но хотелось бы в событиях поиметь или имя компа или его айпишник. Думал, на 2008 серваке такого нет, а есть в более поздних серверных версиях, но нет. На работе посмотрел, также без айпишников логи ведутся.
Есть ли возможность добавить в событие 4663 IP или имя компа? Хочу вычислить, откуда вирусня прёт, а то в этой организации многие сидят под одним логином. Я говорю, давайте каждому учётку заведём. Нет, говорят. Нам так удобнее. Ну что с такими делать?

mystery56

Спасибо за статью. Пришлось исправить, т.к. у меня Server 2008 R2 (соответственно там старая версия Powershell), данные выгружаются в MySQL 5.0.95, который находится на другом старом Linux сервере:

1) В базе выполнил SQL-запрос:
SET SESSION old_passwords=0;
SET PASSWORD FOR db_user_name=PASSWORD(‘db_user_password’);

3) Создал задание в планировщике с такими параметрами:
Вкладка Общие:
-выполнять вне зависимости от регистрации пользователя
-выполнять с наивысшими правами
-выполнять от учетки админа домена

Вкладка Триггеры:
-начать задачу при событии
-Параметры: Простое, Журнал — Безопасность, Источник — Microsoft Windows security auditing, Код события — 4663
-внизу галочка — Включено

Вкладка Действия:
-Действие — Запуск программы
-Программа или сценарий: C:WindowsSystem32WindowsPowerShellv1.0powershell.exe
-Добавить аргументы: E:scriptsfile_del_to_db.ps1 (путь к скрипту)

Вкладка Параметры:
-Разрешать выполнение задачи по требованию
-Останавливать задачу, выполняемую дольше: 3 дн.
-Принудительная остановка задачи, если она не прекращается по запросу
-Если задача уже выполняется, то применять правило: Не запускать новый экземпляр.

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

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

Просьба к автору статьи, не могли бы Вы изменить скрипт так, чтобы данные в базу писались каждый день в отдельные таблицы или как-то по-другому их отделить, а также сделать исключение файлов, например, по расширению (а то пользователи напрямую открывают по сети файлы Microsoft Office и в базу потом пишутся записи об удалённых файлах *.tmp). Спасибо))).

mystery56

Спасибо за ответ. Не могу точно знать какие типы файлов там есть, т.к. структура папок огромная, всего примерно 2 млн. файлов))) Конечно и ненужные есть, но рыться там у меня нет желания, у каждого отдела своя папка… короче там чёрт ногу сломит))). Поэтому вышел из положения так:

1) Перенес базу на новый Linux сервер, там 10.3.28-MariaDB. В ней есть уже планировщик заданий.
2) В phpmyadmin создал задачу, которая каждый день в 00:00 удаляет из базы записи о файлах *.tmp.
Параметры задачи такие:

Название события: file_del_tmp_every_day
Состояние: ENABLED
Тип события: RECURRING
Выполнять каждые: 1 DAY
Начало: 2021-05-14 00:00:00
Конец: (Пусто)
Определение: delete from `db_name`.`track_del` where file_name like ‘%.tmp’
Сохранить при окончании: (Поставил галочку)
Определитель: root@localhost

Также нужно не забыть:
Статус планировщика событий: Включить

Пока пусть будет так. Правда с 14 мая 2021 до сегодня (21 мая 2021) размер базы 114 МБ и количество строк примерно 530000))). Жесть конечно, пока не знаю что с этим делать))).

Источник

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