Saltar a contenido

SAFE-POINT-037 - Auditoria de entrega de alertas La Directa

Fecha: 2026-06-15

Objetivo

Auditar como se entregan las alertas actuales de OpenClaw y confirmar si las alertas de La Directa tienen ruta de notificacion real, sin tocar la VPS WooCommerce, DNS, firewall, Prometheus ni Alertmanager runtime.

SAFE POINT inicial

  • Workspace: C:\APV\openclawai
  • Rama inicial: main
  • Estado inicial: ## main...origin/main
  • HEAD inicial: 82fdd2ba988bd75320ffe69501fa0acf7567672a

Alcance auditado

  • Alertmanager versionado: infra/observability/alertmanager/alertmanager.yml
  • Generacion runtime opcional: infra/observability/alertmanager/entrypoint.sh
  • Prometheus: infra/observability/prometheus/prometheus.yml
  • Reglas: infra/observability/prometheus/rules/service-alerts.yml
  • Targets Blackbox: infra/observability/prometheus/targets/blackbox-http-targets.json
  • Docker Compose O4: infra/observability/docker-compose.yml
  • Documentacion de observabilidad, riesgos, roadmap, estado y catalogo O4.

Resultado ejecutivo

Las alertas de La Directa estan definidas y son evaluables por Prometheus. Prometheus envia alertas al Alertmanager interno alertmanager:9093.

La ruta versionada de Alertmanager no entrega a terceros: todas las severidades van al receiver local-null, que no tiene email_configs, webhook_configs, Slack, Telegram, Discord ni PagerDuty.

El entrypoint.sh puede reemplazar la config versionada por un receiver email-default solo si existen, en runtime, todos estos datos:

  • archivo secreto SMTP no vacio
  • ALERTMANAGER_SMTP_SMARTHOST
  • ALERTMANAGER_SMTP_FROM
  • ALERTMANAGER_SMTP_AUTH_USERNAME
  • ALERTMANAGER_EMAIL_TO

En el repositorio no se guardan esos secretos ni destinatarios reales. Por lo tanto, con la configuracion versionada auditada, La Directa queda evaluada y visible, pero no notifica externamente.

Receivers detectados

Fuente Receiver Entrega externa Observacion
alertmanager.yml local-null No Receiver nulo para operacion local y drills sin terceros.
entrypoint.sh email-default Potencial Solo se genera si el runtime tiene SMTP completo y secreto montado.

Rutas detectadas

Severidad Receiver versionado Entrega real versionada
critical local-null No
warning local-null No
info local-null No
default local-null No

group_by usa alert_group y severity. Los intervalos versionados son: group_wait=1m, group_interval=10m, repeat_interval=24h.

Estado de alertas La Directa

Alerta Severidad Route/receiver real versionado Notifica externamente
EcommerceLaDirectaComArDown critical local-null No
EcommerceLaDirectaArDown critical local-null No
EcommerceLaDirectaHighLatency warning local-null No
EcommerceLaDirectaSslExpiryWarning warning local-null No
EcommerceLaDirectaSslExpiryCritical critical local-null No

Secretos referenciados

No se imprimieron ni guardaron secretos.

Referencias detectadas:

  • ALERTMANAGER_SMTP_PASSWORD_FILE
  • /run/secrets/alertmanager_smtp_password
  • ALERTMANAGER_SMTP_SMARTHOST
  • ALERTMANAGER_SMTP_FROM
  • ALERTMANAGER_SMTP_AUTH_USERNAME
  • ALERTMANAGER_EMAIL_TO
  • ALERTMANAGER_SMTP_REQUIRE_TLS

Secretos/datos faltantes para entrega externa controlada:

  • password SMTP en archivo secreto runtime
  • servidor SMTP aprobado
  • remitente aprobado
  • usuario SMTP aprobado
  • destinatario operativo aprobado

Validaciones ejecutadas

Validacion Resultado
git status -sb PASS ## main...origin/main
git rev-parse HEAD PASS 82fdd2ba988bd75320ffe69501fa0acf7567672a
JSON targets Blackbox PASS
JSON dashboard La Directa PASS
YAML Alertmanager, Prometheus, reglas y Compose PASS
amtool local No disponible en PATH local
promtool local No disponible en PATH local
docker local No disponible en PATH local
promtool en contenedor No ejecutable desde esta estacion por falta de Docker local
Alertmanager API local No ejecutable desde esta estacion por falta de Docker local
Alertmanager publico 46.202.151.32:9093 PASS no accesible por timeout
Prometheus publico 46.202.151.32:9090 PASS no accesible por timeout
Busqueda de secretos trackeados PASS sin tokens/webhooks/passwords obvios

Canal recomendado

Canal recomendado para La Directa:

  • Email operativo via email-default con SMTP aprobado y secretos montados en runtime, no versionados.
  • Mantener Alertmanager privado.
  • Probar primero con destinatario interno controlado, no con terceros.
  • No enviar a proveedores, clientes ni canales externos sin confirmacion humana.

Para una etapa posterior, un webhook interno hacia n8n puede ser mas flexible para escalamiento, pero debe quedar detras de una URL privada o protegida y con secreto fuera de Git.

Test de alerta controlado propuesto

No ejecutado en SAFE-POINT-037 para evitar alertas reales a terceros.

Pasos recomendados con aprobacion humana:

  1. Confirmar canal de prueba y destinatario interno.
  2. Montar secretos SMTP en runtime sin commitearlos.
  3. Validar config dentro de obs-alertmanager sin imprimir el config completo.
  4. Crear una regla temporal no destructiva con target sintetico local y nombre LadirectaAlertDeliveryTest, con severity=info.
  5. Ejecutar promtool check rules antes de aplicar.
  6. Aplicar cambios solo en stack OpenClaw.
  7. Confirmar recepcion en canal interno.
  8. Revertir regla temporal y validar resolucion.
  9. Documentar tiempos de disparo, recepcion y resolucion.

Riesgos

  • Riesgo principal: creer que La Directa ya notifica externamente cuando, con la config versionada, solo queda evaluada y visible.
  • Riesgo residual: el entrypoint.sh puede cambiar el receiver real en runtime si hay SMTP completo; debe verificarse en el host sin imprimir secretos.
  • Riesgo operativo: Blackbox detecta sintoma publico, no causa raiz interna de WooCommerce.

Proximos pasos

  1. Definir propietario humano y canal de alertas de La Directa.
  2. Aprobar SMTP o webhook interno n8n para notificacion real.
  3. Montar secretos fuera de Git.
  4. Ejecutar test controlado con confirmacion humana.
  5. Actualizar catalogo O4 con el receiver definitivo y evidencia runtime.

Restricciones respetadas

  • No se toco VPS WooCommerce.
  • No se tocaron DNS ni firewall.
  • No se modifico Prometheus/Alertmanager runtime.
  • No se expuso Alertmanager publicamente.
  • No se guardaron secretos.
  • No se imprimieron tokens, webhooks ni passwords.
  • No se enviaron alertas reales a terceros.