fix(sicurezza): dashboard 8787 solo su 127.0.0.1, era raggiungibile da internet
La riga era "8787:8787", cioe' pubblicata su tutte le interfacce. ufw non la fermava: il DNAT che Docker installa in nat/PREROUTING devia il pacchetto prima della catena INPUT su cui ufw lavora, e in FORWARD la catena DOCKER lo accetta prima delle catene ufw-*-forward (DOCKER-USER era vuota). Verificato: da IP pubblico la dashboard rispondeva HTTP 200. Dietro c'erano conto e posizioni reali (monta .env.mainnet per lo Shadow live), senza autenticazione, su http.server della stdlib, processo root. Svista e non scelta: la riga sotto lega gia' il gateway IB a 127.0.0.1 con il commento "raggiungibile solo da localhost dell'host". Dopo il fix: DNAT con -d 127.0.0.1/32, listener solo su 127.0.0.1:8787, da IP pubblico connessione rifiutata. pythagoras-ibgw non toccato. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
+6
-1
@@ -7,7 +7,12 @@ services:
|
||||
restart: unless-stopped
|
||||
command: ["uv", "run", "python", "-m", "src.live.dashboard", "--port", "8787"]
|
||||
ports:
|
||||
- "8787:8787"
|
||||
# Bind SOLO su 127.0.0.1: la dashboard non ha autenticazione e mostra conto e
|
||||
# posizioni reali (Shadow live). Fino al 2026-08-04 era "8787:8787", cioe' pubblicata
|
||||
# su tutte le interfacce e raggiungibile da internet: ufw NON protegge le porte
|
||||
# pubblicate da Docker (il DNAT scavalca la catena INPUT). La consuma AI-OS da
|
||||
# localhost per le risposte via Telegram.
|
||||
- "127.0.0.1:8787:8787"
|
||||
volumes:
|
||||
- ./data:/app/data:ro
|
||||
# token mainnet (sola lettura) per lo "Shadow live": conto/posizioni reali sulla dashboard.
|
||||
|
||||
Reference in New Issue
Block a user