Cyber Security: Подключение и настройка сбора данных
Оглавление
Общее описание
Правила и дашборды модуля читают данные из индексов с фиксированными именами. Конфигурации сбора из состава модуля разбирают события источников и приводят их к нужному формату. Для корректной работы правил используйте именно эти конфигурации.
Если данные источника уже поступают в Smart Monitor в другие индексы или в другом формате, правила модуля их не увидят. Чтобы использовать другие индексы или поля, потребуется изменить запросы правил.
Настройка самих источников (политика аудита, Sysmon, журналирование PowerShell, аудит Kubernetes) описана в разделе Настройка источников на инфраструктуре.
Соответствие журналов, конфигураций и индексов
| Источник | Журнал | Порт по умолчанию | Паттерн индекса |
|---|---|---|---|
| Windows | Security | 2001 | windows_security-* |
| Windows | Microsoft-Windows-Sysmon/Operational | 5001 | windows_sysmon_operational-* |
| Windows | Microsoft-Windows-PowerShell/Operational | 5002 | windows_powershell_operational-* |
| Windows | System, Application, Microsoft-Windows-Windows Defender/Operational | 5059 | windows_events-* |
| Windows | DNS Server, Microsoft-Windows-DNSServer/Audit | 5063 | dns-events-* |
| Microsoft IIS | Microsoft-IIS-Logging/Logs, Microsoft-IIS-Configuration/Operational | 5062 | microsoft-iis-* |
| Linux | auditd | 1313 | auditd-* |
| nginx | access.log | 51121 | nginx_log_access-* |
| Kubernetes | журнал аудита kube-apiserver | 5060 | kubernetes_audit-* |
Источник Active Directory использует те же журналы и индексы, что и Windows. События контроллеров домена поступают в windows_security-*.
Конфигурации сбора Windows поддерживают сбор как с каждого хоста, так и через сервер пересылки событий WEC (канал ForwardedEvents).
Последовательность настройки
Шаг 1. Проверка установки модуля
До настройки сбора установите модуль и выполните утилиту установки. Утилита создает шаблоны индексов, write-алиасы и паттерны индексов источников. Порядок описан в разделе Установка.
Включайте сбор только после выполнения утилиты установки. Если события поступят раньше, чем появится write-алиас, Smart Monitor Data Storage создаст обычный индекс с именем алиаса (например, auditd), и алиас создать не получится.
По умолчанию индекс ротируется раз в сутки или при достижении 10 ГБ и удаляется через 45 суток после ротации. Правила на базовых линиях поведения анализируют историю за 90 суток и за 3 месяца. Полную историю они получат, только если срок хранения индексов не меньше этих окон.
Шаг 2. Настройка Smart Monitor Data Collector
2.1. Размещение конфигураций
Поместите пайплайны *.conf каждого источника в каталог /app/logstash/config/conf.d.
В секции output каждой конфигурации укажите значения для своей инсталляции.
| Значение в конфигурации | Что указать |
|---|---|
https://HOST:PORT | адрес Smart Monitor Data Storage |
/app/logstash/config/ca-cert.pem | путь к сертификату CA, если он отличается |
Пароль пользователя logstash пайплайны берут из ключа ES_PWD хранилища logstash.keystore.
sudo -u logstash /app/logstash/bin/logstash-keystore add ES_PWD
2.2. Подключение пайплайнов
Добавьте идентификаторы пайплайнов и пути к ним в файл /app/logstash/config/pipelines.yml.
### Cyber Security
- pipeline.id: windows_security
path.config: "/app/logstash/config/conf.d/windows_security.conf"
- pipeline.id: windows_sysmon_operational
path.config: "/app/logstash/config/conf.d/windows_sysmon_operational.conf"
# ... остальные конфигурации модуля
2.3. Порты взаимодействия
Порты по умолчанию указаны в таблице соответствия. Если порт уже занят, измените port в секции input пайплайна и адрес в секции output конфигурации агента.
Шаг 3. Настройка агентов Smart Beat
Конфигурации агентов разворачиваются через Smart Beat Manager. Порядок описан в разделе Сбор данных агентом.
3.1. Windows
- конфигурации
winlogbeat_security,winlogbeat_sysmon_operational,winlogbeat_powershell_operationalиwinlogbeat_windows_eventsустанавливаются на все хосты Windows - конфигурация
winlogbeat_dns_serverустанавливается только на DNS-серверы Windows - конфигурация
winlogbeat_iisустанавливается только на серверы IIS - журнал
Securityконтроллеров домена собирает та же конфигурацияwinlogbeat_security - в секции
outputзаменитеSM_DATA_COLLECTORна адресSmart Monitor Data Collector
3.2. Linux
- конфигурация
auditbeat_auditdсодержит правила аудита ядра (audit_rules) - замените
SM_DATA_COLLECTORна адресSmart Monitor Data Collector
3.3. nginx
- конфигурация
filebeat_nginxпо умолчанию читает журнал/var/log/nginx/access.log - если журнал лежит в другом месте, укажите его путь в параметре
paths
3.4. Kubernetes
- конфигурация
filebeat_kubernetes_auditустанавливается на хосты control plane - по умолчанию конфигурация читает журналы
/var/log/kubernetes/audit/audit.log,/var/log/kube-apiserver/audit.logи/var/lib/rancher/k3s/server/logs/audit.log - если журнал аудита лежит в другом месте, укажите его путь в параметре
paths
Шаг 4. Проверка поступления данных
Откройте Навигационное меню - Поиск и выполните запрос по каждому подключенному источнику за последние 15 минут. Пример для индекса windows_security приведен ниже.
source windows_security-*
| stats count
Для каждого подключенного источника количество событий должно быть больше нуля.

