Seguridad del ecosistema
(Sección: Ecosistema y Red)
1) Objetivos y principios
El objetivo es garantizar la confidencialidad, integridad y accesibilidad (CIA) de los servicios y datos a la hora de escalar el ecosistema y la evolución de los protocolos.
Principios:- Zero-Trust by design: desconfiar de las redes/hosts, comprobar cada acción por contexto.
- Privilegio Least (PoLP) y need-to-know: el acceso es mínimo y medible.
- Cryptographic assurance: firmas/certificaciones/anclajes en lugar de «confianza predeterminada».
- Observabilidad por default: las señales de seguridad están integradas en los protocolos.
- Defense-in-Depth: protección en capas (identichnost→set→dannyye→vypusk).
- Secure-by-default: «cerrado» por defecto, hojas de cálculo explícitas.
2) Modelo de amenazas (nivel alto)
Red y perímetro: DoS/L7-flood, BGP/Anycast abuso, MITM, reemplazo DNS.
Identidades y claves: compromiso de claves, tokens vulnerables, repetición de firmas.
Datos: exfiltración PII, fuga de telemetría, manipulación de metadatos.
Cadena de suministro: adicciones/builds maliciosos, sustitución de artefactos, SDK vulnerables.
Protocolos/puentes: reorgas, prufs falsos, retardos DA, mensajes replay de cadena cruzada.
Riesgos internos: errores de confección, derechos redundantes, procesos de depreciación débiles.
3) Identidades y confianza
Identidades: 'org _ id', 'peer _ id', cuentas de servicio, usuarios.
Autenticación: mTLS (X.509), OAuth2/OIDC (JWT de vida corta, DPoP/PoP), WebAuthn para personas.
Autorización: RBAC/ABAC + policy-as-code multinivel (OPA/Rego).
Compatibilidad de capacidades (capability negotiation) al apretar la mano: declaración de versiones, QoS, límites y dominios válidos.
Política (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) Seguridad de la red y transporte
Шлюзы/edge: WAF, L7-rate-limit, circuit-breaker, outlier-ejection.
Cifrado de tráfico: TLS1. 3/mTLS, PFS, ciphers estrictos, QUIC/HTTP/3.
Aislamiento: segmentación de entornos (prod/stage/dev), rejillas privadas, control egress, eBPF-firewall.
P2P: firmas de mensajes, ventanas anti-replay, control de fiesta (allow/deny), límites de gossip.
Ejemplo de reglas
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) Protección de datos
Clases de datos: P0 (pago/claves), P1 (operativos), P2 (registro/diagnóstico).
Encriptación: at-nat (AES-GCM/ChaCha20-Poly1305), claves per-region/tenant, HSM/KMS, encriptación envelope.
Tokenización y pseudonimización de PII; prohibición de PII en telemetría/etiquetas.
Residencia: voltios regionales y almacenes de objetos, listas blancas de exportaciones.
Integridad: direccionamiento hash de artefactos, merclización de registros.
Directorio de políticas de retención (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) Gestión de secretos y claves
Generación en HSM/KMS, rotación programada y por evento (compromiso/despido).
Separación de poderes (SoD) y M-of-N para operaciones críticas.
Los secretos sólo están en el administrador secreto (no en las variables entorno/repositorios).
Pinning clave para mTLS interservicios, OCSP-stapling/CRL.
Política
yaml keys:
rotation_days: 30 pinning: true revoke_on:
- "suspicious_use"
- "employee_exit"
audit_required: ["signing_keys","bridge_keys"]
7) Cadena de suministro segura (enfoque SLSA)
Provenance: firmas de artefactos (sigstore/cosign), SBOM, certificaciones de ensamblaje.
Aislamiento del conjunto: builds herméticos, reproducibilidad, análisis de dependencias (SCA).
Política de lanzamientos: canary/blue-green, SLO-gates, kill-switch, giros por hash.
SDK/cliente: CSP/Referrer-Policy, atributos integrales, anti-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) Accesos y privilegios
RBAC/ABAC: derechos por roles/atributos, escalaciones temporales (JIT).
Servicios: delimitación lectura/escritura/administración, prohibición de los derechos de comodín.
Operadores: acceso break-glass por multifactor, con grabación de sesión.
Auditoría: registros inmutables (append-only), correlación 'request _ id/trace _ id'.
Registro de roles/derechos (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) Observabilidad, SLI/SLO y señales de seguridad
SLI (núcleo):- AuthN/AuthZ Success%, Anomalous Deny%;
- Key/Cert Drift (caducidad/inconsistencia);
- Violaciones integrales (firmas, CSP);
- Abuse Signals: rate-limit hits, DoS/scan events;
- Data Residency Violations;
- Error Budget Burn по P0.
- Auth p95 ≤ 200 мс, Success ≥ 99. 95%;
- Eventos firmados ≥ 99. 9%;
- CSP violaciones ≤ 0. 05% de aciertos;
- Infracciones de residencia = 0.
Дашборды: Security Posture, Keys & Certs, Supply Chain, Abuse/DoS, Residency & DLP.
10) Respuesta a incidentes (IR) y SOAR
Preparación: runbook 'y en P0/P1, responsables 24 × 7, canales de comunicación.
Detección: firmas/reglas de comportamiento, corea en SIEM, automatización SOAR.
Contención: bloque de tokens/llaves, lista de rutas deny, topics quarantine.
Eradicación/recuperación: rotaciones, parches, recomposición, recuperación de snapshots.
Post-mortem: dentro de 72 h, acción-aitema, actualización de políticas/pruebas.
reglas SOAR (ejemplo)
yaml soar:
playbooks:
key_compromise:
trigger: ["anomalous_sign","suspicious_kid"]
actions: ["revoke_key","rotate","notify_owners","enable_strict_mode"]
11) Cumplimiento y residencia
Requisitos regulatorios: almacenamiento/eliminación de datos (DSR), informes, certificación RNG/criptografía.
Residencia: llaves por región y voltios, exportación en listas blancas.
Procesos: auditorías regulares, registro de cambios, timelock a directivas críticas.
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 y sostenibilidad
Objetivos RPO/RTO: Servicios P0 - RPO ≤ 5 min, RTO ≤ 15 min.
Geo-replicación: activo-pasivo/activo-activo, pruebas de recuperación periódicas.
Modo aislado: finalized-only, cache-only, limitando las operaciones «costosas».
Canales de respaldo: IX/proveedores independientes, túneles interregionales cifrados.
Política de DR
yaml dr:
rpo_min: 5 rto_min: 15 exercises: ["quarterly-failover","annual-blackhole"]
13) Métricas y pruebas de seguridad
Chaos-security: тесты MITM/DNS-poison/packet-loss/latency.
Red/Blue Team: scripts de phishing, secuestros de tokens, inyecciones de cadena de suministro.
Tabletop-drills: simulación de la toma de decisiones y las comunicaciones.
Autotestas: SAST/DAST/IAST, protocolos fuzzing, linters de políticas.
14) Playbucks de incidentes
A. Compromiso de clave de miembro
1. 'revoke _ key' → 'rotate' → actualizar el registro de confianza;
2. habilitar el modo strict-signature; 3) sobreescribir los batches críticos; 4) informe a los socios.
B. Violación de la residencia
1. Unidad de exportación inmediata; 2) redacción/eliminación; 3) notificar a DPO/Compliance; 4) actualizar las pruebas.
C. Inyección de cadena de suministro
1. Retroceder por el hash, kill-switch; 2) revalidar SBOM/certificaciones; 3) rotación de tokens CI; 4) post-mortem.
D. Masa DoS/L7-flood
1. Activación de los límites de rate/WAF mejorados; 2) Anycast-drebling; 3) priorizar P0; 4) comunicación con los proveedores.
E. Drift políticas/contratos
1. Habilitar deny para esquemas incompatibles; 2) liberación de adaptadores; 3) actualizar los linters/registros.
15) Check-list de implementación (por pasos)
1. Introduzca el modelo de identidad (org/peer/service/user) y mTLS + OIDC.
2. Describa policy-as-code (RBAC/ABAC), PoLP y escaladas JIT.
3. Encripta los datos «en tránsito» y «en reposo», tokeniza la PII, configura la residencia.
4. Habilite la protección de cadena de suministro: firmas de artefactos, SBOM, certificación, canary + kill-switch.
5. Configure los controles WAF/Rate-limits/DoS y egress.
6. Levante SIEM/SOAR, describa SLI/SLO, alertas y dashboards de seguridad.
7. Regula las rotaciones de teclas/sres y los accesos break-glass.
8. Trabaje con DR/BCP y modos aislados, realice ejercicios.
9. Organice la auditoría/lógica y los post-mortems regulares.
10. Revise las políticas trimestralmente, automatice las comprobaciones.
16) Glosario
Zero-Trust es un modelo donde cada acción se verifica independientemente de la ubicación.
PoLP es el principio de los derechos mínimos necesarios.
Policy-as-Code - Control de acceso/reglas a través de políticas declarativas.
SLSA: niveles de seguridad de la cadena de suministro de software.
RPO/RTO - Valores objetivo de pérdida de datos/tiempo de recuperación.
DPoP/PoP: vincula el token a un canal/cliente TLS específico.
Strict-mode es un modo que prohíbe los esquemas/firmas no conformes.
En pocas palabras: la seguridad del ecosistema no es «firewall y TLS», sino una aleación de confianza criptográfica, estrictas políticas de acceso, observabilidad y disciplina operativa. Seguir los controles Zero-Trust, PoLP, supply-chain y SLO medibles transforma la seguridad en una práctica de ingeniería administrada, resistente a fallos, ataques y cambios regulatorios.