Сбор журналов сетевого трафика

«Сетевой трафик — это не просто поток байтов, а детальная летопись всех событий в инфраструктуре. Его сбор и анализ превращают пассивную сеть в активный источник данных для расследования инцидентов, мониторинга производительности и соответствия требованиям. Без этой летописи инцидент безопасности превращается в расследование без улик.»

Зачем собирать сетевые логи

Каждый пакет, проходящий через сеть, содержит не только полезную нагрузку, но и метаданные: IP-адреса отправителя и получателя, порты, тип протокола, временные метки и размер. Эти данные формируют объективную картину происходящего, независимую от журналов отдельных приложений или систем. Они становятся основой для трёх ключевых задач: расследования инцидентов, мониторинга производительности и соответствия регуляторным требованиям, таким как 152-ФЗ и приказы ФСТЭК, которые предписывают регистрацию событий безопасности.

Архитектура системы сбора определяется её целями. Расследование сложных инцидентов или анализ вредоносного ПО требует полного захвата пакетов (Full Packet Capture) с сохранением содержимого. Для мониторинга трафика, планирования загрузки каналов или биллинга достаточно агрегированных flow-данных (NetFlow, IPFIX), которые сокращают объём информации на 95-99%. Требования регуляторов диктуют сроки хранения и меры по обеспечению целостности логов. Попытка сохранять всё и всегда ведёт к неподъёмным затратам на хранилище.

Главное техническое ограничение — объём. Гигабитный канал, полностью загруженный, генерирует около 125 мегабайт сырых данных в секунду. Без продуманной фильтрации и агрегации дисковое пространство закончится за несколько часов. Эффективная стратегия — многоуровневая: сбор flow-данных по всей инфраструктуре для общей картины и выборочный полный захват пакетов на критичных сегментах, например, на границе сети или в сегментах с важными данными.

Уровни детализации сетевых логов

Уровень Что фиксируется Объём данных Сценарии использования
Flow-данные Ключевые атрибуты потока: IP-адреса и порты источника/назначения, протокол, количество пакетов и байт, флаги. ~100 байт на поток, сжатие до 1% от raw-трафика. Мониторинг трафика, обнаружение аномалий, биллинг, планирование мощности.
Логи сессий Расширенные данные о сессии: длительность, состояние TCP, распознанный протокол приложения (HTTP, DNS), метаданные TLS. ~500 байт на сессию, до 5% от raw. Анализ работы приложений, детектирование угроз, поиск неисправностей.
Полный захват пакетов (FPC) Полные пакеты с заголовками и полезной нагрузкой, включая реассемблированные потоки данных. 100% трафика, ~125 MB/s на 1 Gbps канал. Форензик-анализ, глубокое расследование инцидентов, анализ вредоносного ПО.
Извлечение метаданных Выделенные объекты: передаваемые файлы, SSL/TLS-сертификаты, DNS-запросы, заголовки HTTP. Зависит от трафика, обычно 10-20% от raw. Контроль утечек информации (DLP), обнаружение malware, отчётность для compliance.

Методы сбора сетевого трафика

Выбор метода определяет, насколько полными и достоверными будут данные, а также какое влияние сбор окажет на работу самой сети.

SPAN / Mirror порты

Самый распространённый метод. Коммутатор настраивается на копирование трафика с одного или нескольких портов на специальный порт-назначение, к которому подключён анализатор. Не требует физического вмешательства в сеть.

Критичный недостаток — ненадёжность при перегрузке. Пропускная способность SPAN-порта ограничена, и коммутатор, как правило, молча отбрасывает пакеты, которые не успевает скопировать, когда нагрузка превышает его возможности. Кроме того, многие модели не копируют ошибочные кадры и пакеты, отброшенные самим коммутатором.

! Конфигурация SPAN на коммутаторе Cisco
monitor session 1 source interface Gi0/1 both
monitor session 1 source interface Gi0/2 rx
monitor session 1 destination interface Gi0/24
no monitor session 1 filter packet-type good

Сетевой TAP

Аппаратное устройство, которое физически встраивается в разрыв сетевого кабеля. Оно пассивно копирует оптический или электрический сигнал, создавая точные копии трафика в обоих направлениях. Гарантирует нулевую потерю пакетов даже при пиковых нагрузках.

Главные преимущества перед SPAN: независимость от загрузки и модели коммутатора, копирование всех сетевых ошибок, нулевая задержка для основного трафика. Недостаток — необходимость физической установки, которая обычно требует кратковременного простоя канала.

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

# Пример конфигурации пакетного брокера
input port 1-4: 10Gbps TAP feeds
output port 5-6: 10Gbps to capture servers
filter: vlan 100-200 → port 5
filter: vlan 300-400 → port 6
load-balance: src-dst-ip hash

Экспорт потоков (NetFlow / IPFIX)

Активные сетевые устройства (маршрутизаторы, коммутаторы) сами агрегируют трафик в записи о потоках и отправляют их на коллектор. Это радикально снижает объём данных, сохраняя информацию о том, кто, с кем и сколько общался.

