Il Limitatore di velocità REST API del ripristino di emergenza è un meccanismo per gestire i rischi di esaurimento delle risorse API e di attacchi di forza bruta.
| Livello | Descrizione | Configurazione | Valore predefinito |
|---|---|---|---|
| IP address | Considera le richieste per indirizzo IP. | ipRateLimitQuota | 100 |
| ipRateLimitWindow | 60 000 in ms (1 minuto) | ||
| Service | Considera le richieste in base al nome del servizio REST API del ripristino di emergenza. In REST API del ripristino di emergenza sono presenti tre nomi di servizio: srm, vr e configure. 'srm v1' e 'srm v2' hanno lo stesso nome di servizio di 'srm'. | serviceRateLimitQuota | 1000 |
| serviceRateLimitWindow | 60 000 in ms (1 minuto) | ||
| Session | Considera le richieste per sessione. | sessionRateLimitQuota | 50 |
| sessionRateLimitWindow | 60000 in ms (1 minuto) | ||
| n/a | Pulizia periodica delle strutture dati del limitatore della velocità delle richieste obsolete per ridurre l'impronta digitale della memoria di runtime. Il valore 0 (zero) indica che non viene eseguita alcuna pulizia. | rateLimitLogPurgeInterval | 7 200 000 in ms (2h) |
Limitatore di velocità REST API del ripristino di emergenza è costituito da tre livelli che funzionano in una catena per limitare le richieste in entrata rispetto ai criteri del livello. Se i criteri del livello vengono soddisfatti, viene restituita immediatamente una risposta alla richiesta, saltando così il resto della catena di livelli. La catena di livelli di Limitatore di velocità REST API del ripristino di emergenza è l'indirizzo IP, il servizio e la sessione nell'ordine specifico.
È possibile modificare la configurazione di Limitatore di velocità REST API del ripristino di emergenza aggiungendo o aggiornando i valori delle proprietà specificate nel file dr-rest-api.properties. Il file si trova nella cartella /opt/vmware/dr-rest/lib/. Se una proprietà Limitatore di velocità non è definita esplicitamente nel file di configurazione REST API del ripristino di emergenza dr-rest-api.properties, la funzionalità di limitazione della velocità utilizza il valore predefinito. Per impostare un valore di configurazione, aggiungere la configurazione corrispondente, se mancante, e impostare il valore richiesto. I valori aggiornati diventano effettivi quando inizia una nuova finestra del limite di velocità.
Esempio di file dr-rest-api.properties
... ipRateLimitQuota=100 ipRateLimitWindow=60000 serviceRateLimitQuota=1000 serviceRateLimitWindow=60000 sessionRateLimitQuota=50 sessionRateLimitWindow=60000 rateLimitLogPurgeInterval=0 ...
Risposta HTTP
- RateLimit-Limit: la quota del server per le richieste del client nella finestra temporale.
- RateLimit-Remaining: la quota rimanente nella finestra corrente.
- RateLimit-Reset: il tempo rimanente nella finestra corrente, specificato in millisecondi.
429 Too Many Requests e l'intestazione RateLimit-Remaining è 0 (zero). Le risposte REST API del ripristino di emergenza contengono intestazioni del limite di velocità dall'ultimo livello di limite di velocità che ha elaborato la richiesta del client.
Procedure consigliate per impostare la configurazione ottimale del limite di velocità
L'impostazione della configurazione ottimale del limite di velocità richiede la considerazione di vari fattori.
- Inizia con i valori predefiniti delle configurazioni della limitazione della velocità.
- ipRateLimitQuota, ipRateLimitWindow, serviceRateLimitQuota, serviceRateLimitWindow, sessionRateLimitQuota, sessionRateLimitWindow
- rateLimitLogPurgeInterval
- È possibile ascoltare le risposte alle richieste con codice di errore
429 Too Many Requestsed eseguire le azioni necessarie.- Attendere la finestra del limite di velocità successiva e ripetere le richieste il cui limite di velocità è stato limitato.
- Ridurre l'intensità della richiesta sul lato client.
- Aggiornare le configurazioni del limite di velocità: aumentare la configurazione correlata RateLimitQuota e o diminuire la configurazione correlata RateLimitWindow.
- Analizza le intestazioni di risposta RateLimit-Limit, RateLimit-Remaining e RateLimit-Reset ed esegue le azioni necessarie.
- Modificare l'intensità della richiesta sul lato client nella direzione richiesta.
- Aggiornare le configurazioni del limite di velocità nella direzione richiesta.