GhostNet (GNA): Защищенная распределенная сеть на принципах Zero Trust
Обзор Проекта
GhostNet (GNA) предлагает решение для построения собственной, независимой и полностью подконтрольной сетевой инфраструктуры. Это Open Source проект энтузиастов, нацеленный на создание модульной оверлейной сети (Overlay Network), работающей поверх любого интернет-соединения.
GhostNet решает ключевые проблемы:
- Уязвимость периметра: Вместо доверия к IP-адресам используется криптографическая аутентификация каждого пакета.
- Сложность настройки: Автоматическое обнаружение узлов (Zero Config) и пробитие NAT избавляют от ручной правки маршрутов.
- Зависимость от провайдеров: Сеть работает поверх любых каналов связи, шифруя трафик и скрывая топологию от наблюдателя.
Философия и Назначение
GhostNet создан не как коммерческий продукт, а как мощный инструмент для тех, кто хочет:
- Объединить разрозненные устройства (сервера, ноутбуки, IoT) в единую плоскую сеть, где бы они ни находились.
- Изолировать критические сервисы (базы данных, админки, CI/CD) от публичного интернета, сделав их невидимыми для сканеров.
- Контролировать свои данные: Весь трафик шифруется на конечных устройствах ключами, к которым нет доступа даже у ретранслятора (Lighthouse).
- Получить свободу маршрутизации: Использовать любой узел сети как шлюз (Exit Node) для выхода в интернет.
Это платформа для построения приватного цифрового пространства, где правила задаете вы, а не ваш провайдер.
Архитектура и Компоненты
Система построена на модульном принципе разделения обязанностей:
1. gna_ca_server (Центр Сертификации)
"Ядро Доверия". Этот компонент отвечает за то, кто имеет право находиться в вашей сети.
- Изоляция: Работает в строгой изоляции (localhost only), не имея прямого выхода в интернет.
- PKI (Public Key Infrastructure): Управляет корневыми ключами и подписывает сертификаты доступа (X.509) для всех участников.
- Anti-Theft: Привязывает сертификат к "железу" (Hardware Fingerprint). Украденный файл ключа бесполезен на другом компьютере.
- Onboarding: Генерирует одноразовые инвайт-токены для безопасного подключения новых устройств.
2. gna_lighthouse (Сигнальный Сервер & Оркестратор)
"Координатор и Маяк". Единственная точка, которая должна иметь "белый" IP-адрес.
- Rendezvous Point: Помогает агентам, находящимся за NAT, найти друг друга и установить прямое P2P-соединение (UDP Hole Punching).
- Blind Relay: Если прямое соединение невозможно, пересылает зашифрованные пакеты между агентами, не имея возможности их прочитать (благодаря PFS).
- DNS Authority: Встроенный DNS-сервер, который мгновенно разрешает имена вида
server.ghostв виртуальные IP, без необходимости править файлыhosts. - Admin Dashboard: Веб-панель для мониторинга сети, управления сертификатами и удаленного выполнения команд (доступна только внутри VPN).
3. gna_agent (Универсальный Агент)
"Рабочая Лошадка". Клиентское приложение для Windows и Linux.
- TUN-интерфейс: Создает виртуальный сетевой адаптер, через который идет весь защищенный трафик.
- PFS Encryption: Использует протокол Perfect Forward Secrecy. Сессионные ключи шифрования (ChaCha20-Poly1305) меняются каждые 10 минут. Компрометация ключа в будущем не позволит расшифровать прошлый трафик.
- Smart Networking:
- Автоматически выбирает лучший путь: P2P (напрямую) или Relay (через сервер).
- Запускает локальный DNS-прокси для прозрачной работы с доменными именами.
- Умеет работать в режиме шлюза (Exit Node), раздавая интернет другим участникам сети.
Технологический Стек
- Язык: Rust (гарантия памяти, высокая производительность, отсутствие GC).
- Шифрование: ChaCha20-Poly1305 (AEAD) для данных, X25519 для обмена ключами, Ed25519 для подписей.
- Сеть: Асинхронный I/O (Tokio), кастомный UDP-протокол с защитой от Replay-атак и DDOS.
- DNS: Hickory-DNS (встроенный резолвер с поддержкой RFC).
- База данных: SQLite (легковесность и надежность хранения состояния).
GhostNet доказывает, что сложная корпоративная безопасность может быть доступна в виде компактного, быстрого и открытого решения.