O9.4 - Service Access Publication¶
Fecha de ejecucion: 2026-06-01
Objetivo¶
Validar los DNS ya creados, inventariar la exposicion real de servicios y
publicar solo los frontends aprobados por NPM con HTTPS, manteniendo los
servicios tecnicos sensibles fuera de exposicion publica directa.
Safe point inicial¶
git status -sb->## main...origin/maingit rev-parse HEAD->8106783dab59875b8b8548d83bb87b3de7deb528
Alcance validado¶
- VPS auditado por
ssh openclaw-vps - DNS validados desde esta workstation y desde el VPS
NPMvalidado por base SQLite,proxy_host/*.confefectivos y pruebas HTTP- servicios revisados:
GrafanaPrometheusAlertmanagerThanos QueryPortainerOpenClawKnowledge Portal
Resultado ejecutivo¶
OpenClaw,Knowledge Portal,GrafanayPortainerquedaron accesibles porHTTPSa traves deNPMPortainerdejo de publicar8000/9443en el host; ahora solo escucha enproxy-networkGrafanafue unido aproxy-networky publicado conLet's EncryptPrometheus,AlertmanageryThanos Queryno se publicaron; siguen internos enobs-observability-internal- los DNS sensibles siguen resolviendo al VPS, pero sin backend tecnico
publicado por
NPM
Tabla de acceso y riesgo¶
| Servicio | DNS | Estado DNS | Estado NPM | URL final | Autenticacion | Recomendacion | Riesgo |
|---|---|---|---|---|---|---|---|
| Knowledge Portal | doc.alpuntodeventa.com.ar |
resuelve 46.202.151.32, HTTP 301, HTTPS 200 |
activo, 4.conf, upstream knowledge-portal:8085 |
https://doc.alpuntodeventa.com.ar/ |
sin auth | PUBLICAR |
bajo |
| OpenClaw | openclaw.alpuntodeventa.com.ar |
resuelve 46.202.151.32, HTTP 301, HTTPS 200 |
activo, 3.conf, upstream openclaw-gateway:18789 |
https://openclaw.alpuntodeventa.com.ar/ |
login/token propio de OpenClaw | PUBLICAR |
medio |
| Grafana | grafana.alpuntodeventa.com.ar |
resuelve 46.202.151.32, HTTP 301, HTTPS 302 /login |
activo, 5.conf, upstream grafana:3000 |
https://grafana.alpuntodeventa.com.ar/login |
credencial admin via secreto local | PUBLICAR |
medio |
| Portainer | portainer.alpuntodeventa.com.ar |
resuelve 46.202.151.32, HTTP 301, HTTPS 200 |
activo, 2.conf, upstream https://portainer:9443 |
https://portainer.alpuntodeventa.com.ar/ |
login existente de Portainer | PUBLICAR |
medio |
| Prometheus | prometheus.alpuntodeventa.com.ar |
resuelve 46.202.151.32, HTTP 200 fallback, HTTPS sin host activo |
no publicado | no aplica | sin auth publica observada | NO PUBLICAR salvo capa extra |
medio |
| Alertmanager | alerts.alpuntodeventa.com.ar |
resuelve 46.202.151.32, HTTP 200 fallback, HTTPS sin host activo |
no publicado | no aplica | sin auth publica observada | NO PUBLICAR salvo capa extra |
medio |
| Thanos Query | thanos.alpuntodeventa.com.ar |
resuelve 46.202.151.32, HTTP 200 fallback, HTTPS sin host activo |
no publicado | no aplica | sin auth publica observada | NO PUBLICAR salvo capa extra |
alto |
Inventario por servicio¶
| Servicio | Contenedor real | Puerto interno | Red Docker | proxy-network |
Proxy host real | Credenciales conocidas | Riesgo de exposicion |
|---|---|---|---|---|---|---|---|
| Knowledge Portal | knowledge-portal |
8085/tcp |
knowledge-portal_default, proxy-network |
si | si | no requiere | bajo |
| OpenClaw | openclaw-openclaw-gateway-1 |
18789/tcp |
openclaw_openclaw_internal, proxy-network |
si | si | auth propia persistida en config/ del stack, no en Git |
medio |
| Grafana | obs-grafana |
3000/tcp |
obs-observability-internal, proxy-network |
si | si | secreto grafana_admin_password fuera de Git |
medio |
| Portainer | portainer |
9443/tcp interno |
proxy-network |
si | si | login existente, password no documentada | medio |
| Prometheus | obs-prometheus |
9090/tcp |
obs-observability-internal |
no | no | sin auth propia observada | medio |
| Alertmanager | obs-alertmanager |
9093/tcp |
obs-observability-internal |
no | no | solo secreto SMTP de salida | medio |
| Thanos Query | obs-thanos-query |
10902/tcp |
obs-observability-internal |
no | no | sin auth propia observada | alto |
Implementacion aplicada¶
Cambios efectivos¶
Grafana:- agregado a
proxy-network GF_SERVER_DOMAINyGF_SERVER_ROOT_URLajustados al FQDN publico- certificado
Let's Encryptemitido comonpm-5 HTTPSvalidado con redireccion a/loginPortainer:- proxy publico corregido a
portainer.alpuntodeventa.com.ar - certificado
Let's Encryptrenovado sobrenpm-2 - redireccion legacy a
www.portainer...retirada - contenedor recreado sin puertos publicados al host
OpenClaw:- validado sin cambios
Knowledge Portal:- validado sin cambios
Decision sobre servicios sensibles¶
Prometheus: no publicadoAlertmanager: no publicadoThanos Query: no publicado
Si en el futuro se publican, la capa minima exigida es una de estas:
Basic AuthenNPMAccess Listallowlistpor IP- o mantenerlos sin exposicion publica directa
Hallazgos relevantes¶
mkdocs.ymltodavia apuntaba ahttps://knowledge.alpuntodeventa.com.ar/, pero la publicacion real observada eshttps://doc.alpuntodeventa.com.ar/NPMno regenero automaticamente losproxy_host/*.confal actualizar la base; hubo que dejar la configuracion efectiva consistente y recargarnginx- los DNS tecnicos no publicados responden hoy al fallback HTTP de
NPM; no exponen backend tecnico, pero tampoco entregan una denegacion explicita
Validaciones realizadas¶
curl -I https://doc.alpuntodeventa.com.ar/->200curl -I https://openclaw.alpuntodeventa.com.ar/->200curl -I https://grafana.alpuntodeventa.com.ar/login->200curl -I https://portainer.alpuntodeventa.com.ar/->200docker exec nginx-proxy-manager curl -I http://grafana:3000/login->200ss -tulpnen el VPS ya no muestra:8000ni:9443publicados porportainer
Checklist de cierre tecnico¶
- SAFE POINT inicial:
OK - DNS validados:
OK - servicios inventariados:
OK - publicacion segura validada:
OK - servicios sensibles protegidos o no publicados:
OK - secretos expuestos en docs o repo:
NO