Подробный гайд: Готовый GPO/WEF-шаблон для файлового сервера

Пошаговая инструкция по настройке аудита файлового сервера Windows через GPO и WEF. Готовые XML-шаблоны, WinRM и умные фильтры системных логов.

2026.09.30                  


Подробный гайд: Готовый GPO/WEF-шаблон для файлового сервераПодробный гайд: Готовый GPO/WEF-шаблон для файлового сервера Настройка централизованного сбора логов с файлового сервера через WEF (Windows Event Forwarding) и GPO — это стандарт enterprise-уровня. Он позволяет отслеживать, кто, когда и какие файлы читал, изменял или удалял, не нагружая при этом сам файловый сервер (в отличие от SIEM-агентов).


Архитектура и требования

  1. File Server (FS): Сервер, где лежат файлы (источник событий).
  2. Windows Event Collector (WEC): Сервер, который будет принимать логи (коллектор).
  3. Active Directory: Для применения GPO.
  4. Сетевые порты: TCP 5985 (WinRM HTTP) или 5986 (WinRM HTTPS) от FS к WEC.



Шаг 1. GPO: Включение расширенного аудита (Advanced Audit Policy)

Базовые политики аудита устарели. Нам нужно использовать расширенные (Advanced Audit Policy Configuration).

Создайте новую GPO (например, GPO_FileServer_Audit) и примените её к OU с файловыми серверами.

Путь:

Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Advanced Audit Policy Configuration -> Audit Policies -> Object Access.

Включите (Success and Failure) следующие политики:

  • Audit File System (Аудит файловой системы) — фиксирует чтение/запись/удаление.
  • Audit File Share (Аудит общего файлового ресурса) — фиксирует подключения к шарам.
  • Audit Handle Manipulation (Аудит манипуляции дескрипторами) — критично для отслеживания удалений файлов.
  • Audit Detailed File Share (Аудит подробного файлового ресурса) — фиксирует блокировки и доступ к SMB.

ВАЖНО:

Чтобы эти политики не игнорировались, обязательно включите следующую настройку:

Путь:

Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Local Policies -> Security Options.

Audit:

Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings -> Enabled.


Шаг 2. GPO: Настройка WinRM и клиента WEF

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

1. Настройка клиента WEF (Event Forwarding):

Путь:

Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Event Forwarding.

  • Configure Event Log Subscription Managers -> Enabled.

В поле "Subscription Managers" вставьте строку:

Server=http://<FQDN_ВАШЕГО_WEC_СЕРВЕРА>:5985/wsman/SubscriptionManager/WEC,Refresh=60

(Если используете HTTPS, замените http на https и порт на 5986, но потребуется настройка сертификатов).


2. Включение службы WinRM:

Путь:

Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Windows Remote Management (WinRM) -> WinRM Service.

  • Allow remote server management through WinRM -> Enabled.
  • Specify channel binding token hardening level -> Disabled (или оставьте по умолчанию, если не используете строгую проверку).

3. Автозапуск службы WinRM:

Путь:

Computer Configuration -> Policies -> Windows Settings -> Security Settings -> System Services.

  • Windows Remote Management (WS-Management) -> Automatic.

Шаг 3. GPO: Права на чтение логов для Коллектора

По умолчанию файловый сервер не отдаст свой Security Log стороннему серверу. Учетной записи компьютера WEC (или Network Service, если WEC работает от неё) нужно состоять в локальной группе Event Log Readers на файловом сервере.

Путь:

Computer Configuration -> Preferences -> Control Panel Settings -> Local Users and Groups.

  1. Создайте новый элемент: New -> Local Group.
  2. Action: Update.
  3. Group Name: Event Log Readers (built-in).
  4. Members -> Add: Network Service (или NT AUTHORITY\NETWORK SERVICE).
  5. Members -> Add: <ВАШ_ДОМЕН>\<ИМЯ_КОМПЬЮТЕРА_WEC>$ (на случай, если коллектор работает от имени своей machine-учетной записи).

Шаг 4. GPO: Настройка SACL (Что именно аудировать на ФС)

GPO включает возможность аудита, но не говорит Windows, какие папки слушать. Аудит настраивается через SACL (System Access Control List) на конкретных папках.


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

НИКОГДА не включайте аудит на чтение (Read) для всех файлов! Вы получите миллионы логов в секунду (Event ID 4663) и "положите" базу логов. Аудировать нужно только изменения.




Вариант А: Через GUI (На корневой папке шары)

  1. Правая кнопка на папке -> Свойства -> Безопасность -> Дополнительно -> Аудит.
  2. Добавить -> Принципал: Все (или Domain Users).
  3. Тип: Успех (Success).
  4. Применяется к: Этой папке, вложенным папкам и файлам.
  5. Отметьте галочками:
    • Создание файлов / запись данных
    • Создание папок / добавление данных
    • Удаление
    • Удаление вложенных папок и файлов
    • Изменение разрешений
    • Смена владельца

Вариант Б: Через PowerShell (Автоматизация)

Вы можете добавить этот скрипт в Computer Configuration -> Policies -> Windows Settings -> Scripts -> Startup (при загрузке сервера):

