
HoneyWire hub/v2.1.0
Открытая платформа обмана, превращающая любой компьютер под управлением Linux в высокосигнальную канарейку. Развертывайте датчики-ловушки на файлах, портах и сетевых службах для обнаружения злоумышленников с мгновенной криминалистикой и push-уведомлениями.
HoneyWire
📋 Содержание
- Обзор
- Демонстрация
- Универсальный стандарт событий
- Возможности
- Архитектура
- Краткое руководство по началу работы
- Замечания по безопасности
- Технологический стек
- Дорожная карта и разработка
- Версионирование и справочник API
Обзор
HoneyWire — это легковесный распределённый конструктор систем раннего предупреждения о вторжениях с высоким сигналом, предназначенный для внутренних сетей. Благодаря своей архитектуре и UX он позволяет невероятно легко развернуть новый сервер Cyber Canary или установить HoneyWires на уже существующие. Используя технологию обмана (deception), он заменяет подход «увеличительного стекла» традиционных SIEM-систем, которые часто перегружают аналитиков ложными срабатываниями при мониторинге легитимного трафика, на модель High-Fidelity Tripwire.
Разместите датчик ровно там, где нужно. Если он сработает — у вас вторжение.
- Production Tripwires: Поднимают тревогу, когда активные сервисы «прощупывают» способами, которыми не должны. Разместив датчик на чувствительном файле, который никогда не должен читаться, или на порту сервиса, к которому никогда не должно быть доступа, вы выявляете злоумышленников по их отклонению от «разрешённого пути».
- Synthetic Deception: Разворачивайте приманки, такие как ICMP Canary или Network Scan Detector, в качестве ловушек. Поскольку эти датчики не несут легитимной бизнес-ценности, 100% их трафика — это действенная разведывательная информация.
Разверните несколько датчиков — и у вас появится довольно чёткая картина бокового перемещения злоумышленника. Никакой настройки, никакого шума — только мгновенная криминалистика. Если ваши легитимные автоматизированные сканеры безопасности вызывают срабатывание HoneyWires, просто добавьте их в белый список в настройках Hub.
Демонстрация
🔌 Универсальный стандарт событий (Bring Your Own Sensor)
Примечание: Если вы создаёте свой датчик с использованием официальных HoneyWire SDK, форматирование JSON и доставка обрабатываются автоматически.
Настоящая мощь HoneyWire заключается в том, что Hub и Wizard полностью не зависят от типа датчиков. Вы не ограничены входящими в комплект официальными датчиками.
Следуя HoneyWire Event Standard V2.0, вы можете написать скрипт на любом языке (Bash, Go, Rust, Python) для мониторинга чего угодно, и интерфейс Sentinel будет динамически разбирать, подсвечивать синтаксис и отображать ваши криминалистические данные.
Будь то механизм Deep Packet Inspection (DPI), DNS sinkhole, Canary Token, встроенный в PDF, Email Honeypot или простой TCP Port Tripwire — просто отправьте JSON-нагрузку Universal Event Standard на Hub.
Возможности
- Интерфейс Sentinel Hub: Полностью адаптивная панель управления на Vue 3 с динамической проверкой криминалистических нагрузок, развёртыванием и управлением Nodes и Sensors, включая обновление датчиков, прямо из интерфейса.
- Универсальные push-уведомления: Нативная интеграция без дополнительных зависимостей для маршрутизации критических оповещений в Discord, Slack, Ntfy и Gotify.
- Интеграция с корпоративными SIEM: Нативная пересылка RFC5424 Syslog (TCP/UDP) для бесшовной передачи структурированной телеметрии в Splunk, Elastic, Wazuh или Vector.
- Мастер настройки (Setup Wizard): Инструмент автоматизации развёртывания и тестирования, разработанный специально так, чтобы не быть постоянно работающим агентом. Это просто TUI CLI-инструмент, который автоматизирует задачи оператора, такие как применение и согласование желаемого состояния Hub для конкретного Node, автоматически обрабатывая конфигурацию, развёртывание и откат при неудачных развёртываниях.
- Набор официальных HoneyWires: Включает нативные TCP Tarpit, Web Router Decoy, File Canary (FIM), ICMP Canary и Network Scan Detector.
Архитектура
HoneyWire разделён на четыре независимых микросервиса:
/Hub: Центральный мозг. Чистый Go-бинарник со встроенной базой данных SQLite и панелью управления Vue.js. Работает от непривилегированного пользователя внутри контейнера Distroless, безопасно монтируя данные в выделенный том./Sensors: Узлы-приманки. Статически слинкованные Go-бинарники, которые слушают уязвимые порты, ловят атакующих и безопасно отправляют данные о вторжениях обратно на Hub./SDKs: Официальные библиотеки (например,sdk-go), которые обеспечивают безопасную связь с Hub, чтобы разработчики сообщества могли легко создавать новые датчики./wizard: CLI-инструмент мастера настройки для автоматизации задач оператора, таких как обнаружение, развёртывание и тестирование HoneyWires.
Полная документация по архитектуре Руководство по эксплуатации
🚀 Краткое руководство по началу работы
Развёртывание HoneyWire Hub занимает менее 60 секунд с использованием наших готовых образов GitHub Container.
1. Разверните Hub
Создайте новую директорию на вашем сервере, создайте файл docker-compose.yml и вставьте следующее:
services:
# 1. ИСПРАВИТЕЛЬ ПРАВ: Запускается один раз, чтобы Hub мог записывать в том данных
permission-fixer:
image: alpine:latest
container_name: honeywire-permission-fixer
command: sh -c "chown -R 65532:65532 /data"
volumes:
- ./honeywire_data:/data
# 2. HUB: Центральная панель управления и API на Go
hub:
image: ghcr.io/andreicscs/honeywire-hub:latest
container_name: honeywire-hub
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- ./honeywire_data:/data
depends_on:
permission-fixer:
condition: service_completed_successfully
# Строгая песочница безопасности
user: "65532:65532"
read_only: true
cap_drop: ["ALL"]
security_opt: ["no-new-privileges:true"]
environment:
- HW_ENV=development # Требуется, если не используется HTTPS, иначе cookie будет иметь флаг secure; в продакшене настоятельно рекомендуется удалить это и запускать за обратным прокси с https
- HW_PORT=8080
- HW_DB_PATH=/data/honeywire.db
# Опционально: Захардкодить пароль панели управления (отключает функцию сброса пароля в UI)
# - HW_DASHBOARD_PASSWORD=admin
Запустите Hub:
docker compose up -d
2. Инициализация системы
Перейдите в браузере по адресу http://<ip-вашего-сервера>:HW_PORT. Вас встретит экран Initialize Sentinel.
- Создайте ваш Master Password.
- Проверьте URL конечной точки Hub (IP/URL, по которому датчики будут обращаться к Hub).
- Нажмите «Initialize Hub».
3. Развёртывание датчиков
- Создайте новый Node и вставьте предоставленную команду для установки и привязки Setup Wizard к Hub.
- Устанавливайте датчики прямо из Hub, затем выполните
honeywire applyна узле для согласования желаемого состояния или выполнитеhoneywire discover, чтобы мастер настройки автоматически просканировал и предложил HoneyWires на основе окружения.
4. Тестирование HoneyWires
После запуска контейнеров датчик Tarpit должен появиться как ONLINE в течение 30 секунд.
Выполните honeywire firedrill, чтобы HoneyWires отправили тестовое событие на Hub для проверки связи.
Примечание: Для более глубокого изучения управления узлами, обновления датчиков и обработки откатов см. Руководство по эксплуатации.
Замечания по безопасности
- Модель угроз: Для глубокого изучения границ доверия, рисков архитектуры и правил песочницы см. THREATMODEL.md.
- Ключи узлов: Убедитесь, что ваши датчики используют свой уникальный
Node Keyдля связи с Hub. Hub отклонит любые нагрузки с несовпадающими или недействительными ключами. - Армирование системы: Вы можете переключать кнопку «System Armed» в интерфейсе Hub, чтобы временно отключить push-уведомления во время внутреннего обслуживания сети или сканирования уязвимостей.
- Укрепление контейнеров: HoneyWire использует
gcr.io/distroless/static-debian12:nonroot. Мы следуем принципу наименьших привилегий, чтобы в случае компрометации контейнера ущерб был локализован. - Распределённое развёртывание: Настоятельно рекомендуется запускать Hub и его датчики на отдельных физических или виртуальных машинах. Если злоумышленник скомпрометирует узел датчика, у него не должно быть немедленного локального доступа к централизованному Hub.
- ⚠️ Шифрование (HTTPS): Всегда обслуживайте веб-интерфейс и API Hub через HTTPS с использованием обратного прокси (например, Nginx, Caddy или Traefik) в продакшене. Несоблюдение этого требования подвергает ваш пароль панели управления и Node Keys риску перехвата в сети.
Технологический стек
- Бэкенд: Go 1.25,
net/http(стандартная библиотека), SQLite (ModernC Pure Go Driver) - Фронтенд: Vue 3 (Composition API), TailwindCSS, Chart.js
- Инфраструктура: Docker, Docker Compose v5.0.0+
Дорожная карта и разработка
HoneyWire активно развивается в сторону полноценной enterprise-платформы обмана, управляемой через GitOps.
- Посмотрите публичную дорожную карту, чтобы узнать, что мы сейчас создаём (функции v2.2.0, переработка IaC в v3.0.0 и предстоящие бенчмарки SIEM).
- Хотите повлиять на дорожную карту? Мы сильно полагаемся на обратную связь сообщества. Заходите в наши GitHub Discussions, чтобы голосовать за будущие функции, предлагать новые типы приманок или делиться тем, как вы используете HoneyWire в своей лаборатории.
Версионирование и справочник API
- Версии HoneyWire управляются через Git Tags.
- Конечная точка
Hub:GET /api/v2/version→ возвращает{ "version": "v2.x.x" }
- Файл документации API: API.md с полным справочником маршрутов бэкенда и примерами нагрузок.