feat(episode): BACKFILL_q-0c148a5b-8280-40cd-b8d4-03a13934ce4b_S20260510.BACKFILL-RECOVERED_XX.bkf.0.warm_qdr.orphan.in.cc.es.000.BKF_J.51F44_E.1EC-C
Skill: NONE | Type: chronicle Summary: Post-mortem oficial del outage de MEMORIA CX53 del 2026-04-06. --- **TIMELINE DE
This commit is contained in:
parent
2e17f41ece
commit
d53f589a4f
1 changed files with 19 additions and 0 deletions
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
episode_id: "51f441ec-c633-530c-be1b-a16b36c58ab6"
|
||||
puente_flat: "BACKFILL_q-0c148a5b-8280-40cd-b8d4-03a13934ce4b_S20260510.BACKFILL-RECOVERED_XX.bkf.0.warm_qdr.orphan.in.cc.es.000.BKF_J.51F44_E.1EC-C"
|
||||
session_code: "S20260510.BACKFILL_RECOVERED"
|
||||
acto_dialogico: "informar"
|
||||
actor_flujo: "ember_internal"
|
||||
criticidad_aegis: "moderate"
|
||||
skill_dominante: "NONE"
|
||||
fase_proyecto: "maintenance"
|
||||
tipo_semantico: "chronicle"
|
||||
summary_one_line: "Post-mortem oficial del outage de MEMORIA CX53 del 2026-04-06. --- **TIMELINE DEL INCIDENTE** El outage de MEMORIA CX53 ocurrió el 2026-04-06 en el período 01:53 UTC a 02:58 UTC (65 minutos de downtim"
|
||||
source_type: "claude_code"
|
||||
trust_boundary: "default"
|
||||
created_at: "2026-05-10T00:00:00+00:00"
|
||||
relectura_tagged: false
|
||||
forgejo_commit_sha: "pending"
|
||||
---
|
||||
|
||||
Post-mortem oficial del outage de MEMORIA CX53 del 2026-04-06. --- **TIMELINE DEL INCIDENTE** El outage de MEMORIA CX53 ocurrió el 2026-04-06 en el período 01:53 UTC a 02:58 UTC (65 minutos de downtime total): - 2026-04-06 01:47 UTC: último request exitoso procesado por Caddy - 2026-04-06 01:52 UTC: CrowdSec detecta 847 requests en 5 minutos desde IP 45.128.194.12 (scanner externo) - 2026-04-06 01:53 UTC: CrowdSec aplica decisión de ban. La regla aplicada (`crowdsecurity/http-probing`) bloqueó el rango completo /24 de la IP detectada, que incluyó por colateral la IP de salida de John - 2026-04-06 02:08 UTC: 0 de 52 containers respondieron desde la perspectiva de John - 2026-04-06 02:15 UTC: John detecta el outage y abre diagnóstico - 2026-04-06 02:47 UTC: acceso vía KVM console de Hetzner, identificación de la decisión CrowdSec - 2026-04-06 02:58 UTC: `cscli decisions delete --ip 45.128.194.0/24`, acceso restaurado **CAUSA RAÍZ** La causa raíz del outage NO fue un fallo de CrowdSec como producto — CrowdSec funcionó exactamente como fue configurado. La causa raíz es un gap de diseño: la IP de acceso legítimo de John (operador del sistema) NO estaba en la allowlist de CrowdSec. Un sistema de seguridad que puede bloquear al operador legítimo como colateral de una detección válida tiene un fallo de diseño, NO un fallo de seguridad. **FIX APLICADO Y CONFIGURACIÓN ACTUALIZADA** El siguiente bloque YAML documenta la configuración de CrowdSec actualizada post-outage. Crear en `/etc/crowdsec/whitelist.yaml` en MEMORIA CX53: ```yaml # crowdsec whitelist — post-outage 2026-04-06 name: ember-operator-whitelist description: "IPs del operador John y del ecosistema EMBER — NO bloquear nunca" whitelist: reason: "Operador legítimo del ecosistema EMBER" ip: - "" # IP de salida de John — verificar con `curl ifconfig.me` - "10.0.0.1" # MEMORIA en WireGuard - "10.0.0.2" # LUMEN en WireGuard cidr: - "127.0.0.0/8" # localhost — NO bloquear nunca ``` VERIFICADO: La whitelist de CrowdSec tiene prioridad sobre todas las decisiones de ban. Una IP en whitelist NO puede ser baneada por ninguna regla, independientemente del volumen de requests detectado. **PLAN DE PREVENCIÓN Q2 2026** El outage del 2026-04-06 revela tres brechas en el diseño de seguridad que deben cerrarse en Q2 2026: 1. PLANIFICADO: Whitelist de IPs del operador en CrowdSec (actor: John / acción: aplicar whitelist.yaml / fecha: 2026-04-06 — HOY, ya aplicado) 2. PLANIFICADO: Alertas proactivas vía Prometheus → Alertmanager → Slack cuando CrowdSec aplica ban en rango /24 (actor: INFRA_OPS / acción: configurar...
|
||||
Loading…
Reference in a new issue