Questa pagina si applica ad Apigee e Apigee hybrid.
Visualizza la documentazione di
Apigee Edge.
L'identificazione accurata dell'indirizzo IP client nelle richieste API è importante per alcune funzionalità all'interno di Apigee, tra cui Analytics e Advanced API Security, come il rilevamento degli abusi e le azioni di sicurezza.
Il processo di identificazione dell'IP client è difficile nelle moderne architetture di rete che utilizzano proxy e bilanciatori del carico, in quanto questi intermediari possono oscurare il vero indirizzo IP di origine.
Per superare questa sfida, Apigee supporta un'impostazione a livello di ambiente che specifica come risolvere l'indirizzo IP client dall'intestazione X-Forwarded-For (XFF), identificando l'indice nell'intestazione che corrisponde all'indirizzo IP per la topologia di rete e i requisiti di sicurezza. L'utilizzo di questa impostazione offre visibilità, coerenza e controllo su come vengono determinati gli indirizzi IP client per tutte le richieste nell'ambiente e comporta un'identificazione coerente degli indirizzi IP client nelle variabili di Advanced API Security, di flusso e di analisi nell'ambiente.
Se la risoluzione dell'IP client a livello di ambiente non è configurata come descritto in questa pagina, le variabili dell'indirizzo IP client vengono compilate utilizzando il comportamento di risoluzione dell'indirizzo IP client predefinito.
Risoluzione predefinita dell'indirizzo IP client
Se la risoluzione dell'IP client non è configurata a livello di ambiente, il valore predefinito della dimensione
ax_resolved_client_ip
viene calcolato come descritto in
Dimensioni di Analytics.
Se la risoluzione dell'IP client è configurata per un ambiente, le variabili di flusso e Analytics vengono impostate dalla configurazione della risoluzione dell'IP client. Consulta Impostare la risoluzione IP client per un ambiente.
Quando impostare la risoluzione IP client per un ambiente
Anche se non è obbligatorio impostare la risoluzione dell'IP client, potresti volerlo fare se la risoluzione dell'indirizzo IP client predefinita non soddisfa le tue esigenze e vuoi eseguirne l'override per fornire una risoluzione dell'indirizzo IP client specificata per Analytics, Advanced API Security o per eseguire qualsiasi altra funzione che richieda informazioni coerenti e affidabili sugli indirizzi IP client.
Comprendere la sintassi di configurazione della risoluzione IP client
L'impostazione di risoluzione dell'IP client ha questo formato:
"clientIpResolutionConfig": { "headerIndexAlgorithm": { "ipHeaderName" : "X-Forwarded-For", "ipHeaderIndex": 2 } }
ipHeaderName
è l'intestazione da utilizzare per l'IP client. Al momento,X-Forwarded-For
è il valore dell'intestazione supportato.ipHeaderIndex
è il valore dell'indice all'interno diipHeaderName
.
Un numero positivo seleziona un indirizzo a partire da sinistra (il primo indirizzo aggiunto all'intestazione), dove la prima posizione a sinistra è0
e aumenta di uno per ogni indirizzo successivo (ad es.0, 1, 2
). Ad esempio, se l'elenco è192.0.2.1, 192.0.2.2, 192.0.2.3
, un indice di1
corrisponde a192.0.2.2
.
Un numero negativo seleziona un indirizzo a partire da destra (l'ultimo indirizzo aggiunto all'intestazione), dove la prima posizione a destra è-1
e decrementa di uno per ogni indirizzo successivo (ad es.-3, -2, -1
). Ad esempio, se l'elenco è192.0.2.1, 192.0.2.2, 192.0.2.3, 192.0.2.4
, un indice di-1
corrisponde a192.0.2.4
e l'indice-2
corrisponde a192.0.2.3
.
Consulta l'API organizations.environment per ulteriori informazioni su questa impostazione.
Visualizza le configurazioni di risoluzione IP client
Puoi visualizzare la configurazione attuale della risoluzione IP client per un ambiente utilizzando l'interfaccia utente Apigee o le API di gestione.
Visualizzare la configurazione della risoluzione IP client utilizzando la UI
Per visualizzare la configurazione della risoluzione dell'IP client:
Nella console Google Cloud , vai alla pagina Gestione > Ambienti.
-
Seleziona l'ambiente e visualizza Configurazione IP client nella scheda Informazioni.
Visualizzare la configurazione della risoluzione IP client utilizzando l'API
Per utilizzare le API Apigee Management per visualizzare la configurazione della risoluzione IP client, invia una richiesta all'API organizations.environments.get.
Impostare la risoluzione IP client per un ambiente
Dopo aver impostato la configurazione di risoluzione dell'IP client per un ambiente, la variabile di flusso client.resolved.ip
viene compilata utilizzando l'algoritmo specificato. Lo stesso vale per la
Resolved Client IP
dimensione Analytics.
Una volta impostata la configurazione della risoluzione IP client per un ambiente, le modifiche potrebbero influire sulle configurazioni Advanced API Security esistenti per le regole di azione di sicurezza. Esamina e, se necessario, rigenera le regole esistenti per utilizzare le nuove variabili e impostazioni.
Tieni presente queste implicazioni quando selezioni l'indice per la risoluzione dell'IP client:
- Le chiamate da Apigee ad Apigee non vengono gestite come caso speciale. Fai attenzione a annotare e saltare il numero di indirizzi IP di conseguenza.
- Poiché l'intestazione X-Forwarded-For può essere falsificata, è meglio utilizzare l'indice corretto in base al numero di hop previsti tra il client e il bilanciatore del carico Apigee. Un utente malintenzionato può inviare un'intestazione X-Forwarded-For precompilata. Anche se il primo IP nell'intestazione XFF è il più vicino all'IP client effettivo, l'ultimo IP nell'intestazione XFF è il più affidabile, dato che il bilanciatore del carico conosce il client TCP connesso.
Per impostare la risoluzione IP client in un ambiente, utilizza una delle API Apigee API Management per impostare
la risoluzione IP client per l'ambiente in client_ip_resolution_config
.
Utilizza
organizations.environments.create
per i nuovi ambienti. Utilizza
updateEnvironment o
modifyEnvironment
per gli ambienti esistenti.
Testare la risoluzione dell'indirizzo IP client
Dopo aver salvato una nuova configurazione IP client, puoi testarla seguendo queste istruzioni:
- Attendi almeno 5 minuti dopo aver salvato una nuova impostazione di configurazione.
- Avvia una sessione di debug. Attiva l'impostazione Mostra tutte le FlowInfo.
- Controlla FlowInfo appena prima di Proxy Request Flow Started. Dovresti vedere l'indirizzo IP client configurato acquisito in quella sezione.
Cerca queste variabili in FlowInfo:
client_ip_resolution.resolved.ip
: L'indirizzo IP client risolto.client_ip_resolution.used.fallback
: booleano. Questo valore èfalse
a meno che Apigee non sia tornato alla risoluzione IP client predefinita a causa dell'impossibilità di utilizzare una risoluzione IP client configurata. Ad esempio, se la risoluzione configurata specifica un indice che non esiste nell'intestazione.client_ip_resolution.algorithm
: l'algoritmo utilizzato per determinare l'indirizzo IP client. Se configurato, questo è"HeaderIndexAlgorithm{IpHeaderName:header_name, IpHeaderIndex: $header_index}"
. In caso contrario, viene visualizzatodefault
.
Limitazioni
Queste limitazioni si applicano alla risoluzione dell'IP client a livello di ambiente:
- L'applicazione degli aggiornamenti alle configurazioni di risoluzione IP client può richiedere fino a 5 minuti.
- Evita modifiche frequenti (ad esempio ogni 5 minuti) alla configurazione della risoluzione IP client, in quanto ciò potrebbe causare un peggioramento delle prestazioni.
- L'impostazione della configurazione della risoluzione dell'IP client per un ambiente in Apigee hybrid è disponibile con le versioni 1.14.0 e successive di hybrid.
- La configurazione può essere visualizzata tramite la console o l'API Apigee, ma può essere impostata solo tramite l'API.
- Anche in assenza di utenti malintenzionati, l'elenco X-Forwarded-For si basa su ogni proxy per aggiungere le informazioni corrette all'elenco. L'elenco completo non rientra nella supervisione e nel controllo di Apigee, pertanto l'impostazione della configurazione di risoluzione dell'IP client non garantisce l'identificazione dell'indirizzo IP della richiesta corretto.