Skill: AEGIS | Type: troubleshooting Summary: EPISODIO 1 — MNEMO_PRE_DIGEST: Lo que encontré antes de empaquetar nada
2.7 KiB
| episode_id | puente_flat | session_code | acto_dialogico | actor_flujo | criticidad_aegis | skill_dominante | fase_proyecto | tipo_semantico | summary_one_line | source_type | trust_boundary | created_at | relectura_tagged | forgejo_commit_sha |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3c9156f6-89c1-4246-bcb3-e56af7e1c0a6 | TRAZA_lo-que-encontr-antes-de-empaquetar-nada_S20260726.R1_XX.ops.2.hot_inf.in.cc.es.000.MGQ_J.PMCFK_E.SGNFD | S20260726.ARCO_CICLO4_AUTOMEJORA | informar | multi_actor | low | AEGIS | operations | troubleshooting | EPISODIO 1 — MNEMO_PRE_DIGEST: Lo que encontré antes de empaquetar nada | claude_code | internal | 2026-07-27T04:15:38.351726+00:00 | false | pending |
Paquete terminado y verificado. Te lo entregué arriba.
Lo que encontré antes de empaquetar nada
Cloudflare hoy no te protege de nada. Esto no es una opinión: lo medí. Cuatro de tus subdominios (git, nube, auth, context) sí pasan por Cloudflare — la "nube naranja" que se supone esconde tu servidor. Pero tu dominio raíz y render publican en el DNS la IP real del servidor, a la vista de cualquiera. Y cuando le pedí a esa IP directamente el contenido de git.brasaluz.com, el servidor me respondió 200 OK. Es decir: cualquiera resuelve tu dominio raíz, obtiene la IP, y habla con tu servidor saltándose Cloudflare por completo. El cortafuegos de aplicaciones web, la protección contra ataques de denegación de servicio, las reglas — todo eso se esquiva escribiendo la IP en vez del nombre.
Lo más incómodo: tu propio ecosistema ya había escrito ese riesgo en junio ("el origen accesible directo bypassa Access") y quedó sin atender. Lo que hice fue confirmarlo empíricamente.
Tu cortafuegos de host no existe. UFW está inactivo y su binario fue borrado del sistema. Cero reglas cargadas, política de entrada en ACEPTAR, tanto en IPv4 como en IPv6. Mientras tanto, INFRA_MANIFEST.yaml:1607 declara ufw: "deny incoming, 5 ports". El ecosistema cree que tiene un control de seguridad que no tiene — y eso es peligroso por sí mismo, porque una instancia futura leerá el manifiesto y bajará la guardia.
Hay un tercer hallazgo más silencioso: un servicio no declarado escuchando al exterior en el puerto 3005 desde hace 69 días. Es warden-mcp, el conector del gestor de secretos Vaultwarden, instalado como esbozo y nunca terminado. Su regla de bloqueo existe solo en IPv4, y su socket acepta IPv6.
No todo está mal, y esto importa para no gastar el plan donde no hace falta: de tus ~60 contenedores solo el proxy publica al exterior (el resto está atado a la interfaz interna, que es exactamente lo correcto), SSH está bien endurecido (solo llave, sin root, sin contraseña), y fail2ban con CrowdSec están vivos.