Многие думают, что если они включили сбор логов в SIEM, они в безопасности. Это иллюзия. Windows «из коробки» не пишет в логи почти ничего полезного для ИБ. Если вы не настроили расширенный аудит, вы увидите факт входа пользователя, но не увидите, как он создал вредоносную службу или прописал себя в автозагрузку.

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

1. Windows: Полный спектр видимости

Чтобы видеть атаку целиком, нужно закрыть три зоны: Исполнение кода, Закрепление и Учетные записи.


А. Зона исполнения (Execution & Evasion) Здесь мы ловим момент запуска вредоноса.

  • Event ID 4688 (Process Creation):

Настройка: В GPO обязательно включить «Include command line in process creation events».* Что ищем:* Не просто powershell.exe, а аргументы: -enc, -w hidden, DownloadString.

  • Event ID 4104 (PowerShell Script Block):

Настройка: Включить Script Block Logging.* Зачем:* Хакеры обфусцируют скрипты. Событие 4104 показывает код после расшифровки, но до исполнения. Это «рентген» для скриптов.

  • Event ID 1102 (Log Clear):

Признак: Очистка журнала Security.* Вердикт:* 100% атака. Если админ чистит логи руками – его нужно увольнять. Если не админ – вас взломали.


Б. Зона закрепления (Persistence) Хакеру мало зайти, ему нужно пережить перезагрузку. Он делает это через Службы и Планировщик.

  • Event ID 7045 / 4697 (Service Installation):

Что ищем: Установка новой службы.* Маркер атаки:* Служба запускает бинарник из C:\Users\Temp или AppData. Легитимные службы живут в C:\Windows или Program Files.

  • Event ID 4698 / 4702 (Scheduled Task Creation):

Что ищем: Создание задачи планировщика.* Маркер атаки:* Задачи с непонятными именами, запускающие скрипты раз в минуту.


В. Зона реестра (Registry) Стандартный аудит реестра Windows (SACL) очень тяжелый и «шумный». Но следить за автозагрузкой необходимо.

  • Event ID 4663 (Object Access):

Настройка: Настройте аудит только на ветки Run и RunOnce.* Альтернатива:* Использовать Sysmon Event 12/13 (создание/изменение ключа). Это гораздо чище и эффективнее.


2. Sysmon: Обязательное дополнение

Почему так настаиваем на Sysmon? Потому что стандартный Windows Event Log не умеет связывать сетевое соединение с процессом.

Сценарий: Вы видите исходящее соединение на IP в Китае на фаерволе.* Без Sysmon:* Вы не знаете, какой процесс его открыл. Вам нужно идти на хост и искать.* С Sysmon (Event ID 3):* Вы видите: Image: c:\temp\malware.exe -> DestinationIp: 89.x.x.x. Инцидент раскрыт за 1 минуту.

Минимальный конфиг Sysmon (ищите конфиг SwiftOnSecurity):

  1. Event ID 1: Process Create (с хэшами MD5/SHA256).
  2. Event ID 3: Network Connection (фильтруйте браузеры, чтобы не утонуть в логах).
  3. Event ID 11: File Create (мониторим папку Startup и Downloads).

3. Linux: Не только Auditd

В Linux есть два уровня правды: PAM (аутентификация) и Syscalls (ядро).

А. Уровень входа (Auth & PAM) Логи /var/log/secure (RHEL) или /var/log/auth.log (Debian).

  • Accepted password / publickey: Успешный вход.
  • Sudo command executed: Кто и какую команду запустил с правами root.
  • Внимание: Если злоумышленник получил shell (оболочку) через sudo -i, дальнейшие его действия в auth.log не попадут! Тут нужен auditd.

Б. Уровень ядра (Auditd) Это «черный ящик» самописца. Настраиваем /etc/audit/rules.d/audit.rules.

Топ-5 правил, закрывающих 80% тактик:

  1. Слежка за исполнением (Execution): Видим каждый запуск бинарника и скрипта. -a always,exit -F arch=b64 -S execve -k command_exec
  2. Слежка за сетью (C2 / Reverse Shells): Видим открытие портов или коннект наружу (даже если бинарник удален). -a always,exit -F arch=b64 -S connect -S accept -S bind -k net_connect
  3. Слежка за временем (Anti-Forensics): Хакеры любят менять системное время, чтобы запутать следы в логах. -a always,exit -F arch=b64 -S settimeofday -S clock_settime -k time_change
  4. Слежка за пользователями (Persistence): Изменение файлов паролей и групп. -w /etc/passwd -p wa -k identity_mod -w /etc/shadow -p wa -k identity_mod
  5. Слежка за конфигурацией сети: Изменение /etc/hosts (перенаправление трафика). -w /etc/hosts -p wa -k network_mod

Итог: Чек-лист инженера

Если вы строите SOC, проверьте свои источники событий по этому списку. Если галочки нет – у вас слепая зона.

  • Process Execution: Я вижу аргументы командной строки?
  • Persistence: Я увижу, если появится новая служба или задача планировщика?
  • Network Process: Я могу сказать, какой процесс открыл соединение, не заходя на хост?
  • Identities: Я вижу добавление юзера в локальные админы?
  • Scripting: Я вижу расшифрованный код PowerShell?

Если на всё ответ «Да» – вы видите базовые вещи. Если «Нет» – SIEM пока бесполезен.