KamoCRM

Derive X-Real-IP dal hop più a destra, non il proprio cliente

FixAPIService
Spegnimento
23 settembre 2026 alle ore 10:21 UTC
Autore
Kamo
Impegno
65f3228

in avanti() impostare l'outgoing X-Real-IP a X-Forwarded-For.split(",")[0] -- il primo piano a sinistra, che è l'unica parte di quell'intestazione che un cliente controlla outright: una richiesta che porta "X-Forwarded-For: 8.8.8.8" arriva a Traefik, che aggiunge l'indirizzo che ha effettivamente visto, e l'intestazione diventa "8.8.8.8, <real client>". EconsentController di SecurityService memorizza il verbatim X-Real-IP di questo gateway su un record legale e-consenso, quindi qualsiasi visitatore potrebbe attestare a qualsiasi indirizzo che gli è piaciuto solo inviando loro X-Forwarded-For. Aggiunto ClientIpResolver (com.kamo.api.app.config), che cammina la lista da destra e prende il primo tubo PUBLIC -- tutto a destra del cliente reale è la nostra infrastruttura, e un hop in-cluster è sempre privato e saltato. Questo è lo stesso algoritmo Esecuzione dell'accesso Filtro già aveva, privato a sé, per giudicare regole di accesso per IP; quel filtro ora delega alla classe estratta invece di conservare la propria copia, quindi avanti() e il filtro concordano con costruzione piuttosto che da due autori indipendentemente ottenere lo stesso nove linee a destra. X-Forwarded-Per se stesso è immutato -- ancora inoltrato come ricevuto (o sintetizzato dalla presa pari quando assente). La stessa regola di destra-most-public-hop è duplicata per-service attraverso il piattaforma (SecurityService's ClientIpResolver, ESigService's EsignClientIp, DocsService LegalClientIp) perché nessuno di questi i servizi sono importabili da un altro; questa è la copia di apiservice. XRealIp Verso Test guida una richiesta inoltrata reale che trasporta una spoofed hop sinistro davanti a una genuina e afferma la richiesta a monte X-Real-IP è l'indirizzo autentico, più che un hop interno allegato dopo che il vero cliente è saltato. ClientIpResolverTest copre il risolutore direttamente. Ritornare alla divisione più sinistra fallisce XRealIpForwarding Prova subito.

Tutte le modifiche

Come quello che vedi la spedizione?

Tutto questo arriva nel vostro spazio di lavoro da solo. Iniziare sul piano gratuito e leggere di nuovo questa pagina in un mese.

Inizia gratis per sempreVisualizza il prezzo