GhostNet: Сетевая конфигурация и брандмауэр
Этот документ описывает:
- используемые порты
- правила доступа
- пример настройки UFW
- виртуальную сеть
- поведение DNS
Все команды вынесены в отдельные bash-блоки для удобного копирования.
1. Обзор портов и доступа
1.1 gna_ca_server (Центр сертификации)
Порт: 9100/tcp
Назначение: PKI API (выпуск, проверка, отзыв сертификатов, инвайты)
Доступ: только 127.0.0.1
Важно:
- Сервис полностью внутренний
- Не должен быть доступен из публичной сети
- Lighthouse обращается к нему локально или через защищённый внутренний канал
1.2 gna_lighthouse (Сигнальный сервер)
Это единственная публичная точка входа в GhostNet.
Используемые порты
| Порт | Протокол | Назначение | Доступ |
|---|---|---|---|
| 50000 | UDP | Основной VPN туннель | Публичный |
| 9000 | TCP | HTTPS панель | Только VPN / localhost |
| 9001 | TCP | SPA Admin UI | Только VPN / localhost |
| 53 | UDP | Внутренний DNS | Только VPN / localhost |
| 9100 | TCP | Прокси к CA | Только localhost |
Ограниченный доступ
Следующие порты НЕ должны быть доступны из интернета:
- 9000/tcp
- 9001/tcp
- 53/udp
- 9100/tcp
Разрешён доступ только:
- 127.0.0.1
- 10.0.0.0/24 (внутренняя VPN сеть)
1.3 gna_agent (Клиент)
Агент инициирует исходящие соединения:
- UDP 50000 → Lighthouse
- P2P UDP → другие агенты
- Трафик 10.0.0.0/24 → через TUN интерфейс
Агент НЕ подключается напрямую к 9100.
2. Настройка брандмауэра (UFW)
Пример для Linux с UFW.
2.1 Настройка для gna_lighthouse
Разрешить основной VPN порт
sudo ufw allow 50000/udp comment "GhostNet Main VPN Port"
Запретить публичный доступ к административным портам
sudo ufw deny 9000/tcp comment "GhostNet Deny Public Admin HTTPS"
sudo ufw deny 9001/tcp comment "GhostNet Deny Public Admin SPA"
sudo ufw deny 53/udp comment "GhostNet Deny Public DNS"
sudo ufw deny 9100/tcp comment "GhostNet Deny Public CA Proxy"
Разрешить доступ к админ-портам только из VPN сети
sudo ufw allow from 10.0.0.0/24 to any port 9000 proto tcp comment "GhostNet Allow Admin HTTPS from VPN"
sudo ufw allow from 10.0.0.0/24 to any port 9001 proto tcp comment "GhostNet Allow Admin SPA from VPN"
sudo ufw allow from 10.0.0.0/24 to any port 53 proto udp comment "GhostNet Allow DNS from VPN"
Разрешить CA доступ только с localhost
sudo ufw allow from 127.0.0.1 to any port 9100 proto tcp comment "GhostNet Allow CA from Localhost"
Разрешить локальный доступ к админ-портам
sudo ufw allow from 127.0.0.1 to any port 9000 proto tcp comment "GhostNet Allow Admin HTTPS from Localhost"
sudo ufw allow from 127.0.0.1 to any port 9001 proto tcp comment "GhostNet Allow Admin SPA from Localhost"
sudo ufw allow from 127.0.0.1 to any port 53 proto udp comment "GhostNet Allow DNS from Localhost"
Включить UFW
sudo ufw enable
2.2 Настройка для gna_ca_server (изолированная машина)
Рекомендуемая политика:
Запретить весь входящий трафик
Разрешить только SSH (если нужно администрирование)
Разрешить 9100 только с IP Lighthouse
Пример
sudo ufw default deny incoming
sudo ufw allow 22/tcp comment "SSH Access"
Если Lighthouse на IP 192.168.1.45:
sudo ufw allow from 192.168.1.45 to any port 9100 proto tcp comment "Allow CA from Lighthouse"
3. Виртуальная сеть GhostNet
Диапазон сети: 10.0.0.0/24
Принцип работы:
- Каждый
gna_agentполучает IP вида10.0.0.X - Lighthouse использует адрес
10.0.0.1 - Маршрутизация идет через TUN-интерфейс
Типы передачи трафика:
- Прямое P2P соединение
Если NAT позволяет — агенты соединяются напрямую. - Relay через Lighthouse
Если P2P невозможно — трафик проходит через Lighthouse.
4. DNS внутри GhostNet
Lighthouse содержит встроенный DNS-сервер.
4.1 Внутренние имена
Формат:
homebasehostname.incalias.ghosthome.ghostmysite.ghost
Механизм:
Lighthouse резолвит имена в 10.0.0.X. Агент автоматически обновляет системные файлы:
- Linux:
/etc/hosts - Windows:
C:\Windows\System32\drivers\etc\hosts
DNS сервер Lighthouse доступен по адресу:
10.0.0.1:53
4.2 Внешние DNS запросы
Если домен не относится к *.ghost либо имеет стандартное доменное имя 1 ого уровня, Lighthouse пересылает запрос на внешний DNS (например, 8.8.8.8 или любой другой настроенный сервер). Это позволяет агентам резолвить как внутренние, так и публичные домены.
Итог
GhostNet обеспечивает изоляцию инфраструктуры:
- CA сервер: только локальный доступ.
- Админ-порты: доступны строго через VPN.
- Публичный доступ: открыт только для
UDP 50000.
Все остальные сервисы доступны исключительно через защищенную виртуальную сеть.