Безопасность экосистемы
(Раздел: Экосистема и Сеть)
1) Цели и принципы
Цель — обеспечить конфиденциальность, целостность и доступность (CIA) сервисов и данных при масштабировании экосистемы и эволюции протоколов.
Принципы:- Zero-Trust by design: недоверять сети/хостам, проверять каждое действие по контексту.
- Least Privilege (PoLP) и need-to-know: доступ — минимальный и измеримый.
- Cryptographic assurance: подписи/аттестации/анкеры вместо «доверия по умолчанию».
- Observability by default: сигналы безопасности встроены в протоколы.
- Defense-in-Depth: слоистая защита (идентичность→сеть→данные→выпуск).
- Secure-by-default: «закрыто» по умолчанию, явные allow-листы.
2) Модель угроз (High-level)
Сеть и периметр: DoS/L7-флуды, BGP/Anycast злоупотребления, MITM, DNS-подмена.
Идентичности и ключи: компрометация ключей, уязвимые токены, повтор подписей.
Данные: эксфильтрация PII, утечка телеметрии, манипуляции метаданными.
Цепочка поставок: вредоносные зависимости/билды, подмена артефактов, уязвимые SDK.
Протоколы/мосты: реорги, поддельные пруфы, задержки DA, replay кросс-цепных сообщений.
Внутренние риски: ошибки конфигов, избыточные права, слабые процессы депрекейта.
3) Идентичности и доверие
Идентичности: `org_id`, `peer_id`, сервисные аккаунты, пользователи.
Аутентификация: mTLS (X.509), OAuth2/OIDC (короткоживущие JWT, DPoP/PoP), WebAuthn для людей.
Авторизация: многоуровневый RBAC/ABAC + policy-as-code (OPA/Rego).
Согласование возможностей (capability negotiation) при рукопожатии: объявление версий, QoS, лимитов и допустимых доменов.
Политика (YAML)
yaml authz:
roles:
operator. p0: [payouts:write, events:subscribe, bridge:finalize]
reader. api: [rpc:read, catalog:read]
abac:
- when: {org_tier: "gold", region: "eu"}
allow: [qos:P0, data_class:P1]
tokens:
ttl_s: 900 rotation: "7d"
4) Сетевая безопасность и транспорт
Шлюзы/edge: WAF, L7-rate-limit, circuit-breaker, outlier-ejection.
Шифрование трафика: TLS1.3/mTLS, PFS, строгие ciphers, QUIC/HTTP/3.
Изоляция: сегментация сред (prod/stage/dev), частные сетки, egress-контроль, eBPF-firewall.
P2P: подписи сообщений, анти-replay окна, контроль пиров (allow/deny), лимиты gossip.
Пример сетевых правил
yaml network:
ingress:
allow: ["443/tcp","443/udp"] # HTTPS/HTTP3 deny: [""]
egress:
allow_domains: [".trusted. psp",".oracle","crl. ocsp."]
waf:
block: ["sql-injection","xss","proto-smuggling"]
dos:
rps_per_ip: 200 burst: 400
5) Защита данных
Классы данных: P0 (платеж/ключи), P1 (операционные), P2 (лог/диагностика).
Шифрование: at-rest (AES-GCM/ChaCha20-Poly1305), ключи per-region/tenant, HSM/KMS, envelope-шифрование.
Токенизация и псевдонимизация PII; запрет PII в телеметрии/лейблах.
Резидентность: региональные вольты и объектные склады, белые списки экспортов.
Целостность: хеш-адресация артефактов, мерклизация журналов.
Каталог политик хранения (SQL)
sql
CREATE TABLE data_policies(
data_class TEXT, region TEXT, residency TEXT, kms_key TEXT, retention_days INT,
pii BOOLEAN, export_whitelist TEXT[]
);
6) Управление секретами и ключами
Генерация в HSM/KMS, ротация по расписанию и по событию (компрометация/увольнение).
Разделение полномочий (SoD) и M-of-N для критичных операций.
Секреты только в секрет-менеджере (не в переменных окружения/репозиториях).
Key pinning для межсервисных mTLS, OCSP-stapling/CRL.
Политика ключей
yaml keys:
rotation_days: 30 pinning: true revoke_on:
- "suspicious_use"
- "employee_exit"
audit_required: ["signing_keys","bridge_keys"]
7) Безопасная цепочка поставок (SLSA-подход)
Provenance: подписи артефактов (sigstore/cosign), SBOM, аттестации сборок.
Изоляция сборки: hermetic builds, воспроизводимость, scan зависимостей (SCA).
Политика релизов: canary/blue-green, SLO-гейты, kill-switch, откаты по хэшу.
SDK/клиент: CSP/Referrer-Policy, integrity-атрибуты, анти-tamper.
yaml supply_chain:
require_sbom: true attestations: ["build","test","scan"]
deploy:
strategy: "canary"
gates: { error_rate_pct: 0. 4, tti_p95_ms: 2500 }
8) Доступы и привилегии
RBAC/ABAC: права по ролям/атрибутам, временные эскалации (JIT).
Сервисы: разграничение чтение/запись/админ, запрет wildcard-прав.
Операторы: break-glass доступ по многофактору, с записью сессии.
Аудит: неизменяемые журналы (append-only), корреляция `request_id/trace_id`.
Регистр ролей/прав (SQL)
sql
CREATE TABLE roles(name TEXT PRIMARY KEY, description TEXT);
CREATE TABLE permissions(role TEXT, resource TEXT, action TEXT, PRIMARY KEY(role,resource,action));
9) Наблюдаемость, SLI/SLO и сигналы безопасности
SLI (ядро):- AuthN/AuthZ Success%, Anomalous Deny%;
- Key/Cert Drift (к истечению/несоответствия);
- Integrity Violations (подписи, CSP);
- Abuse Signals: rate-limit hits, DoS/scan events;
- Data Residency Violations;
- Error Budget Burn по P0.
- Auth p95 ≤ 200 мс, Success ≥ 99.95%;
- Подписанные события ≥ 99.9%;
- CSP нарушений ≤ 0.05% хитов;
- Нарушений резидентности = 0.
Дашборды: Security Posture, Keys & Certs, Supply Chain, Abuse/DoS, Residency & DLP.
10) Реагирование на инциденты (IR) и SOAR
Готовность: runbook’и на P0/P1, ответственные 24×7, каналы связи.
Детекция: сигнатуры/поведенческие правила, кореляция в SIEM, автоматизация SOAR.
Сдерживание: блок токенов/ключей, deny-лист маршрутов, quarantine топиков.
Эрадикация/восстановление: ротации, патчи, пересборка, восстановление из снапшотов.
Пост-мортем: в течение 72 ч, экшен-айтемы, обновление политик/тестов.
SOAR-правила (пример)
yaml soar:
playbooks:
key_compromise:
trigger: ["anomalous_sign","suspicious_kid"]
actions: ["revoke_key","rotate","notify_owners","enable_strict_mode"]
11) Комплаенс и резидентность
Регуляторные требования: хранение/удаление данных (DSR), отчетность, сертификация RNG/криптографии.
Резидентность: per-region ключи и вольты, экспорт по белым спискам.
Процессы: регулярные аудиты, журнал изменений, timelock на критичные политики.
yaml residency:
eu: { pii: "tokenized", export: ["anonymized_metrics"] }
uk: { pii: "tokenized", export: [] }
compliance:
dsr:
erase_sla_days: 30 export_sla_days: 30
12) DR/BCP и устойчивость
RPO/RTO цели: P0 сервисы — RPO ≤ 5 мин, RTO ≤ 15 мин.
Geo-репликация: актив-пассив/актив-актив, периодические тесты восстановления.
Изолированный режим: finalized-only, cache-only, ограничение «дорогих» операций.
Резервные каналы: независимые IX/провайдеры, шифрованные межрегиональные туннели.
Политика DR
yaml dr:
rpo_min: 5 rto_min: 15 exercises: ["quarterly-failover","annual-blackhole"]
13) Метрики и тестирование безопасности
Chaos-security: тесты MITM/DNS-poison/packet-loss/latency.
Red/Blue Team: сценарии фишинга, угона токенов, supply-chain инъекций.
Tabletop-drills: моделирование принятия решений и коммуникаций.
Автотесты: SAST/DAST/IAST, fuzzing протоколов, линтеры политик.
14) Плейбуки инцидентов
A. Компрометация ключа участника
1. `revoke_key` → `rotate` → обновить доверенный реестр;
2. включить strict-mode подписей; 3) пересигнировать критичные батчи; 4) отчет партнерам.
B. Нарушение резидентности
1. Немедленный блок экспорта; 2) redaction/удаление; 3) уведомить DPO/Compliance; 4) обновить тесты.
C. Supply-chain инъекция
1. Откат по хэшу, kill-switch; 2) ревалидировать SBOM/аттестации; 3) ротация токенов CI; 4) пост-мортем.
D. Массовый DoS/L7-флуд
1. Активация усиленных rate-лимитов/WAF; 2) Anycast-дреблинг; 3) приоритизация P0; 4) общение с провайдерами.
E. Drift политик/контрактов
1. Включить deny для несовместимых схем; 2) выпуск адаптеров; 3) обновить линтеры/регистры.
15) Чек-лист внедрения (по шагам)
1. Введите модель идентичностей (org/peer/service/user) и mTLS+OIDC.
2. Опишите policy-as-code (RBAC/ABAC), PoLP и JIT-эскалации.
3. Шифруйте данные «в пути» и «в покое», токенизируйте PII, настройте резидентность.
4. Включите Supply-chain защиту: подписи артефактов, SBOM, аттестации, canary+kill-switch.
5. Настройте WAF/Rate-limits/DoS-гварды и egress-контроль.
6. Поднимите SIEM/SOAR, опишите SLI/SLO, алерты и дашборды Security.
7. Регламентируйте ротации ключей/сертов и break-glass доступы.
8. Отработайте DR/BCP и изолированные режимы, проведите учения.
9. Организуйте аудит/логирование и регулярные пост-мортемы.
10. Пересматривайте политики ежеквартально, автоматизируйте проверки.
16) Глоссарий
Zero-Trust — модель, где каждое действие проверяется независимо от локации.
PoLP — принцип минимально необходимых прав.
Policy-as-Code — управление доступом/правилами через декларативные политики.
SLSA — уровни защищенности цепочки поставок ПО.
RPO/RTO — целевые значения потери данных/времени восстановления.
DPoP/PoP — привязка токена к конкретному TLS-каналу/клиенту.
Strict-mode — режим, запрещающий несоответствующие схемы/подписи.
Итог: безопасность экосистемы — это не «межсетевой экран и TLS», а сплав криптографического доверия, строгих политик доступа, наблюдаемости и операционной дисциплины. Следование Zero-Trust, PoLP, supply-chain контролям и измеримым SLO превращает безопасность в управляемую инженерную практику, устойчивую к сбоям, атакам и регуляторным изменениям.