Современный стандарт IPFIX (на основе NetFlow v9) поддерживает шаблоны, позволяя экспортировать произвольные дополнительные поля. Для снижения нагрузки на устройство может использоваться сэмплирование (анализ каждого N-го пакета), но это приводит к потере информации о короткоживущих потоках.

! Настройка NetFlow/IPFIX на маршрутизаторе Cisco
flow exporter FLOW-EXPORT
 destination 192.168.1.100
 transport udp 2055
 source GigabitEthernet0/0
!
flow monitor FLOW-MONITOR
 exporter FLOW-EXPORT
 cache entries 10000
 cache timeout active 60
 record netflow ipv4 original-input
!
interface GigabitEthernet0/1
 ip flow monitor FLOW-MONITOR input

Агентский сбор на хостах

Программные агенты, установленные на конечных серверах и рабочих станциях, перехватывают трафик на уровне операционной системы (через libpcap, eBPF, аудит ядра). Этот метод уникален тем, что видит трафик уже после расшифровки TLS (если терминация происходит на хосте) и фиксирует локальную межпроцессную коммуникацию (loopback).

Инструменты: osquery для сбора разнородных данных, eBPF-программы для низкоуровневого мониторинга. Недостаток — нагрузка на ресурсы хоста и сложность управления парком агентов.

// Пример eBPF-программы для отслеживания сетевых подключений
SEC("tracepoint/syscalls/sys_enter_connect")
int trace_connect(struct trace_event_raw_sys_enter *ctx)
{
    struct event_t event = {};
    event.pid = bpf_get_current_pid_tgid() >> 32;
    event.timestamp = bpf_ktime_get_ns();
    // Извлечение информации о сокете и отправка в userspace
    bpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, &event, sizeof(event));
    return 0;
}

Инструменты для сбора и обработки

Инструмент Тип данных Производительность Особенности
tcpdump Raw pcap, фильтрация через командную строку. До ~1 Gbps с потерями на одноядерных системах. Универсальный, есть во всех дистрибутивах, легко автоматизируется.
Wireshark / tshark Raw pcap с глубоким анализом протоколов. До ~500 Mbps для live-захвата. Поддержка тысяч протоколов, мощный язык фильтров, GUI и CLI.
Zeek (ранее Bro) Логи сессий, извлечённые файлы, метаданные. До 10 Gbps в кластерной конфигурации. Ориентирован на безопасность, имеет свой скриптовый язык, детальный анализ протоколов.
Suricata Логи IDS/IPS, flow-данные, извлечённые файлы. До 20 Gbps с многопоточностью. Обнаружение по правилам (Snort-совместимый синтаксис), вывод в структурированном JSON.
Moloch / Arkime Полный захват пакетов с индексацией. До 40 Gbps capture в кластере. Веб-интерфейс для полнотекстового поиска по захваченному трафику, интеграция с Elasticsearch.
nProbe / nTopng Обработка NetFlow/IPFIX, анализ потоков. До 100 Gbps обработки flow. Коммерческий продукт с open-source версией, веб-интерфейс, алертинг.

Настройка Zeek для сбора структурированных логов

Zeek не просто сохраняет пакеты, а анализирует трафик на уровне прикладных протоколов и генерирует структурированные логи (например, отдельно для HTTP, DNS, SSL). Это сокращает объём хранимых данных и сразу предоставляет их в удобном для анализа виде.

Базовая конфигурация Zeek

# /opt/zeek/etc/node.cfg - конфигурация кластера
[manager]
type=manager
host=localhost

[worker-1]
type=worker
host=localhost
interface=eth0
lb_method=pf_ring
lb_procs=4

# /opt/zeek/etc/local.zeek - загружаемые скрипты и настройки
@load base/frameworks/logging
@load base/protocols/http
@load base/protocols/dns
@load base/protocols/ssl
@load policy/tuning/json-logs.zeek

# Включение вывода в JSON для упрощения интеграции
redef LogAscii::use_json = T;
redef LogAscii::json_timestamps = JSON::TS_ISO8601;

В результате Zeek будет создавать файлы вроде conn.log (сведения о соединениях), http.log, dns.log, ssl.log, каждый с набором специфичных полей.

Пример записи в conn.log

{
  "ts": "2026-02-27T14:23:01.234Z",
  "uid": "C8xKqp2Z3kqVpM1jS5",
  "id.orig_h": "192.168.1.100",
  "id.orig_p": 45678,
  "id.resp_h": "10.0.0.50",
  "id.resp_p": 443,
  "proto": "tcp",
  "service": "ssl",
  "duration": 12.456,
  "orig_bytes": 1024,
  "resp_bytes": 51200,
  "conn_state": "SF",
  "local_orig": true,
  "local_resp": true,
  "missed_bytes": 0,
  "history": "^ShadDfA",
  "orig_pkts": 15,
  "orig_ip_bytes": 2048,
  "resp_pkts": 35,
  "resp_ip_bytes": 52224
}

Поле conn_state — ключевое для анализа. Значение «SF» (SYN, FIN) указывает на нормально установленное и завершённое соединение. Такие состояния, как «RSTO» (RST от инициатора) или «REJ» (отказ), могут быть индикаторами сканирования или проблем с сетевыми службами.

