Перейти к основному содержимому

Steel Shield

Steel Shield — это фреймворк повышения безопасности NetRecon. Он обеспечивает многоуровневую защиту для локальных развёртываний, гарантируя целостность и подлинность всех компонентов платформы.

Обзор​

Steel Shield включает четыре основных механизма безопасности:

ФункцияНазначение
Целостность бинарных файловПроверка того, что исполняемые файлы не были модифицированы
Закрепление сертификатовПредотвращение атак типа «человек посередине» при API-коммуникации
Реагирование на вмешательствоОбнаружение и реагирование на несанкционированные изменения
Защита во время выполненияЗащита от манипуляций с памятью и отладки

Проверка целостности бинарных файлов​

Каждый бинарный файл NetRecon (бэкенд зонда, агенты, сервисы) имеет цифровую подпись. При запуске каждый компонент проверяет свою целостность.

Как это работает​

  1. Во время сборки каждый бинарный файл подписывается закрытым ключом NetRecon
  2. Подпись встраивается в метаданные бинарного файла
  3. При запуске бинарный файл вычисляет SHA-256 хеш самого себя
  4. Хеш проверяется по встроенной подписи
  5. При неудачной проверке бинарный файл отказывается запускаться и записывает оповещение

Ручная проверка​

Проверьте целостность бинарного файла вручную:

# Проверка бэкенда зонда
netrecon-verify /usr/local/bin/netrecon-probe

# Проверка агента
netrecon-verify /usr/local/bin/netrecon-agent

# Ожидаемый вывод:
# Binary: /usr/local/bin/netrecon-probe
# SHA-256: a1b2c3d4e5f6...
# Signature: VALID
# Signed by: NetRecon Build System
# Signed at: 2026-03-15T10:00:00Z

Проверка Docker-образов​

Docker-образы подписаны с использованием Docker Content Trust (DCT):

# Включение проверки доверия к контенту
export DOCKER_CONTENT_TRUST=1

# Загрузка с проверкой подписи
docker pull netrecon/api-gateway:latest

Закрепление сертификатов​

Закрепление сертификатов гарантирует, что компоненты NetRecon взаимодействуют только с легитимными серверами, предотвращая перехват даже в случае компрометации центра сертификации.

Закреплённые соединения​

СоединениеТип закрепления
Агент → ЗондЗакрепление открытого ключа
Admin Connect → ЗондОтпечаток сертификата
Зонд → Update ServerЗакрепление открытого ключа
Зонд → License ServerОтпечаток сертификата

Как это работает​

  1. Ожидаемый хеш открытого ключа сертификата встраивается в каждый клиентский бинарный файл
  2. При установке TLS-соединения клиент извлекает открытый ключ сервера
  3. Клиент вычисляет SHA-256 хеш открытого ключа
  4. Если хеш не совпадает с закреплённым значением, соединение отклоняется
  5. Неудачная проверка закрепления вызывает оповещение безопасности

Ротация закреплений​

При ротации сертификатов:

  1. Новые закрепления распространяются через сервер обновлений до смены сертификата
  2. В переходный период действительны как старые, так и новые закрепления
  3. После завершения перехода старые закрепления удаляются в следующем обновлении

Для локальных развёртываний обновите закрепления в конфигурации:

# /etc/netrecon/security.yaml
certificate_pins:
api_gateway:
- "sha256/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" # Current
- "sha256/BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB=" # Backup

Реагирование на вмешательство​

Steel Shield отслеживает критические файлы и конфигурации на предмет несанкционированных изменений.

Отслеживаемые элементы​

ЭлементЧастота проверкиРеакция
Бинарные файлыПри запуске + каждый 1 часОповещение + опциональное отключение
Файлы конфигурацииКаждые 5 минутОповещение + откат к резервной копии
Целостность базы данныхКаждые 15 минутОповещение + проверка согласованности
TLS-сертификатыКаждые 5 минутОповещение при изменении
Системные пакетыЕжедневноОповещение при неожиданных изменениях

Действия при реагировании​

При обнаружении вмешательства Steel Shield может:

  1. Записать в журнал — зафиксировать событие в журнале аудита безопасности
  2. Оповестить — отправить уведомление через настроенные каналы
  3. Откатить — восстановить изменённый файл из заведомо исправной резервной копии
  4. Изолировать — ограничить сетевой доступ только управлением
  5. Выключить — остановить сервис для предотвращения дальнейшей компрометации

