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

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

·2 минуты·
PKI Sigil Gate централизована: единственный Root CA находится на управляющем кластере и выдаёт сертификаты всем узлам сети. Сертификат — единственное основание доверия. Узел без действующего сертификата не может участвовать в передаче трафика.

Архитектура PKI #

В отличие от старой трёхуровневой иерархии (Root CA → промежуточный CA → листовые сертификаты), новая PKI плоская: один Root CA на управляющем кластере выдаёт сертификаты напрямую всем узлам сети.

graph TD CA["Root CA\n(управляющий кластер)"] EntryA["mTLS-сертификат\nEntry-нода A"] EntryB["mTLS-сертификат\nEntry-нода B"] CoreA["mTLS-сертификат\nCore-нода A"] CoreB["mTLS-сертификат\nCore-нода B"] CA --> EntryA CA --> EntryB CA --> CoreA CA --> CoreB style CA fill:#7c3aed,color:#fff,stroke:#6d28d9 style EntryA fill:#0891b2,color:#fff,stroke:#0e7490 style EntryB fill:#0891b2,color:#fff,stroke:#0e7490 style CoreA fill:#1d4ed8,color:#fff,stroke:#1e40af style CoreB fill:#1d4ed8,color:#fff,stroke:#1e40af

Типы сертификатов #

mTLS-сертификат Entry-ноды #

Выдаётся K8s worker node при вступлении в кластер. Позволяет Entry-поду:

  • Устанавливать исходящие mTLS-соединения с Core-нодами.
  • Быть идентифицированным Core-нодой как легитимный отправитель трафика.

Entry-нода не может выдавать сертификаты другим узлам и не имеет доступа на запись в etcd.

mTLS-сертификат Core-ноды #

Выдаётся при регистрации Core-ноды (phone-home + CSR). Позволяет Core-ноде:

  • Устанавливать исходящее mTLS-соединение с управляющим кластером (phone-home).
  • Принимать входящие mTLS-соединения от Entry-нод.

Core-нода не может подключаться к другим Core-нодам или к etcd напрямую.

Сроки жизни #

СертификатСрокПродление
Root CAДолгосрочныйРучное, критическая операция
Entry-нода (mTLS)90 днейАвтоматическое через K8s
Core-нода (mTLS)90 днейАвтоматическое через phone-home агент

Генерация ключей #

Приватный ключ всегда генерируется на узле. Управляющий кластер получает только CSR и выдаёт подписанный сертификат.

УзелГде генерируется ключЧто передаётся наружу
Entry-нодаПри инициализации K8s workerCSR → сертификат
Core-нодаПри первом запуске контейнераCSR → сертификат

Отзыв сертификатов #

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

СобытиеДействие
Компрометация Core-нодыОтзыв mTLS-сертификата → Entry перестаёт направлять трафик на этот адрес
Выход участникаОтзыв сертификатов Entry-ноды и Core-ноды
Компрометация Root CAПолная перегенерация PKI, перевыпуск всех сертификатов

Публичные TLS-сертификаты #

Помимо внутренних mTLS-сертификатов, Entry-ноды и Core-ноды имеют публичные TLS-сертификаты от Let’s Encrypt. Они используются для:

  • TLS-терминации клиентских соединений (Entry).
  • Маскировки трафика под легитимный HTTPS (оба слоя).

Публичные сертификаты управляются независимо от внутренней PKI и не имеют отношения к mTLS-аутентификации между узлами.

СертификатИсточникИспользование
Публичный TLSLet’s EncryptКлиентские соединения, маскировка
Внутренний mTLSRoot CA (управляющий кластер)Аутентификация между узлами