Odchozi IP adresa portalu

Kdyz cizi sluzba odmitne pristup, prvni otazka je, z jake adresy se vlastne
vola. Z containeru to videt neni, vidi to az protistrana, takze se zepta echo
sluzby podle EGRESS_IP_URL a vysledek se drzi v pameti po EGRESS_IP_TTL_MS.
Prazdna EGRESS_IP_URL funkci vypne, prepsat ji jde na vlastni echo pod svou
domenou.

Adresa je natvrdo na strance Konektory a u kazdeho odmitnuteho overeni v logu.
Pripojuje se jen u 401 a 403 - jinde nema co rict a nestoji za volani ven.

Neni to tajemstvi: kazda volana sluzba tuhle adresu stejne vidi.

Endpoint egress-ip je registrovany pred GET /:id, jinak by ho router vzal
jako id konektoru.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
JiriUhlir
2026-08-25 07:22:26 +02:00
co-authored by Claude Opus 5
parent ab88979627
commit 4545de8076
9 changed files with 283 additions and 0 deletions
+14
View File
@@ -186,6 +186,19 @@ Samotny kod odpovedi nikoho nikam nedovede. Hlaska proto nese tri veci:
ktera zbyde. Allowlist, ne vsechno - `Set-Cookie` a podobne do zaznamu
nepatri.
5. **Odchozi IP adresu portalu**, ale jen u 401 a 403. Cizi sluzby maji
seznamy povolenych adres a **z containeru neni videt, jak ho protistrana
vidi**. Bez teto informace se pri odmitnutem pristupu hada, misto aby se
porovnal jeden retezec se seznamem. Jinde by ta adresa nemela co rict
a nestoji za volani ven.
Zjistuje se echo sluzbou podle `EGRESS_IP_URL` (vychozi `api.ipify.org`)
a drzi se v pameti po `EGRESS_IP_TTL_MS`. Prepisovatelne, aby slo ukazat
na vlastni echo pod svou domenou. Prazdna hodnota funkci vypne. Adresa je
videt i natvrdo na strance Konektory, ne az u chyby.
Neni to tajemstvi: kazda volana sluzba tuhle adresu stejne vidi.
Co se **nedela**: sonda na `/health` vedle overeni. `/health` povoleni IP
adresy nevyzaduje, takze z toho, ze projde, se o IP nic nedozvis - byla by to
veta, ktera zni jako zaver a zadny neni.
@@ -225,6 +238,7 @@ Cte se zvlast pres `/connectors/:id/checks`.
| DELETE | `/api/dashboard/connectors/:id` | smazat |
| POST | `/api/dashboard/connectors/:id/test` | overit napojeni |
| GET | `/api/dashboard/connectors/:id/checks` | poslednich pet overeni |
| GET | `/api/dashboard/connectors/egress-ip` | odchozi IP adresa portalu |
## Stranky portalu
+8
View File
@@ -57,6 +57,14 @@ nepomuze. Duvod pritom sluzba do tela odpovedi napsala, jen se zahodil.
a bez hlavicek by nezbylo nic. Allowlist, ne vsechno: `Set-Cookie` a podobne
do zaznamu nepatri.
- **Odchozi IP adresa portalu** (`src/data/egressIp.ts`, endpoint
`GET /api/dashboard/connectors/egress-ip`). Z containeru neni videt, jak ho
protistrana vidi, takze pri 403 od seznamu povolenych IP nebylo co porovnat.
Adresa je natvrdo na strance Konektory a u kazdeho odmitnuteho overeni
v logu. Zjistuje se echo sluzbou podle `EGRESS_IP_URL`, drzi se v pameti
po `EGRESS_IP_TTL_MS`, u 401 a 403 se pripoji k zaznamu. Prazdna
`EGRESS_IP_URL` funkci vypne.
### Nedoreseno
Proc iDoklad vraci 403, zatim nevime. Vylouceno je to, co posilame: zadna