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

Плоскость управления

·2 минуты·
Root-нода администрирует всю сеть по SSH. Доступ — однонаправленный: Root имеет доступ ко всем нодам, обратный доступ запрещен.
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 Core1 ---|"mesh"| Core2 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

Административная привязка #

Каждая Entry-нода в каждый момент времени административно закреплена за одной Core-нодой. Core-нода отвечает за конфигурирование, ротацию путей и мониторинг своих Entry-нод.

Это образует древовидную структуру в плоскости управления:

graph TD Core1["Core-нода #1"] Core2["Core-нода #2"] E1["Entry A"] E2["Entry B"] E3["Entry C"] E4["Entry D"] E5["Entry E"] Core1 --> E1 Core1 --> E2 Core1 --> E3 Core2 --> E4 Core2 --> E5 Core1 ---|"mesh"| Core2 style Core1 fill:#1d4ed8,color:#fff,stroke:#1e40af style Core2 fill:#1d4ed8,color:#fff,stroke:#1e40af style E1 fill:#0891b2,color:#fff,stroke:#0e7490 style E2 fill:#0891b2,color:#fff,stroke:#0e7490 style E3 fill:#0891b2,color:#fff,stroke:#0e7490 style E4 fill:#0891b2,color:#fff,stroke:#0e7490 style E5 fill:#0891b2,color:#fff,stroke:#0e7490

Core-ноды могут передавать свои Entry-ноды друг другу — например, для вывода Core-ноды из ротации на обслуживание. Это обеспечивает эксплуатационную гибкость без потери связности.

Управление с Core-нод #

Помимо Root-ноды, типовые операции по управлению сетью могут выполняться с любой Core-ноды: добавление новых Entry-нод, регистрация пользователей, ротация путей. Это позволяет администрировать сеть без постоянного доступа к Root-ноде.

Инфраструктура открытых ключей (PKI) #

Сеть использует трехуровневую иерархию сертификатов:

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 CARoot-нодаДолгосрочныйРучной, критический инцидент
Промежуточный CACore-нодаДолгосрочныйРучной, с Root-ноды
Сертификат EntryEntry-нодаЧасы / дниАвтоматический

Компрометация и реагирование #

Под компрометацией ноды понимается не только несанкционированный доступ к ноде, но и обнаружение и блокировка системами DPI. Признаки компрометации — потеря HTTPS-связности между Entry- и Core-нодами при сохранении SSH-доступа, или существенная деградация канала связи.

Компрометация Entry-ноды #

  1. Вывести скомпрометированную Entry-ноду из оборота.
  2. Если общее количество Core-нод > 2 — вывести Core-ноды, известные этой Entry-ноде.
  3. Перевыпустить сертификаты для затронутых компонентов.

Компрометация Root-ноды (критический инцидент) #

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