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.

La funzionalità di limitazione della velocità è disponibile nelle REST API del ripristino di emergenza di Site Recovery Manager 8.8 e versioni successive e vSphere Replication 8.8 e versioni successive. Limitatore di velocità REST API di ripristino di emergenza rappresenta un compromesso tra sicurezza e prestazioni.
Tabella 1. Livelli del limite di velocità delle richieste di REST API del ripristino di emergenza
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

Ogni risposta alla richiesta di REST API ripristino di emergenza ha le intestazioni seguenti.
  • 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.
Avvertimento: Quando per una richiesta HTTP è limitata la velocità, il codice di errore della risposta è 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 Requests ed 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.