Questa pagina si applica ad Apigee e Apigee hybrid.
Visualizza la documentazione di Apigee Edge.
L'identificazione accurata dell'indirizzo IP del client nelle richieste API è importante per alcune funzionalità di Apigee, tra cui Analytics e Advanced API Security, come il rilevamento di abusi e le azioni di sicurezza.
Il processo di identificazione dell'IP del client è complesso nelle architetture di rete moderne che utilizzano proxy e bilanciatori del carico, poiché questi intermediari possono oscurare il vero indirizzo IP di origine.
Per superare questo problema, Apigee supporta un'impostazione a livello di ambiente che specifica come risolvere l'indirizzo IP del 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 fornisce visibilità, coerenza e controllo sul modo in cui gli indirizzi IP dei client vengono determinati per tutte le richieste nell'ambiente e comporta l'identificazione coerente degli indirizzi IP dei client in Advanced API Security, nelle variabili di flusso e nelle variabili di analisi nell'ambiente.
Se la risoluzione dell'indirizzo IP del client a livello di ambiente non è configurata come descritto in questa pagina, le variabili dell'indirizzo IP del client vengono compilate utilizzando il comportamento della risoluzione dell'indirizzo IP del client predefinito.
Risoluzione dell'indirizzo IP client predefinito
Se la risoluzione dell'IP del 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 IP del client è configurata per un ambiente, le variabili di flusso e Analytics vengono impostate dalla configurazione della risoluzione IP del client. Consulta Impostare la risoluzione IP del client per un ambiente.
Quando impostare la risoluzione IP del client per un ambiente
Sebbene non sia obbligatorio impostare la risoluzione dell'IP client, ti consigliamo di farlo se la risoluzione dell'indirizzo IP client predefinito non soddisfa le tue esigenze e vuoi sostituirla per fornire una risoluzione dell'indirizzo IP client specificata per Analytics, Advanced API Security o l'esecuzione di qualsiasi altra funzione che richieda informazioni coerenti e affidabili sugli indirizzi IP client.
Informazioni sulla sintassi di configurazione della risoluzione IP client
L'impostazione di risoluzione IP del client ha il seguente 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
risolve in192.0.2.2
.
Un numero negativo seleziona un indirizzo a partire da quello a destra (l'ultimo indirizzo aggiunto all'intestazione) dove la prima posizione a destra è-1
e diminuisce 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
si risolve in192.0.2.4
e l'indice-2
si risolve in192.0.2.3
.
Consulta l'API organizations.environment per ulteriori informazioni su questa impostazione.
Visualizzare le configurazioni di risoluzione IP del client
Puoi visualizzare la configurazione attuale della risoluzione IP del client per un ambiente utilizzando l'interfaccia utente di Apigee o le API di gestione.
Visualizzare la configurazione della risoluzione IP del client utilizzando l'interfaccia utente
Per utilizzare l'interfaccia utente di Apigee nella console Cloud per visualizzare l'impostazione di risoluzione dell'IP client, seleziona Gestione > Ambienti, seleziona l'ambiente e consulta Configurazione IP client nella scheda Informazioni.
Visualizzare la configurazione della risoluzione IP del client utilizzando l'API
Per utilizzare le API di gestione Apigee per visualizzare la configurazione della risoluzione dell'IP client, invia una richiesta all'API organizations.environments.get.
Impostare la risoluzione IP del client per un ambiente
Dopo aver impostato la configurazione della risoluzione IP del 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 di Analytics.
Una volta impostata la configurazione della risoluzione IP del client per un ambiente, le modifiche potrebbero influire sulle configurazioni esistenti di Advanced API Security per le regole di azioni 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. Assicurati di prendere nota e saltare il numero di 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. Sebbene il primo IP in XFF sia più vicino all'IP client effettivo, l'ultimo IP in XFF è 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 di gestione API Apigee 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.
Verifica la risoluzione dell'indirizzo IP del client
Dopo aver salvato una nuova configurazione IP del 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 tutti i FlowInfo.
- Controlla FlowInfo appena prima di Proxy Request Flow Started. Dovresti vedere l'indirizzo IP del client configurato acquisito in quella sezione.
Cerca queste variabili in FlowInfo:
client_ip_resolution.resolved.ip
: l'indirizzo IP del client risolto.client_ip_resolution.used.fallback
: valore booleano. Questo valore èfalse
, a meno che Apigee non abbia eseguito il fallback 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 del client. Se configurato, è"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:
- Gli aggiornamenti alle configurazioni di risoluzione IP dei client possono richiedere fino a 5 minuti per essere effettivi.
- Evita modifiche frequenti (ad esempio ogni 5 minuti) alla configurazione della risoluzione IP del client, in quanto potrebbero causare un peggioramento del rendimento.
- Al momento, con Apigee hybrid non è possibile impostare la configurazione della risoluzione IP del client per un ambiente.
- 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. Questo elenco completo non è soggetto alla supervisione e al controllo di Apigee, pertanto impostare la configurazione della risoluzione IP del client non garantisce l'identificazione dell'indirizzo IP della richiesta corretto.