Хранение и ротация сетевых логов

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

Уровень хранения Тип данных Срок хранения Технология
Горячее (Hot) Flow-данные и логи сессий за последние 1-7 дней. 1-7 дней Кластер Elasticsearch на SSD, репликация, индексация для мгновенного поиска.
Тёплое (Warm) Агрегированные flow-данные, метаданные за предыдущий период. 8-90 дней Elasticsearch на HDD, сжатие индексов, поиск с небольшой задержкой.
Холодное (Cold) Полные дампы трафика (pcap) по критичным инцидентам. 90-365 дней Объектное хранилище (S3-совместимое), архивное сжатие, извлечение по запросу за минуты.
Архивное Агрегированная статистика, требуемая для аудита и compliance. >1 года Ленточные библиотеки или сверхдешёвое облачное cold storage, извлечение занимает часы.

Ротацией управляют политики жизненного цикла индексов (ILM) в Elasticsearch или скрипты, которые перемещают и удаляют данные по расписанию. Для кольцевых буферов полного захвата (FPC) используется простое правило: при заполнении диска старейшие данные перезаписываются.

Нормализация и обогащение событий

Данные из разных источников (flow с коммутатора, логи от Zeek, алерты от Suricata) имеют различный формат. Нормализация преобразует их в единую схему, что необходимо для корреляции событий и работы SIEM-систем.

Структура нормализованного события

{
  "timestamp": "2026-02-27T14:23:01.234Z",
  "event_type": "network_flow",
  "source": {
    "ip": "192.168.1.100",
    "port": 45678,
    "mac": "00:1a:2b:3c:4d:5e",
    "hostname": "workstation-01",
    "user": "john.doe",
    "geo": {"country":"RU","city":"Moscow"},
    "asn": "AS12345"
  },
  "destination": {
    "ip": "10.0.0.50",
    "port": 443,
    "mac": "00:5e:4d:3c:2b:1a",
    "hostname": "server-db-01",
    "service": "https"
  },
  "network": {
    "protocol": "tcp",
    "bytes_sent": 1024,
    "bytes_received": 51200,
    "packets_sent": 15,
    "packets_received": 35,
    "duration_ms": 12456,
    "tcp_flags": "SYN,ACK,FIN"
  },
  "security": {
    "threat_score": 0.1,
    "categories": [],
    "rules_matched": []
  }
}

Обогащение контекстом

Сама по себе запись «IP 192.168.1.100 подключился к порту 443» малоинформативна. Обогащение добавляет критически важный контекст:

  • GeoIP: Определение страны и города по IP-адресу. Позволяет сразу увидеть подключения из неожиданных географических регионов.
  • ASN и провайдер: Указывает, к какой автономной системе принадлежит IP. Полезно для выявления трафика из сетей, известных как хостинг для ботнетов или сканеров.
  • Корреляция с IAM: Связывание IP-адреса или имени хоста с учётной записью пользователя в момент события. Это основа для анализа поведения пользователей и сущностей (UEBA).
  • Классификация приложений: Определение типа сервиса (например, «Веб-почта», «Облачное хранилище», «Корпоративный мессенджер») на основе анализа трафика, а не только порта.

Обогащение выполняется в конвейере обработки с использованием локальных баз данных (например, MaxMind для GeoIP) или запросов к внутренним API (CMDB, Active Directory) с обязательным кэшированием для снижения задержек.

Анализ для обнаружения угроз

После сбора, нормализации и обогащения данные готовы для применения аналитики. Эффективный мониторинг сочетает сигнатурные правила и поведенческие аномалии.

Сценарий угрозы Индикаторы в сетевых логах Логика детектирования
Командно-аппаратная инфраструктура (C2) Периодические «маяковые» подключения с точным интервалом, использование DNS-туннелинга, шифрованный трафик на IP из списков угроз. Обнаружение соединений с одного внутреннего хоста на один внешний IP с интервалом 60±5 секунд в течение длительного периода.
Перемещение внутри сети (Lateral Movement) Множественные попытки подключения с одной взломанной машины на разные внутренние хосты, особенно по портам административных протоколов (SMB, RDP, SSH). Более 20 уникальных IP-адресов назначения за 10 минут с одного источника на порты 445, 3389, 22.
Утечка данных Аномально большой объём исходящего трафика с рабочей станции или сервера, особенно на внешние облачные хранилища или в нерабочее время. Исходящий трафик > 1 ГБ за час для хоста, не являющегося файловым сервером или бэкап-системой.
Сканирование сети Множество коротких неудачных соединений (RST, REJ) на разные порты и/или разные хосты с одного источника. Более 100 соединений со состоянием RSTO или REJ за 5 минут с одного IP-адреса источника.

Чтобы избежать лавины ложных срабатываний, правила необходимо настраивать с учётом контекста: исключать IP-адреса сканеров безопасности, учитывать график работы, создавать белые списки для легитимной активности. Новые правила сначала запускаются в режиме «тени», только логируя срабатывания без генерации алертов.

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

Оставьте комментарий