$Path = "D:\SharedFolder"
# Сброс старого аудита
icacls $Path /reset /t /c /q
# Добавление SACL: Успешные попытки удаления, записи и изменения прав для Domain Users
icacls $Path /setaudit "Domain Users:(OI)(CI)(S,RD,WD,AD,DEA,DE,WDAC,WO)" /t /c /q

Шаг 5. Настройка Коллектора (WEC) и XML-шаблон подписки

Теперь переходим на сервер-коллектор (WEC).

1. Откройте PowerShell от имени Администратора и инициализируйте коллектор:

   wecutil qc

(Согласитесь с изменением настроек брандмауэра и службы).

2. Создайте XML-файл шаблона подписки (например, FileServer_Audit.xml).

Я подготовил для вас оптимальный фильтр, который отсеивает мусор (обращения к Thumbs.db, desktop.ini и системным папкам):

<Subscription xmlns="http://schemas.microsoft.com/2006/03/windows/events/subscription">
    <SubscriptionId>FileServer_Audit</SubscriptionId>
    <SubscriptionType>SourceInitiated</SubscriptionType>
    <Description>Аудит изменений файловой системы (без чтения)</Description>
    <Enabled>true</Enabled>
    <Uri>http://schemas.microsoft.com/wbem/wsman/1/windows/EventLog</Uri>
    <ConfigurationMode>Custom</ConfigurationMode>
    <Delivery Mode="Push">
        <Batching>
            <MaxLatencyTime>1000</MaxLatencyTime>
        </Batching>
        <PushSettings>
            <Heartbeat Interval="60000"/>
        </PushSettings>
    </Delivery>
    <Query>
        <![CDATA[
<QueryList>
  <Query Id="0" Path="Security">
    <!-- 4663: Попытка доступа к объекту (Write/Delete) -->
    <!-- 4660: Объект удален -->
    <!-- 4656: Запрошен дескриптор объекта -->
    <!-- 4670: Изменены права доступа -->
    <Select Path="Security">*[System[(EventID=4663 or EventID=4660 or EventID=4656 or EventID=4670)]]</Select>

    <!-- Исключаем системный шум (Windows, Thumbs.db, Recycle Bin) -->
    <Suppress Path="Security">
      *[EventData[
        (Data[@Name='ObjectName'] and (
          Data='*\\$Recycle.Bin\\*' or 
          Data='*\\Thumbs.db' or 
          Data='*\\desktop.ini' or 
          Data='*\\System Volume Information\\*' or
          Data='C:\\Windows\\*'
        ))
      ]]
    </Suppress>
  </Query>
</QueryList>
        ]]>
    </Query>
    <ReadExistingEvents>true</ReadExistingEvents>
    <TransportName>HTTP</TransportName>
    <ContentFormat>RenderedText</ContentFormat>
    <Locale Language="en-US"/>
    <LogFile>ForwardedEvents</LogFile>
    <AllowedSourceNonDomainComputers></AllowedSourceNonDomainComputers>
    <!-- Разрешаем отправку всем компьютерам домена (Domain Computers SID: DC) -->
    <AllowedSourceDomainComputers>O:NSG:BAD:P(A;;GA;;;DC)S:</AllowedSourceDomainComputers>
</Subscription>


3. Импортируйте подписку в коллектор:

   wecutil cs "C:\Path\To\FileServer_Audit.xml"

4. Убедитесь, что подписка активна:

   wecutil gr FileServer_Audit

Шаг 6. Применение и Troubleshooting

  1. На файловом сервере обновите политики: gpupdate /force и перезагрузите сервер (или перезапустите службу WinRM и EventLog).
  2. Создайте тестовый файл на расшаренной папке и удалите его.

Где смотреть логи?

  • На Коллекторе (WEC): Откройте Event Viewer -> Windows Logs -> Forwarded Events.
  • На Файловом сервере (если не доходит): Откройте Event Viewer -> Applications and Services Logs -> Microsoft -> Windows -> EventLog-ForwardingPlugin -> Operational.
    • Event ID 100 / 102: Подписка успешно установлена.
    • Event ID 104 / Ошибки: Обычно связаны с тем, что WEC не имеет прав на чтение Security Log (проверьте Шаг 3) или закрыт порт 5985 (проверьте Firewall).

Профессиональные советы (Best Practices)

  1. Размер лога Forwarded Events: По умолчанию он ограничен 20 МБ. На WEC сервере зайдите в свойства лога Forwarded Events и увеличьте размер до 10-50 ГБ (или настройте архивацию).
  2. Сборка SIEM: Если в будущем вы планируете отправлять эти логи в ELK, Splunk или Graylog, лучше настроить на WEC агент (например, Winlogbeat), который будет забирать логи из Forwarded Events и слать их по Syslog/HTTP в SIEM.
  3. Фильтрация на стороне SIEM: Даже с фильтром XML в логах будет много "мусора" (например, фоновые антивирусы сканируют файлы). В SIEM настраивайте дедупликацию и игнорируйте учетные записи сканеров/антивирусов.

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


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (специалист по ЗИ)

Комментарии

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