IDS (Intrusion Detection System, система обнаружения вторжений) — инструмент мониторинга, который отслеживает сетевой трафик или системные события и сигнализирует об обнаруженных угрозах. В отличие от WAF и межсетевого экрана, классический IDS не блокирует трафик — только детектирует. Версия с активным реагированием называется IPS (Intrusion Prevention System).
Типы IDS
- NIDS (Network IDS) — анализирует трафик на уровне сети. Устанавливается на зеркальный порт (SPAN) или TAP-устройство. Примеры: Snort, Suricata, Zeek.
- HIDS (Host IDS) — работает непосредственно на хосте, анализирует системные вызовы, файловую систему и лог-файлы. Примеры: OSSEC, Wazuh, AIDE (контроль целостности файлов).
- NIPS / HIPS — активные версии, блокирующие атаки в реальном времени.
Методы обнаружения
Сигнатурный анализ (signature-based) — сравнивает трафик с базой известных атак. Быстрый и точный для известных угроз, но беспомощен против zero-day. Snort использует эту модель с правилами вида alert tcp any any -> $HOME_NET 22.
Поведенческий анализ (anomaly-based) — строит модель нормального поведения и сигнализирует об отклонениях. Эффективен против новых атак, но даёт больше ложных срабатываний. Suricata поддерживает оба метода одновременно.
Анализ состояния протоколов — проверяет соответствие трафика RFC-спецификациям протоколов (например, аномальные HTTP-заголовки или нестандартное TCP-поведение).
История
Концепцию IDS сформулировал Джеймс Андерсон в докладе 1980 года «Computer Security Threat Monitoring and Surveillance». Первая практическая реализация — IDES (Intrusion Detection Expert System) Дороти Деннинг, 1986 год. Snort — самый популярный open-source IDS — создал Марти Роэш в 1998 году. В 2009 году появился Suricata с поддержкой многопоточности и GPU-ускорения обработки пакетов.
IDS в серверной инфраструктуре
Для VPS и выделенных серверов HIDS-решение Wazuh (форк OSSEC) покрывает ключевые задачи: мониторинг целостности файлов (/etc/passwd, /etc/ssh/sshd_config), анализ аутентификационных логов (brute-force через SSH), контроль rootkit и нестандартных процессов. Интеграция с fail2ban позволяет автоматически блокировать IP-адреса атакующих через nftables или iptables после срабатывания правила IDS.
Связка Suricata + Elasticsearch + Kibana (стек ELK) или Suricata + Grafana образует полноценный SIEM (Security Information and Event Management) для мониторинга угроз в реальном времени. Suricata обрабатывает до 10 Гбит/с трафика на современном многоядерном сервере.
Типы IDS и IPS
NIDS (Network IDS) анализирует трафик на уровне сети — размещается у шлюза или на span-порту коммутатора и видит весь проходящий трафик. HIDS (Host IDS) работает на конкретном сервере: анализирует системные вызовы, изменения файлов, логи аутентификации. Ossec, Wazuh — HIDS. Snort, Suricata — NIDS.
IPS (Intrusion Prevention System) — расширение IDS с возможностью блокировки. Размещается inline в сетевом пути и может сбрасывать соединения или блокировать IP. Suricata работает как IDS в passive-режиме (анализ зеркалированного трафика) и как IPS в inline-режиме (через Netfilter nftables).
Методы обнаружения
- Signature-based — сравнение с базой сигнатур известных атак. Быстро, точно для известных угроз, слепо к новым (0-day). Snort Rules, Emerging Threats — базы сигнатур для Snort/Suricata.
- Anomaly-based — отклонение от нормального базового профиля. Обнаруживает новые угрозы, высокий процент ложных срабатываний на старте.
- Stateful protocol analysis — верификация соответствия трафика протоколу. Детектирует атаки на уровне нарушений RFC (например, TCP-сегменты с флагами, нарушающими конечный автомат).
Wazuh как SIEM + HIDS
Wazuh — open-source платформа, объединяющая HIDS-агентов на серверах с централизованным SIEM-менеджером. Агент собирает события: изменения файлов (FIM — File Integrity Monitoring), аутентификации, системные вызовы. Менеджер коррелирует события, генерирует алерты, интегрируется с Elasticsearch/OpenSearch для поиска по логам.
Для хостинг-серверов Wazuh закрывает требования: детекция rootkit, мониторинг изменений в /etc и /var/www, алерты на брутфорс SSH, проверка соответствия CIS Benchmark. Минимальные ресурсы на агент: 100 МБ ОЗУ, 100 МБ диска.