- Как узнать, кто удалил файл на Windows Server 2012 R2: подробная инструкция
- Включаем политику аудита доступа к файлам и папкам в Windows
- Настройка аудита доступа
- Отслеживание удаления файлов
- Отслеживание событий удаления файлов
- Запись событий удаления файлов в SQL базу MySQL/MSSQL
- Настройка аудита событий удаления файлов из конкретной папки
- 1. Установка SQL Server и настройки базы данных
- 2. Включаем аудит событий удаления файлов
- 3. Создание таблицы для записи событий удаления файлов
- 4. Напишите скрипт Powershell для записи событий удаления файлов
- Автоматизация оповещения по событиям 11707
- Установка необходимых программ и настройка базы данных
- Создание скрипта для автоматического отслеживания событий
- Запуск скрипта и получение информации
- Видео:
- [Windows Server 2012 basics] Урок 15 — Файловый сервер
Как узнать, кто удалил файл на Windows Server 2012 R2: подробная инструкция
Уважаемые пользователи Windows Server 2012 R2! Если вы храните важные файлы на сервере, то крайне важно знать, кто удалил тот или иной файл. В этой статье мы расскажем вам подробную инструкцию о том, как узнать, кто удалил файл на Windows Server 2012 R2.
Для начала, вам понадобится база знаний о настройках вашего сервера. Убедитесь, что ваш сервер настроен в режиме «полного отслеживания» (Full Auditing). Данная настройка позволяет записывать все события, связанные с файловой системой. Если вы не уверены, включен ли данный режим на вашем сервере, вы можете просто проверить его настройки.
Для этого откройте «политику безопасности локальной системы» (Local Security Policy). Затем перейдите в раздел «Локальные политики» (Local Policies) и выберите «Аудит объектов файловой системы» (Audit Object Access). Включаем аудитирование событий удаления файлов и папок, а также фильтр на конкретную папку или файл.
Включаем политику аудита доступа к файлам и папкам в Windows
Чтобы узнать, кто удалил файл на Windows Server 2012 R2, можно включить политику аудита доступа к файлам и папкам. Это позволит вести запись событий удаления файлов и отслеживать, когда и кем были удалены файлы.
Настройка аудита доступа
- На сервере откройте «Панель управления».
- Выберите «Система и безопасность» и затем «Система».
- На левой панели выберите «Дополнительные параметры системы».
- В открывшемся окне выберите вкладку «Конфиденциальность» и нажмите кнопку «Настройка» в разделе «Аудит».
- В окне «Настройка аудита» выберите «Неуспешные попытки» и «Успешные попытки» в разделе «Успешность» и «Аудит доступа к объектам», затем нажмите «ОК».
- Система будет применять данные настройки ко всем файлам и папкам на сервере.
Отслеживание удаления файлов
После включения аудита доступа, вы сможете узнать, когда был удален файл, и кто это сделал. Для этого необходимо:
- Откройте Windows Explorer и найдите нужную папку или файл, который хотите отслеживать.
- Щелкните правой кнопкой мыши на папке или файле и выберите «Свойства».
- В открывшемся окне выберите вкладку «Безопасность» и нажмите кнопку «Дополнительно».
- В окне «Дополнительные параметры безопасности» выберите вкладку «Аудит».
- Нажмите кнопку «Добавить» и введите имя пользователя или группы, для которых нужно отслеживать удаление файлов.
- Выберите «Удаление» в разделе «Операции» и нажмите «ОК».
- Теперь система будет записывать события удаления файлов в журнал событий.
Отслеживание событий удаления файлов
Чтобы узнать, кто удалил файл, необходимо проверить журнал событий на сервере. Для этого выполните следующие действия:
- Откройте «Просмотр событий» на сервере.
- На левой панели выберите «Журналы Windows» и затем «Безопасность».
- На правой панели выберите «Дополнительные настройки», а затем «Фильтр текущего журнала».
- В поле «SQL-запрос» введите следующий код:
eventeventeventdatadata1textcomputer LIKE '%file_name%'
, заменивfile_name
на имя файла или папки, которую вы хотите отслеживать, и нажмите «ОК». - Теперь система отобразит все события, связанные с удалением указанного файла или папки.
Когда файл или папка будет удалена, система запишет соответствующее событие в журнал, и вы сможете узнать, кто удалил файл с помощью системы аудита доступа.
Запись событий удаления файлов в SQL базу MySQL/MSSQL
- Настройка аудита файлов в Windows Server 2012 R2:
- Создание и настройка конкретной папки для удаленных файлов:
- Создание скрипта для записи данных в базу данных:
- Настройка SQL базы данных и таблицы:
- Запуск скрипта для записи данных:
Первое, что нужно сделать, это включить аудит файлов на сервере. Для этого откройте «Локальные политики безопасности» и перейдите к «Конфигурация компьютера» -> «Параметры Windows» -> «Параметры безопасности» -> «Политики локальной системы» -> «Аудит» -> «Выделение» -> «Аудит удалений». Укажите, какие папки вы хотите отслеживать, либо используйте общую папку. Не забудьте применить настройки.
Далее, создайте папку, в которой будут храниться удаленные файлы. Обычно такая папка называется «Recycle Bin» или «Trash». Вам также необходимо настроить права доступа к этой папке для службы «SQL Server».
Теперь создайте скрипт, который будет отвечать за запись информации о удаленных файлах в базу данных. Этот скрипт можно написать на любом языке программирования. В примере мы будем использовать скрипт на языке PowerShell.
Создайте базу данных в SQL Server (MySQL или MSSQL) и таблицу, в которую будут записываться данные о удаленных файлах. Например, таблица может содержать следующие поля: «file_name» (имя удаленного файла), «date» (дата удаления файла), «server» (имя сервера), «user» (имя пользователя).
Теперь просто запустите свой скрипт, и он будет записывать данные о удаленных файлах в базу данных при каждом событии удаления файла на сервере. Вы можете использовать такой метод записи событий для любой другой программы или службы, использующей базу данных.
Когда вы установите эту автоматизацию, вы сможете легко узнать, кто, когда и какого режима удалил файл на сервере Windows. Вы будете видеть все события удаленных файлов в вашей базе данных и сможете использовать запросы для получения информации, которая вам нужна.
Настройка аудита событий удаления файлов из конкретной папки
Когда вам нужно узнать, кто удалил файл на Windows Server 2012 R2, вы можете настроить аудит событий удаления файлов из конкретной папки. В этом разделе мы рассмотрим пошаговую инструкцию, как настроить такой аудит используя SQL Server и PowerShell.
1. Установка SQL Server и настройки базы данных
Установите SQL Server на ваш компьютер или сервер. Укажите необходимые настройки и следуйте инструкциям установки. Установите также инструмент управления базой данных MySQL.
2. Включаем аудит событий удаления файлов
На сервере Windows Server 2012 R2 настройте аудит событий удаления файлов в папке, в которой вы хотите отслеживать информацию об удалении файлов.
- Зайдите в политику безопасности Групповой политики через gpedit.msc.
- Посмотрите в разделе «Локальные компьютерные политики» в папке «Конфигурация компьютера», выберите «Шаблоны административных шаблонов», затем «Сеть», и найдите «Системная политика профиля пользователей».
- Введите путь для расшареной папки, кликнув на дважды открытый шаблон «Укажите путь к папке для хранения профилей пользователей».
- Укажите папку, в которой вы хотите отслеживать удаление файлов. Нажмите «Применить» и «ОК».
3. Создание таблицы для записи событий удаления файлов
Чтобы получать информацию об удалении файлов в базу данных MySQL, выполните следующие действия:
- Установите MySQL Server, запустив исполняемый файл с установочными настройками для вашего сервера Windows.
- Установите также MySQL Workbench, программу для управления базой данных MySQL.
- Создайте новую базу данных с помощью команды SQL.
CREATE DATABASE имя_базы_данных;
- Создайте таблицу для записи событий удаления файлов с указанием необходимых полей (например, file_name и date).
CREATE TABLE имя_таблицы (file_name VARCHAR(255), date DATETIME);
4. Напишите скрипт Powershell для записи событий удаления файлов
Ниже представлен пример скрипта PowerShell, который позволит вам отслеживать события удаления файлов и записывать их в базу данных MySQL:
# Настройте параметры подключения к базе данных MySQL
$server = "localhost"
$database = "имя_базы_данных"
$table = "имя_таблицы"
$username = "ваше_имя_пользователя"
$password = "ваш_пароль"
# Создайте подключение к базе данных MySQL
$connectionString = "server=$server;database=$database;user id=$username;password=$password"
$connection = New-Object MySql.Data.MySqlClient.MySqlConnection($connectionString)
$connection.Open()
# Настройте прослушивание события удаления файла
$query = @"
SELECT * FROM Win32_VolumeChangeEvent WHERE EventType = 3
"@
$option = New-Object Management.EventWatcherOptions
$option.Condition = $query
$option.Timeout = [System.TimeSpan]::MaxValue
$watcher = New-Object Management.ManagementEventWatcher($option)
$o = Register-ObjectEvent $watcher EventArrived -Action {
$eventArgs = $EventArgs.NewEvent
$file_name = $eventArgs.TargetInstance.FileName
$date = Get-Date
# Запишите информацию об удалении файла в базу данных MySQL
$insertQuery = "INSERT INTO $table (file_name, date) VALUES ('$file_name', '$date')"
$command = New-Object MySql.Data.MySqlClient.MySqlCommand($insertQuery, $connection)
$command.ExecuteReader()
}
Сохраните этот скрипт с расширением .ps1 на вашем сервере или компьютере.
Автоматизация оповещения по событиям 11707
Если вы хотите узнать, кто удалил файл на Windows Server 2012 R2, вам может помочь скрипт на языке PowerShell. С помощью этого скрипта вы сможете автоматически отслеживать события 11707 в журнале событий сервера и получать информацию о удаленных файлах.
Установка необходимых программ и настройка базы данных
Для начала установите программу Microsoft SQL Server Express (версия 2012 или выше). Укажите нужные настройки при установке, чтобы создать базу данных.
После установки SQL Server Express вам также понадобится компонент «Поддержка записи событий аудита файлов Windows Server 2012 R2». Для этого:
- Откройте «Сервисы» на вашем сервере.
- Найдите службу «Сетевая политика безопасности (SNP)».
- Установите и запустите эту службу.
Теперь вам нужно настроить аудит конкретной папки, чтобы отслеживать удаленные файлы. Для этого:
- Зайдите в свойства нужной папки.
- Перейдите на вкладку «Безопасность».
- Нажмите на кнопку «Дополнительно».
- Перейдите на вкладку «Аудит».
- Добавьте нужные пользователя или группу.
- Выберите «Удаленная запись» в качестве события для аудита.
- Примените изменения.
Создание скрипта для автоматического отслеживания событий
Теперь давайте создадим скрипт на языке PowerShell, который будет фильтровать журнал событий и оповещать вас о событиях 11707.
Создайте новый текстовый файл на вашем сервере и сохраните его с расширением .ps1, например, «hmsfile.ps1». Вставьте в него следующий код:
- param([Parameter(Mandatory=$true)][String]$file_name)
- $eventLog = New-Object System.Diagnostics.EventLog(«Security»)
- $eventLog.MachineName = «.»
- $filter = «EventID = 4663 and Message like ‘%$file_name%’ «
- $eventLog.Entries | ? ?{$_.Message -like «*$file_name*» | Select-Object -Property EventID,TimeGenerated,Message | Format-Table -AutoSize
Вместо «file_name» укажите имя файла, который вы хотите отслеживать. Сохраните файл.
Запуск скрипта и получение информации
Чтобы выполнить скрипт, откройте командную строку на вашем сервере и выполните следующую команду:
Powershell -ExecutionPolicy RemoteSigned -File «C:\путь\к\файлу\hmsfile.ps1» -file_name «название_файла»
Замените «C:\путь\к\файлу» на путь к вашему скрипту, а «название_файла» на имя файла, который вы хотите отслеживать.
Видео:
[Windows Server 2012 basics] Урок 15 — Файловый сервер
[Windows Server 2012 basics] Урок 15 — Файловый сервер by TrainIT Hard 46,442 views 5 years ago 54 minutes