Protezione contro la contraffazione delle richieste (CSRF)
Puoi contribuire a proteggere dagli attacchi di cross-site request forgery (CSRF) contro StorageGRID utilizzando i token CSRF per migliorare l'autenticazione che utilizza i cookie. Grid Manager e Tenant Manager abilitano automaticamente questa funzionalità di sicurezza; altri client API possono scegliere se attivarla al momento dell'accesso.
Un utente malintenzionato in grado di inviare una richiesta a un sito diverso (ad esempio con UN HTTP Form POST) può causare l'esecuzione di determinate richieste utilizzando i cookie dell'utente che ha effettuato l'accesso.
StorageGRID aiuta a proteggere dagli attacchi CSRF utilizzando token CSRF. Se attivato, il contenuto di un cookie specifico deve corrispondere al contenuto di un'intestazione specifica o di un parametro POST-body specifico.
Per attivare la funzione, impostare csrfToken
parametro a. true
durante l'autenticazione. L'impostazione predefinita è false
.
curl -X POST --header "Content-Type: application/json" --header "Accept: application/json" -d "{ \"username\": \"MyUserName\", \"password\": \"MyPassword\", \"cookie\": true, \"csrfToken\": true }" "https://example.com/api/v3/authorize"
Quando è vero, un GridCsrfToken
Il cookie viene impostato con un valore casuale per l'accesso a Grid Manager e a. AccountCsrfToken
Il cookie viene impostato con un valore casuale per l'accesso a Tenant Manager.
Se il cookie è presente, tutte le richieste che possono modificare lo stato del sistema (POST, PUT, PATCH, DELETE) devono includere una delle seguenti opzioni:
-
Il
X-Csrf-Token
Header, con il valore dell'intestazione impostato sul valore del cookie del token CSRF. -
Per gli endpoint che accettano un corpo con codifica a modulo: A.
csrfToken
parametro del corpo della richiesta codificato dal modulo.
Per configurare la protezione CSRF, utilizzare "API di Grid Management" oppure "API di gestione del tenant".
Anche le richieste che dispongono di un set di cookie token CSRF applicheranno "Content-Type: application/json" Intestazione per qualsiasi richiesta che prevede un corpo di richiesta JSON come protezione aggiuntiva contro gli attacchi CSRF.
|