Шаг 5. Проверка формата данных
Правила опираются на нормализованные поля. Убедитесь, что в событиях источника заполнены ключевые поля.
| Индекс | Ключевые поля |
|---|---|
windows_security-* | event.code, host.name, user.name, process.command_line (событие 4688), source.ip (события 4624 и 4625) |
windows_sysmon_operational-* | event.code, process.executable, process.command_line, process.parent.executable, destination.ip, dns.question.name |
windows_powershell_operational-* | event.code, powershell.file.script_block_text (событие 4104) |
windows_events-* | event.code, winlog.channel, service.name |
auditd-* | process.executable, process.args, user.name |
nginx_log_access-*, microsoft-iis-* | source.ip, http.request.method, url.path, http.response.status_code, user_agent.original |
kubernetes_audit-* | kubernetes.audit.verb, kubernetes.audit.objectRef.resource, kubernetes.audit.user.username |
Проверочные запросы выполняются в разделе Поиск за последние 15 минут. Пустой результат или нулевое значение в столбце означает, что поле не заполняется.
Командная строка в событиях создания процессов Windows:
source windows_security-*
| search event.code="4688"
| stats count, dc(process.command_line) as command_lines by host.name
Типы событий Sysmon по хостам:
source windows_sysmon_operational-*
| stats count by host.name, event.code
Текст блоков сценариев PowerShell:
source windows_powershell_operational-*
| search event.code="4104"
| stats count, dc(powershell.file.script_block_text) as script_blocks by host.name
Каналы журналов System, Application и Windows Defender:
source windows_events-*
| stats count by winlog.channel
Запуск процессов на хостах Linux:
source auditd-*
| stats count, dc(process.executable) as executables by host.name
Запросы к веб-серверам:
source nginx_log_access-*, microsoft-iis-*
| stats count, dc(source.ip) as clients by http.response.status_code
Действия в API Kubernetes:
source kubernetes_audit-*
| stats count by kubernetes.audit.verb, kubernetes.audit.objectRef.resource
Также проверьте формат значений.
- имена хостов (
host.name) и учетных записей (user.name) должны совпадать по формату с данными справочников, см. Справочники - время событий (
@timestamp) должно соответствовать времени на источнике с учетом часового пояса
Типовые проблемы
| Признак | Возможная причина | Что проверить |
|---|---|---|
| данные не поступают | порт закрыт или занят | межсетевой экран, вывод ss -ltnp, журнал агента |
данные попадают в индекс без суффикса (windows_security вместо windows_security-000001) | нет write-алиаса | Установка |
пустое поле process.command_line в событии 4688 | в аудите создания процессов не включена командная строка | Настройка источников на инфраструктуре |
| нет событий 4104 | не включено журналирование блоков сценариев PowerShell | Настройка источников на инфраструктуре |