Контрольный SSH и артефактный HTTPS остаются в разных бакетах гистограмм; для TCP и OpenSSH см. MSS, BBR и SSH p95. Ниже — режимы доверия, таблица параметров выпуска, региональные бюджеты p95, семь шагов выката и формулировки для SLO, затем сводка покупки узла на vpshalo.
1) Долгоживущие пользовательские ключи без CA превращают отзыв в ручной кошмар и размывают аудит при росте команды. 2) Глубокая цепочка JumpHost без канареечного профиля и отдельных меток hop маскирует деградацию конкретного сегмента магистрали. 3) Отсутствие ForceCommand или его несогласованность с ролями даёт ложное ощущение безопасности: сессия открыта, но политика доступа не воспроизводима в расследовании.
| Режим доверия | Когда выбирать | Ключевые риски и контрметрики |
|---|---|---|
| UserCA ed25519 + короткий validity | Нужны централизованный выпуск, OIDC или LDAP, автоматический re-enroll | Скew часов; журнал серийников; отдельный процесс от HostCA |
| JumpHost ≤ два hop | Единая точка входа в облако, GeoDNS уже режет ближайший PoP | p95 суммируется; отдельные SLO на hop и ProxyJump профили |
| ForceCommand для health-only | Нужен только чтение status/doctor без интерактива | Несовместимые shell; тест интерактив против усечённого пути |
| OpenClaw loopback + LocalForward | Мультирегион; TLS passthrough или SSH туннель к 127.0.0.1 шлюза | Коллизия портов; отдельный бакет ошибок туннеля; см. nginx stream SNI |
Validity, Principal, ForceCommand и мысль step-ca / smallstep
В step-ca и экосистеме smallstep полезно мыслить тремя независимыми рычагами: Validity задаёт окно компромисса ключа пользователя, Principal фиксирует допустимые SSH identity и роли на конкретных bastion, ForceCommand превращает сессию в контролируемый канал, например только метрики или ограниченный scp. На практике TTL 8–24 ч для разработчиков и ≤ 2 ч для высокорисковых ролей даёт баланс между накладными расходами на re-enroll и жёсткостью отзыва.
Principal следует генерировать из claims OIDC с явным шаблоном login@bastion-region, запрещая широкие wildcard на прод-ролях. HostCA для подписи host ключей держите в другом provisioner, чтобы подпись пользователя не унаследовала права машины. Для ForceCommand документируйте две ветки: полный shell через отдельный bastion-tier и read-only health через утилиту, которая только печатает JSON и завершается.
| Параметр | Рекомендуемый диапазон | Заметка по приёмке |
|---|---|---|
| Validity (user) | 8–24 ч dev, ≤ 120 мин break-glass | Сверка skew NTP и автоотзыв по HR webhook |
| Principal шаблон | login@pop, без * на prod | Снимок ssh-keygen -L в CI артефакте |
| ForceCommand health | Один бинарник, без argv от пользователя | Отдельная гистограмма latency не смешивать с shell |
| MaxAuthTries / LoginGraceTime | 4 / 45 с на bastion | Корреляция с fail2ban только после разделения метрик |
| Revocation TTL | < 5 мин для критичных ролей | Проверка API step-ca и фактического отказа на втором hop |
OpenClaw: мультирегион loopback, LocalForward и merge read-only health
На каждом региональном узле поднимите loopback-слушатель OpenClaw на 127.0.0.1 с раздельными портами для панели и doctor, как в серии HowTo по vpshalo. LocalForward с рабочей станции через первый JumpHost позволяет не экспонировать порт наружу, сохраняя единый паттерн для японского и западноамериканского PoP. Для объединения health соберите лёгкий агрегатор, который только читает HTTP эндпоинты на localhost и отдаёт единый JSON без возможности команд со стороны клиента.
Merge health: только статус, версия, усечённый doctor, регион; без записи. frp/nginx stream — отдельный SNI, см. frp STCP и артефакты. Аудит: session-id, principal, ProxyJump; при расхожении host key — канарея off. Проверьте ssh_config, чтобы не портить p95 между HK и SG.
Приёмка p95 рукопожатия SSH по пяти метро
Ниже — ориентиры Halo для полного пути клиента до завершения ключевого обмена при типовом профиле ProxyJump через один бастион. Если цепочка длиннее, вычитайте из бюджета измеренный вклад каждого дополнительного hop и фиксируйте отдельную строку в отчёте.
| Регион | p95 до NEWKEYS, мс | Макс. hop без эскалации |
|---|---|---|
| JP | ≤ 420 | 2 |
| KR | ≤ 400 | 2 |
| HK | ≤ 380 | 2 |
| SG | ≤ 360 | 2 |
| US West | ≤ 340 | 2 |
FAQ: аудит, отзыв и OpenClaw
Нужен ли отдельный лог на каждом hop? Да, с корреляционным id, иначе цепочка не восстанавливается в расследовании.
Можно ли удлинить validity в праздники? Только с временным principal и автоматическим сроком; иначе отзыв не уложится в политику безопасности.
LocalForward ломает корпоративный прокси? Проверьте CONNECT и split tunnel; держите канареечный профиль без форварда для сравнения p95.
Где граница с Worker Halo? См. Worker и SSH p95; эта статья про CA и бастионы, не про край CDN.
Семь шагов выката и приёмки
- 1. Развести HostCA и UserCA, опубликовать TrustedUserCAKeys и revocation endpoint.
- 2. Включить шаблоны Principal из IdP, запретить интерактив на ролях health.
- 3. Настроить step-ca или аналог: provisioner, mTLS, лимиты RPS на выпуск.
- 4. Собрать ProxyJump профили для JP/KR/HK/SG/US West, снять базовый p95 без канареи.
- 5. Поднять OpenClaw loopback, LocalForward и merge health только на чтение.
- 6. Включить журнал сессий с principal и session-id, связать с SIEM.
- 7. Провести учение отзыва и проверить, что второй hop отказывает ≤ 5 мин.
Формулировки для паспорта сервиса
- Validity без автоматического re-enroll — это скрытый долг безопасности, а не удобство.
- Principal шире роли в IdP — прямой путь к несанкционированному lateral movement.
- OpenClaw health merge обязан быть идемпотентным и без побочных эффектов на диске шлюза.
Итог. SSH-CA на ed25519, короткий validity, строгие Principal, ForceCommand для ограниченных ролей, измеримая цепочка JumpHost и OpenClaw loopback с read-only health дают воспроизводимую матрицу для пяти метро. Публичные страницы: тарифы, помощь, покупка.
SSH-контур, регион Mac и прозрачная покупка
Сводка покупки: откройте тарифы без обязательного входа, сравните помесячную модель, затем перейдите на страницу покупки или сразу в регион: Токио · Сеул · Гонконг · Сингапур · Запад США. Онбординг и доступ — в справочном центре. Серия материалов: GeoDNS, JumpHost+health, loopback SSH.