Перейти к содержанию

Root-нода

·4 минуты·
Root-нода — центральный узел управления сетью. Не участвует в передаче пользовательского трафика. Выполняет функции Root CA, начального развертывания и администрирования всех нод.

Роль в архитектуре #

Root-нода находится вне плоскости данных — через нее не проходит пользовательский трафик. Она работает исключительно в плоскости управления: PKI, развертывание, конфигурирование, мониторинг.

graph TD Root["Root-нода
управление, 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-нод.

graph TD RootCA["Root CA
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 CA и SSH-ключей ко всем нодам сети.

При совмещении Root и Core на одном сервере:

  • компрометация Core-ноды автоматически означает компрометацию Root — критический инцидент для всей сети;
  • сервер становится доступен из интернета по портам 80 и 443, что увеличивает поверхность атаки;
  • единая точка отказа: выход из строя сервера одновременно лишает сеть и узла ядра, и центра управления.

В продуктивной среде Root-нода должна быть выделенным сервером без публичных сервисов.

Взаимодействие с хранилищем данных #

Root-нода имеет полный доступ к обоим компонентам системы хранения данных:

ХранилищеПраваНазначение
KV-кластерЧтение / записьИнициализация кластера, глобальные изменения, реагирование на инциденты
Git-репозиторийЧтение / записьИзвлечение конфигурации при развертывании и восстановлении, синхронизация Git → KV

При развертывании или восстановлении сети Root-нода загружает желаемое состояние из Git-репозитория и применяет его к KV-кластеру.

Безопасность #

Root-нода — самый критичный узел сети:

  • хранит приватный ключ Root CA;
  • имеет SSH-доступ ко всем нодам;
  • содержит полный реестр инфраструктуры.

Рекомендации #

  • Минимум сервисов (нет Nginx, нет Xray, нет публичных портов).
  • SSH-доступ только по ключу.
  • Регулярное обновление системы.
  • Резервное копирование приватного ключа Root CA в безопасное хранилище.

Реагирование на компрометацию #

Компрометация Root-ноды — критический инцидент, означающий потенциальную компрометацию всей сети.

Порядок действий:

  1. Немедленно: отозвать все SSH-ключи на всех нодах.
  2. Немедленно: перегенерировать Root CA.
  3. Перевыпустить все сертификаты Core-нод.
  4. Перевыпустить все сертификаты Entry-нод (через Core-ноды).
  5. Развернуть новую Root-ноду.