Обзор — что делает экран
Обзор безопасности (/security) — это центральный экран ролевой области безопасности. Он выводит на поверхность «скрытую телеметрию», которую InfraGuard уже собирает, оценивает и автоматически нейтрализует, но которая ни разу не была визуализирована, — в виде единого повествования-воронки защиты.
Главная мысль умещается в одну фразу: «Прямо сейчас автоматическая защита на базе ИИ и IDS блокирует враждебные сети.» Чтобы это звучало убедительно, экран сразу показывает:
- Четырёхступенчатую воронку защиты — угроза (исходные события) → обнаружение (пометки) → набор правил автоматического реагирования (правила каталога + наборы JA3) → реагирование (блокировки). У каждой ступени есть измеренное значение.
- Индикатор интенсивности угроз — коническое градиентное кольцо, вычисленное из оценки безопасности (чем больше, тем опаснее).
- Карточки автоматического реагирования — угроз в час, угроз за 24 ч, активных блокировок /24, блокировок за 24 ч.
- Панель нарушителей JA3 — главные нарушители по отпечатку JA3 за последние 6 часов (кандидаты на автоматизацию / ботнет).
- Топ IP-адресов угроз + лента недавних автоматических действий (повествование «почему мы заблокировали»).
- Тренд угроз — спарклайн за выбранное окно.
Всё только для чтения — этот экран никогда ничего не блокирует и не изменяет. Реальные операции выполняются в разделах Угрозы, Блок-лист и репутация и Обнаружения.
Здесь нет «домена» — Обзор безопасности представляет собой сводку по ролевой области (операции безопасности), а не по веб-TLD.
Когда использовать
- В начале смены, чтобы за 30 секунд охватить всё состояние защищённости.
- Чтобы убедительно объяснить руководству или аудиторам, что блокировка действительно работает (значения воронки + доля автоматизации).
- Чтобы заметить всплеск угроз на спарклайне тренда, затем выбрать подозрительный IP и углубиться в Угрозы / Обнаружения.
- Чтобы быстро просмотреть обнаруженные ботнеты и сканеры JA3, и перейти к подробным наборам правил.
Компоновка
Верх — индикатор интенсивности угроз + воронка защиты
| Область | Содержимое |
|---|---|
Интенсивность угроз (t.ov.score) |
Оценка безопасности в виде конического градиентного кольца. Отображаемое значение = 100 − score (чем больше, тем хуже). Подзаголовок: «чем больше, тем опаснее; по тому, что осталось без реакции». |
Воронка защиты (t.ov.funnel_title) |
Четыре полосы ступеней, сужающиеся сверху вниз, каждая с измеренным значением и подписью. |
Середина — автоматическое реагирование + тренд угроз
| Карточка | Содержимое |
|---|---|
Автоматическое реагирование (t.ov.resp_title) |
Четыре плитки показателей: угроз в час · угроз за 24 ч · активных блокировок /24 · блокировок за 24 ч. |
Тренд угроз (t.ov.tseries_title) |
SVG-спарклайн оповещений IDS, сведённых в 30 корзин, с метаданными Σ total · ▲ max/bucket-min и значком задержки сбора (⏱ Nm). |
Низ — нарушители JA3 · топ IP-адресов угроз · недавние автоматические действия
- Анализ последовательностей JA3 (
t.ov.ai_title) — главные нарушители за последние 6 часов в сетке 3×3 (до 9 карточек). На каждой карточке показаны разнообразие JA3 · число TLS-соединений · разнообразие SNI · страна/ASN/провайдер · значок «заблокирован», а также полоса ротации и тег поведения, который браузер выбирает изt.ov.ai_behavior(поэтому он следует языку читателя). Щелчок по IP открывает всплывающее окно репутации; сами наборы правил находятся в разделе Обнаружения. - Топ IP-адресов угроз (
t.ov.top_title) — оповещения · критичность · число различных сигнатур · последнее появление · признак блокировки · страна. - Недавние автоматические действия (
t.ov.feed_title) — недавно заблокированные диапазоны /24 со страной · меткой источника (Kitsune/Suricata/вручную) · краткой причиной · отметкой времени.
Элементы управления в шапке
- Переключатель окна:
1h / 6h / 24h(по умолчанию 24h). - Переключатель LIVE / PAUSED: включает и выключает автоматический опрос раз в 30 секунд.
- Кнопка Полный экран: скрывает верхнюю навигацию для режима дашборда (выход по ESC).
- stamp: время последнего вычисления.
Как пользоваться
- Посмотрите на верхний индикатор интенсивности угроз, чтобы оценить текущий уровень риска (чем больше, тем хуже).
- Прочитайте воронку защиты сверху вниз и проследите историю: «сколько пришло (угроза) → сколько было помечено (обнаружение) → сколько наборов правил сработало (автоматическое реагирование) → сколько было заблокировано (реагирование)».
- Обратите внимание на всплески на спарклайне тренда угроз. Большое значение на значке
⏱ Nmозначает, что сбор данных отстаёт, поэтому трактуйте значения как актуальные на момент этой опорной отметки. - Выберите подозрительный IP среди нарушителей JA3 / топа IP-адресов угроз, затем перейдите в Угрозы / Обнаружения для глубокого расследования, проверки репутации и блокировки.
- По ленте недавних автоматических действий посмотрите, что именно автоматическая защита только что заблокировала и почему.
Точное определение ступеней воронки
Каждое значение ограничено выбранным окном (1h/6h/24h). Их вычисляет SecurityOverviewService::compute().
| Ступень | Ключ | Формула | Источник |
|---|---|---|---|
| Угроза | threats |
alertCount + nginxSuspiciousCount |
suricata_alert_ct + nginx_meta_ct (is_suspicious=1) |
| Обнаружение | detections |
distinctAlertIps + kitsuneBlockedCount |
различные src_ip (suricata_alert_ct) + kitsune_detail_log (is_blocked=1) |
| Набор правил автоматического реагирования | rulesets |
active rulesets + firing rulesets |
infr_sec_ruleset (status=active) + сработавшие из каталога на 44 набора правил |
| Реагирование | response |
blockedCount |
blacklist_info (created_at ≥ окна) |
Значение «набор правил автоматического реагирования» — это НЕ количество исходных сигнатур (sid). Оно считается в той же единице «набор правил», что и библиотека наборов правил (используется тот же RulebookService), поэтому никогда не превышает каталог из 44 элементов и совпадает с экраном «Наборы правил».
Определения показателей на карточках автоматического реагирования
| Показатель | Значение | Вычисление |
|---|---|---|
| Угроз в час | threats_hr |
оповещения за 24 ч от опорной отметки ÷ 24 |
| Угроз за 24 ч | threats_24h |
alertCount за 24 ч от опорной отметки |
| Активных блокировок /24 | active |
количество записей blacklist_info с is_use=1 |
| Блокировок за 24 ч | blocks_24h |
blockedCount за последние 24 ч |
В разделе автоматического реагирования есть также тексты для «изоляции (автоматически)» и «международного взаимодействия (вручную)» (
resp.isolate/resp.coop), но эти два пункта относятся к более поздней фазе и будут подсчитываться после развёртывания инструментов реагирования — сегодня реально вычисляются только четыре показателя выше.
Формула интенсивности угроз (оценки безопасности)
Формулой владеет Services\Security\PostureService (пересмотрена 2026-09-04). Это то же число, что показывает карточка «Основа безопасности» в Overview:
score = weighted mean of ids, ai, web, rep, tls, fw # each metric 0..100
metric = 100 − 45 × open / (total + floor) # open = 0 -> metric = 100
displayed threat intensity = 100 − score # 0..45, higher = worse
open= то, что не удалось остановить,total= всё наблюдавшееся того же рода (включая заблокированное), floor = константа сглаживания, чтобы малая выборка не раздувала долю.- Нулевой остаток даёт метрике 100 — сколько бы атак ни было, остановить их все не повод снижать оценку.
- Обработанным считается как
blacklist_info(применено), так иblacklist(в очереди). Собственные сети исключаются и из числителя, и из знаменателя. - Прежняя формула снимала баллы за число блокировок в
kitsune_detail_logи подозрительные запросы вnginx_meta_ct, поэтому оценка падала тем сильнее, чем успешнее работала автозащита. - Оценка ограничена снизу значением 55 (= интенсивность угроз не выше 45).
Источники данных
Все значения по угрозам, обнаружениям и блокировкам читаются из больших таблиц телеметрии на устаревшем соединении legacy_glory, только для чтения. Учётные данные берутся исключительно из config('database.connections.legacy_glory') (= .env) и никогда не прописываются в коде.
| Таблица | Соединение | Использование |
|---|---|---|
suricata_alert_ct |
legacy_glory | оповещения IDS (угроза, обнаружение, топ IP-адресов угроз, тренд). Индекс alert_ts |
nginx_meta_ct |
legacy_glory | подозрительные веб-запросы (is_suspicious). idx_suspicious |
kitsune_detail_log |
legacy_glory | блокировки по аномалиям ML (is_blocked) |
suricata_tls_ct |
legacy_glory | последовательности отпечатков JA3 (нарушители JA3) |
blacklist_info |
legacy_glory | автоматические и ручные блокировки (CIDR /24). реагирование, активные блокировки, лента |
ip_info_loop |
legacy_glory | обогащение geo/ASN/провайдер (ipEnrichment) |
infr_sec_ruleset |
приложение (MAIN) | наборы правил по последовательностям JA3 (число активных наборов + сводка) |
Дисциплина производительности и актуальности
- Запросы используют только узкие временные окна + индексы + LIMIT (чтобы избежать медленных запросов на огромных таблицах).
SecurityRepositoryизолирует их с помощью построителя запросов и привязки параметров. - Опорная отметка = время последнего оповещения (
latestAlertTs()=MAX(alert_ts)). Когдаnow()уходит вперёд относительно данных из-за отставания eve_ingest, временной ряд и статистика за 24 ч привязываются к этой отметке, чтобы убрать «пустой хвост». Задержка более 5 минут отображается значком⏱ Nm. - Кэш на 30 секунд: результаты кэшируются на 30 секунд по ключу
infr:sec:ov:{range}, что соответствует опросу раз в 30 секунд. Отдельные сбои чтения поглощаетsafe(), поэтому одна неисправная область не останавливает всю воронку.
SecurityScope — автоматическое исключение собственной сети
Списки топа IP-адресов угроз и нарушителей JA3 автоматически исключают вашу собственную сеть, чтобы ваши серверы не выглядели как атакующие (без жёстко прописанных значений).
SecurityScope::excludePrefixes()объединяет зарегистрированные инстансы (публичные, приватные и NIC-адреса изinfr_instance→ префикс /24) с белым списком операционной политики (internal_networks— IP-адреса, префиксы, CIDR) в массив префиксов.- Эти префиксы применяются в запросе как
src_ip NOT LIKE 'prefix%'(с привязкой параметров). - Матчер кэшируется на 60 секунд и сбрасывается при каждом сохранении Операционной политики.
e.g. register 203.0.113.10 in infr_instance → prefix "203.0.113." auto-excluded
add 10.0.0.0/8 to OpsPolicy internal_networks → CIDR → "10." coarse prefix excluded
Если ваши собственные серверы продолжают появляться среди угроз или нарушителей, зарегистрируйте эти IP в разделе Активы ▸ Инстансы либо добавьте их в белый список
internal_networksв Операционной политике. Они исчезнут из списков автоматически.
Доступ
- Вся область
/security/*, включая этот экран, защищена посредникомinfr.level:2— для входа необходимuser_level ≥ 2. - Поэтому учётная запись demo (1) не имеет доступа к данным безопасности, а staff (5) и admin (10) могут их просматривать.
- Обзор безопасности полностью доступен только для чтения — здесь нет действий записи, блокировки или редактирования, поэтому ему не нужны ни повышение прав, ни журнал аудита. Реальные блокировка и разблокировка выполняются в разделе Блок-лист и репутация (запись при уровне ≥ 2 + аудит).
Устранение неполадок и частые вопросы
В. Все значения воронки равны 0.
Возможно, в выбранном окне (1h/6h/24h) нет данных либо соединение legacy_glory недоступно. Расширьте окно до 24h; если значок задержки ⏱ очень велик, значит, один из коллекторов (eve_ingest / kts_tx / srct_tx) остановился и данные устарели.
В. IP-адрес нашего собственного сервера появляется в топе угроз или нарушителей.
Исключение собственной сети его не охватывает. Зарегистрируйте этот IP в разделе Инстансы либо добавьте его в internal_networks в Операционной политике (SecurityScope исключает по префиксу /24).
В. Число в «наборе правил автоматического реагирования» отличается от библиотеки наборов правил.
Ступень наборов правил равна active rulesets + firing rulesets. К ней прибавляются активные наборы правил по последовательностям JA3 (infr_sec_ruleset со статусом active), поэтому значение может превышать чистое число срабатываний каталога.
В. В наборе правил указано action=block, но ничего не заблокировано.
Это поле — рекомендация, а не команда. Автоблокировка вычисляет ротацию JA3 напрямую из suricata_tls_ct и никогда не читает infr_sec_ruleset; фактическая блокировка выполняется из Списка блокировок или планировщиком автоблокировки. См. Обнаружения.
В. Интенсивность угроз всегда низкая (≤45).
Так и задумано. Отображаемое значение равно 100 − score, а оценка ограничена снизу значением 55, поэтому интенсивность угроз лежит в диапазоне 0..45.
В. Числа слегка колеблются каждые 30 секунд. Это результат сочетания опроса раз в 30 секунд и кэша на 30 секунд: при каждом опросе всё пересчитывается по самому свежему окну. Отключите LIVE, чтобы остановить автообновление.
Связанные разделы
- Угрозы — сортировка сущностей угроз IDS, детализация по IP, связь с блокировкой.
- Обнаружения + JA3 — описание алгоритмов обнаружения и наборы правил для последовательностей JA3 (анализ по требованию).
- Библиотека наборов правил — каталог из 44 наборов правил обнаружения (эталонный источник числа срабатываний).
- Блок-лист и репутация — описание автоматической защиты на базе blacklist_info + управление блокировкой и разблокировкой.
- Операционная политика — белый список
internal_networks(исключение собственной сети через SecurityScope). - Проверка репутации IP — всплывающее окно AbuseIPDB внутри приложения.

