Практическое руководство по конфигурации, правилам и тестированию
При внедрении Suri Oculus важно не просто запустить Suricata, а корректно настроить её так, чтобы:
- корректно захватывался трафик,
- полноценно загружались сигнатуры,
- работали кастомные правила,
- поддерживалась IOC-интеграция,
- и создавалась чистая база для поведенческого анализа.
Ниже — системная схема настройки, основанная на практическом тестировании.
1. Захват трафика: два интерфейса (WAN + LAN) #
Если Suricata развернута в виртуальной машине с двумя интерфейсами:
enp1s0— WANenp2s0— изолированная LAN
Собирать трафик нужно с обоих интерфейсов.
Почему это важно:
- WAN показывает внешние угрозы
- LAN показывает последствия, lateral movement и поведение хостов
- HBF (Host Behavior Fingerprint) требует полной картины
Рекомендуемая конфигурация af-packet:
af-packet:
- interface: enp1s0
cluster-id: 99
cluster-type: cluster_flow
defrag: yes
tpacket-v3: yes
snaplen: 65535
- interface: enp2s0
cluster-id: 98
cluster-type: cluster_flow
defrag: yes
tpacket-v3: yes
snaplen: 65535
Важноtpacket-v3: yes— снижает нагрузку и уменьшает packet losssnaplen: 65535— устраняет проблемуtruncated packet- cluster-id должен отличаться
2. Ошибка «truncated packet» — что это было #
Если в логах появляется:
SURICATA AF-PACKET truncated packetSURICATA IPv4 truncated packet
Причина чаще всего — слишком маленький snaplen.
Решение:
После исправления ошибки исчезают, а потоковые данные становятся корректными. Это особенно важно для:
- HTTP parsing
- TLS fingerprinting
- AI-анализa
3. Проверка загрузки правил #
После запуска Suricata в логе должно быть:
Если вы не видите этого в консоли при suricata -T, проверьте файл:
4. Ключевой момент: блок rule-files #
В конфигурации Suricata обязательно должен быть корректно задан раздел:
default-rule-path: /var/lib/suricata/rulesrule-files:
- suricata.rules
- additional.rules
# - ioc_url.rules
# - ioc_ip.rules
# - ioc_domain.rules
Это принципиально важно.
Что означает каждая строка #
suricata.rules #
Основной агрегированный ruleset (например, ET Open).
additional.rules #
Файл пользовательских правил Suri Oculus.
ioc_*.rules #
Генерируются системой Suri Oculus автоматически на основе базы IOC.
5. Файл additional.rules #
Этот файл предназначен для пользовательских DNS-блокировок через dataset-механизм.
Пример:
drop dns $HOME_NET any -> any any (msg:"Oculus Social DNS Query";dns.query;
dataset:isset, social.blst, type string, load /var/lib/suricata/social.blst, memcap 10mb, hashsize 1024;
classtype:trojan-activity;
sid:2000003; rev:1;)
Назначение правил: #
- Блокировка соцсетей
- Блокировка adult-контента
- Блокировка gambling
- Блокировка fake news
- Универсальные blacklists
Почему используется dataset #
- высокая производительность
- динамическая загрузка списков
- обновление без пересборки правил
Обновление .blst файлов выполняется инструментами Oculus.
6. IOC-интеграция #
Файлы:
ioc_url.rulesioc_ip.rulesioc_domain.rules
Формируются автоматически системой Suri Oculus на основе базы индикаторов компрометации.
Это позволяет:
- интегрировать threat intelligence
- автоматически применять новые сигнатуры
- централизованно управлять политиками
Важно: если строки закомментированы, IOC-правила не будут загружаться.
7. HOME_NET — критический параметр #
Если сканирование или FTP “вяло” детектируются — почти всегда проблема в HOME_NET.
Пример корректной настройки:
vars:address-groups:HOME_NET: "[10.10.10.0/24]"
EXTERNAL_NET: "!$HOME_NET"
Для лаборатории допустимо временно:
8. Проверка реального детекта #
Для диагностики:
suricatasc -c dump-counters
И мониторинг:
tail -f /var/log/suricata/eve.json9. Организация тестовых атак #
Для лабораторной проверки рекомендуется последовательность:
- ping
- nmap -sS
- nmap -p-
- siege или ab
- hydra FTP
- hping3 короткий burst
- nikto
Это позволит проверить: #
- сигнатуры ET SCAN
- FTP detection
- HTTP parsing
- flow logging
- threshold-правила
- корректность HOME_NET
10. Проверка топологии #
Очень важно:
Suricata должна реально видеть трафик.
Проверка:
Если tcpdump не видит трафик — Suricata тоже его не увидит.
11. Почему всё это важно для Suri Oculus #
Suri Oculus — это не просто IDS-интерфейс.
Это:
- система визуализации
- система управления правилами
- IOC-интеграция
- поведенческий анализ
- Host Behavior Fingerprint
- baseline сравнение
Если конфигурация Suricata неточна:
- AI будет получать искажённые данные
- flow статистика будет неполной
- корреляция WAN → LAN будет нарушена
Итог #
Правильная настройка Suricata для Suri Oculus включает:
- AF_PACKET с tpacket-v3
- snaplen 65535
- корректный HOME_NET
- подключённый suricata.rules
- подключённый additional.rules
- опционально IOC rules
- активный eve-log
- реальную видимость трафика
Только в этом случае Suricata становится полноценной платформой IDS/IPS, а Suri Oculus — инструментом аналитики и управления.
Если вы разворачиваете Suri Oculus в лаборатории — обязательно протестируйте систему до начала эксплуатации.
Если вы разворачиваете её в production — сначала выстройте корректную топологию.
Это фундамент всей системы.