Какие программы можно использовать для удобного просмотра и анализа журналов аудита доступа к файлам на Windows Server?

Ищу специализированное (желательно компактное и OpenSource) решение для удобного просмотра, кто и какие действия выполнял в расшаренной папке. Аудит уже включён — события появляются в журнале «Безопасность», но стандартная оснастка неудобна.
  • 24 мая 2026 г. 18:00
Ответы на вопрос 3
Коротко — какие у вас варианты и что я рекомендую в первую очередь, потом — более подробно про каждый инструмент и небольшой PowerShell‑скрипт для быстрой и наглядной выгрузки событий доступа к файлам.

Рекомендации (по «легкости/компактности» → «полноте»):
- Если нужен «компактный и быстрый» просмотр на месте: FullEventLogView (NirSoft) или Microsoft Log Parser 2.2 + Log Parser Studio. Небольшие, простые, быстрые.
- Если хотите OpenSource и централизованно/с дашбордами: Winlogbeat → Elasticsearch + Kibana или Graylog или Wazuh (Wazuh = OSSEC + ELK, уже имеет правила для Security).
- Для ad‑hoc/скриптового анализа: PowerShell (Get‑WinEvent / .ToXml()) — очень гибко, не требует сторонних сервисов.

Что искать в журналах (важные EventID для файлового аудита)
- 4663 — An attempt was made to access an object (основное «чтение/запись/удаление»)
- 4656 — A handle to an object was requested (запрос дескриптора)
- 4660 — An object was deleted
- 4670 — Permissions on an object were changed
(также полезны 4624/4634 для входов/выходов и 4688 для запуска процессов)

Короткие обзоры инструментов

1) FullEventLogView (NirSoft)
- Что: компактная портативная утилита, показывает все события, экспорт в CSV/HTML, фильтры.
- Плюсы: легкая, не требует установки, удобно фильтровать/экспортировать.
- Минусы: не OpenSource; нет продвинутых дашбордов.

2) Microsoft Log Parser 2.2 + Log Parser Studio
- Что: мощный SQL‑подобный парсер журналов (включая EventLog), Log Parser Studio — GUI поверх Log Parser.
- Плюсы: гибкие запросы, можно быстро писать отчёты, бесплатен.
- Минусы: старый интерфейс, требует привыкнуть к синтаксису.

3) PowerShell (Get‑WinEvent / XML парсинг)
- Что: встроенные средства Windows для выборки и парсинга Security логов, можно формировать CSV/HTML/Excel.
- Плюсы: не требует сторонних программ, можно быстро получить именно те поля, которые нужны, и автоматизировать.
- Минусы: придётся написать/подогнать скрипт.

Пример PowerShell‑скрипта, который выбирает события 4663 и выводит удобную таблицу (включая пользователя, действие, путь, процесс) и экспортирует в CSV:

```powershell
# Параметры
$logName = 'Security'
$eventId = 4663
$start = (Get-Date).AddDays(-7)   # последние 7 дней
$outCsv = "C:\Temp\FileAccess_4663.csv"

# Получаем события
$events = Get-WinEvent -FilterHashtable @{LogName=$logName; Id=$eventId; StartTime=$start} -ErrorAction SilentlyContinue

$result = foreach ($ev in $events) {
    $xml = [xml]$ev.ToXml()
    $data = @{}
    foreach ($d in $xml.Event.EventData.Data) {
        $name = $d.Name
        $val  = $d.'#text'
        $data[$name] = $val
    }
    [PSCustomObject]@{
        TimeCreated   = $ev.TimeCreated
        SubjectUser   = ($data.SubjectUserName + '\' + $data.SubjectDomainName).Trim('\')
        ObjectName    = $data.ObjectName
        ObjectType    = $data.ObjectType
        AccessList    = $data.AccessList
        AccessMask    = $data.AccessMask
        ProcessName   = $data.ProcessName
        HandleId      = $data.HandleId
        IpAddress     = $data.WorkstationName
        EventRecordId = $ev.RecordId
    }
}

# Можно посмотреть в окно
$result | Sort-Object TimeCreated -Descending | Out-GridView

# Или экспорт в CSV
$result | Sort-Object TimeCreated -Descending | Export-Csv -NoTypeInformation -Path $outCsv
Write-Output "Exported $($result.Count) events to $outCsv"
```

Пояснения:
- В поле AccessList обычно есть читаемые операции (например ReadData, WriteData, Delete и т.д.). Если AccessList пуст, смотрите AccessMask (hex) — его можно декодировать, но чаще полезен AccessList.
- Для удалённого сервера можно указать -ComputerName у Get‑EventLog (устаревший) или использовать WinRM/Invoke‑Command и запускать скрипт удалённо.

4) Winlogbeat → Elasticsearch/Kibana (или Graylog, Wazuh)
- Что: агент (Winlogbeat) пересылает Security журнал в ELK/Graylog/Wazuh; в Kibana/Graylog вы делаете дашборды и быстрый поиск.
- Плюсы: масштабируемо, удобные дашборды, кореляция, поиск.
- Минусы: требует установки ELK/Graylog/Wazuh — «тяжелее», но это стандартный OpenSource путь.

5) Wazuh
- Что: OpenSource SIEM/IDS, умеет собирать Windows события, есть правила для аудита файлов/прав.
- Плюсы: готовые правила, алерты, Kibana‑дашборды.
- Минусы: развёртывание и поддержка.

Практические советы
- Фильтруйте по ObjectName (путь к расшаренной папке), чтобы снизить шум.
- Включите в аудит «Advanced Object Access» (Success/Failure) и проверьте, какие именно категории аудита включены (File System).
- Если много событий — лучше централизовать (Winlogbeat/Wazuh/Graylog) и строить визуализации/алерты.
- Хранение и ротация: Security лог быстро растёт при детальном файловом аудите — настройте ротацию/пересылку и хранение.

Если хотите, могу:
- Подготовить готовый PowerShell‑скрипт с распознаванием типов доступа (map AccessMask → Read/Write/Delete) и фильтром по пути/пользователю.
- Подсказать минимальное развертывание Winlogbeat+Elasticsearch+Kibana для одной‑двух серверных машин и пример dashboard для событий 4663.

Скажите, какой вариант вам ближе — «быстро и локально» (PowerShell / FullEventLogView / Log Parser) или «централизованно с дашбордами» (Winlogbeat + ELK / Wazuh / Graylog) — и я пришлю конкретное пошаговое решение.
EventLook (github.com/kmaki565/EventLook) — OpenSource MIT, быстрее штатного, есть фильтры по юзеру и EventID. Для удалённого журнала без OpenSource: FullEventLogView от NirSoft (freeware, portable). Пользовались и тем и другим, оба норм.
Graylog
Похожие вопросы