Root-нода
Содержание
Роль в архитектуре #
Root-нода находится вне плоскости данных — через нее не проходит пользовательский трафик. Она работает исключительно в плоскости управления: PKI, развертывание, конфигурирование, мониторинг.
управление, PKI"] Core1["Core-нода #1
вне региона"] Core2["Core-нода #2
вне региона"] Entry1["Entry-нода A
внутри региона"] Entry2["Entry-нода B
внутри региона"] Entry3["Entry-нода C
внутри региона"] Root -->|SSH| Core1 Root -->|SSH| Core2 Root -->|SSH| Entry1 Root -->|SSH| Entry2 Root -->|SSH| Entry3 style Root fill:#7c3aed,color:#fff,stroke:#6d28d9 style Core1 fill:#1d4ed8,color:#fff,stroke:#1e40af style Core2 fill:#1d4ed8,color:#fff,stroke:#1e40af style Entry1 fill:#0891b2,color:#fff,stroke:#0e7490 style Entry2 fill:#0891b2,color:#fff,stroke:#0e7490 style Entry3 fill:#0891b2,color:#fff,stroke:#0e7490
Характеристики #
| Параметр | Значение |
|---|---|
| Функция | Управление сетью, Root CA, развертывание |
| Участие в трафике | Нет (только плоскость управления) |
| Расположение | Любой сегмент сети |
| Жизненный цикл | Долгоживущая, критическая |
| Протокол управления | SSH |
Режим работы #
Root-нода не используется для оперативного управления сетью. Она может быть неактивна в течение длительного времени, активируясь только для выполнения своих задач:
- развертывание сети или полное восстановление после инцидента;
- выпуск корневых и промежуточных сертификатов (PKI);
- реагирование на критические инциденты (отзыв сертификатов, перестроение сети).
Оперативное управление (ротация узлов, управление пользователями, ротация путей) делегировано Core-нодам и выполняется без участия Root-ноды.
Функции #
1. Root CA (центр сертификации) #
Root-нода хранит корневой приватный ключ PKI-иерархии и выпускает сертификаты для Core-нод.
Root-нода"] IntCA1["Промежуточный CA
Core-нода #1"] IntCA2["Промежуточный CA
Core-нода #2"] Cert1["Сертификат Entry A"] Cert2["Сертификат Entry B"] Cert3["Сертификат Entry C"] RootCA -->|"выпускает"| IntCA1 RootCA -->|"выпускает"| IntCA2 IntCA1 -->|"выпускает"| Cert1 IntCA1 -->|"выпускает"| Cert2 IntCA2 -->|"выпускает"| Cert3 style RootCA fill:#7c3aed,color:#fff,stroke:#6d28d9 style IntCA1 fill:#1d4ed8,color:#fff,stroke:#1e40af style IntCA2 fill:#1d4ed8,color:#fff,stroke:#1e40af style Cert1 fill:#0891b2,color:#fff,stroke:#0e7490 style Cert2 fill:#0891b2,color:#fff,stroke:#0e7490 style Cert3 fill:#0891b2,color:#fff,stroke:#0e7490
- Root CA выпускает сертификаты только для Core-нод.
- Core-ноды (промежуточные CA) выпускают сертификаты для Entry-нод.
- Root-нода не выпускает сертификаты для Entry-нод напрямую.
2. Развертывание сети #
С Root-ноды выполняется начальное развертывание всех нод:
- подготовка серверов (системные пакеты, firewall, SSH-ключи);
- установка и настройка Nginx, Xray-core;
- развертывание сайтов-прикрытий;
- выпуск и распространение сертификатов.
3. Администрирование #
Root-нода — единственная точка, с которой осуществляется полное администрирование сети:
- обновление конфигураций на всех нодах;
- ротация путей gRPC, сертификатов, ключей;
- диагностика и мониторинг;
- добавление и вывод нод из оборота.
Однонаправленный доступ #
Root-нода имеет SSH-доступ ко всем нодам сети. Обратное запрещено: ни Core-ноды, ни Entry-ноды не имеют доступа к Root-ноде.
| Направление | Разрешен |
|---|---|
| Root → Core-нода | |
| Root → Entry-нода | |
| Core-нода → Root | |
| Entry-нода → Root |
Компоненты #
В отличие от Core- и Entry-нод, Root-нода не содержит Nginx, Xray или сайт-прикрытие. На ней установлены только инструменты управления:
| Компонент | Назначение |
|---|---|
| SSH-клиент | Доступ к нодам |
| OpenSSL / CA-инструменты | Управление PKI |
| Git | Работа с репозиторием |
| Скрипты деплоя | Автоматизация развертывания |
Совмещение с Core-нодой #
При совмещении Root и Core на одном сервере:
- компрометация Core-ноды автоматически означает компрометацию Root — критический инцидент для всей сети;
- сервер становится доступен из интернета по портам 80 и 443, что увеличивает поверхность атаки;
- единая точка отказа: выход из строя сервера одновременно лишает сеть и узла ядра, и центра управления.
В продуктивной среде Root-нода должна быть выделенным сервером без публичных сервисов.
Взаимодействие с хранилищем данных #
Root-нода имеет полный доступ к обоим компонентам системы хранения данных:
| Хранилище | Права | Назначение |
|---|---|---|
| KV-кластер | Чтение / запись | Инициализация кластера, глобальные изменения, реагирование на инциденты |
| Git-репозиторий | Чтение / запись | Извлечение конфигурации при развертывании и восстановлении, синхронизация Git → KV |
При развертывании или восстановлении сети Root-нода загружает желаемое состояние из Git-репозитория и применяет его к KV-кластеру.
Безопасность #
Root-нода — самый критичный узел сети:
- хранит приватный ключ Root CA;
- имеет SSH-доступ ко всем нодам;
- содержит полный реестр инфраструктуры.
Рекомендации #
- Минимум сервисов (нет Nginx, нет Xray, нет публичных портов).
- SSH-доступ только по ключу.
- Регулярное обновление системы.
- Резервное копирование приватного ключа Root CA в безопасное хранилище.
Реагирование на компрометацию #
Порядок действий:
- Немедленно: отозвать все SSH-ключи на всех нодах.
- Немедленно: перегенерировать Root CA.
- Перевыпустить все сертификаты Core-нод.
- Перевыпустить все сертификаты Entry-нод (через Core-ноды).
- Развернуть новую Root-ноду.