Настройка уровня реагирования:

# /etc/netrecon/security.yaml
tamper_response:
level: "alert_and_revert" # Options: log, alert, alert_and_revert, isolate, shutdown
notify_email: "[email protected]"

База данных целостности файлов​

Steel Shield поддерживает базу данных хешей всех защищённых файлов:

# Инициализация базы данных целостности
netrecon-shield init

# Ручная проверка целостности
netrecon-shield verify

# Ожидаемый вывод:
# Checked 47 files
# Status: ALL INTACT
# Last verified: 2026-03-15T14:30:00Z

Защита во время выполнения​

Защита от отладки​

В продуктивном режиме бинарные файлы NetRecon включают меры защиты от отладки:

  • Обнаружение подключённых отладчиков (ptrace в Linux, IsDebuggerPresent в Windows)
  • Проверки тайминга для пошагового выполнения
  • При обнаружении отладки в продуктивной среде процесс корректно завершается
к сведению

Защита от отладки отключена в сборках для разработки, чтобы обеспечить нормальный процесс отладки.

Защита памяти​

  • Чувствительные данные (токены, ключи, пароли) хранятся в защищённых областях памяти
  • Память очищается после использования для предотвращения утечки остаточных данных
  • В Linux используется mlock для предотвращения выгрузки чувствительных страниц на диск

Конфигурация​

Включение Steel Shield​

Steel Shield включен по умолчанию в продуктивных развёртываниях. Настройте его в:

# /etc/netrecon/security.yaml
steel_shield:
enabled: true
binary_integrity: true
certificate_pinning: true
tamper_response: true
runtime_protection: true
integrity_check_interval: 3600 # seconds
tamper_check_interval: 300 # seconds

Отключение для разработки​

Для сред разработки и тестирования:

steel_shield:
enabled: false

Или отключение отдельных функций:

steel_shield:
enabled: true
binary_integrity: false # Skip hash verification during dev
runtime_protection: false # Allow debugger attachment

Журнал аудита​

Все события Steel Shield записываются в журнал аудита безопасности:

# Просмотр последних событий безопасности
netrecon-shield audit --last 24h

# Экспорт журнала аудита
netrecon-shield audit --export csv --output security-audit.csv

Записи журнала аудита включают:

  • Временную метку
  • Тип события (integrity_check, pin_validation, tamper_detected и т.д.)
  • Затронутый компонент
  • Результат (pass/fail)
  • Предпринятое действие
  • Дополнительные детали

Особенности локального развёртывания​

При локальном развёртывании учитывайте следующее:

  1. Пользовательские сертификаты: если вы используете собственный ЦС, обновите конфигурацию закрепления сертификатов после развёртывания
  2. Обновления бинарных файлов: после обновления бинарных файлов выполните netrecon-shield init для пересоздания базы данных целостности
  3. Резервное копирование базы данных целостности: включите /etc/netrecon/integrity.db в процедуру резервного копирования
  4. Мониторинг оповещений: настройте email- или webhook-уведомления для оповещений о вмешательстве

Часто задаваемые вопросы​

В: Может ли Steel Shield вызывать ложные срабатывания? О: Ложные срабатывания редки, но могут возникать после системных обновлений, изменяющих общие библиотеки. Выполните netrecon-shield init после системных обновлений для обновления базы данных целостности.

В: Влияет ли Steel Shield на производительность? О: Влияние на производительность минимально. Проверки целостности выполняются в фоновом потоке и обычно завершаются менее чем за 1 секунду.

В: Можно ли интегрировать оповещения Steel Shield с моей SIEM? О: Да. Настройте вывод syslog в конфигурации безопасности для перенаправления событий в вашу SIEM. Steel Shield поддерживает форматы вывода syslog (RFC 5424) и JSON.

В: Обязателен ли Steel Shield для продуктивных развёртываний? О: Steel Shield настоятельно рекомендуется, но не является строго обязательным. Вы можете его отключить, но это удалит важные средства защиты безопасности.

Для получения дополнительной помощи свяжитесь с [email protected].