Protection contre la falsification de requêtes intersites (CSRF)
Vous pouvez contribuer à vous protéger contre les attaques de falsification de requête intersite (CSRF) contre StorageGRID en utilisant des jetons CSRF pour améliorer l'authentification qui utilise des cookies. Le gestionnaire de grille et le gestionnaire de locataires activent automatiquement cette fonctionnalité de sécurité ; les autres clients API peuvent choisir de l'activer ou non lorsqu'ils se connectent.
Un attaquant capable de déclencher une requête vers un autre site (par exemple avec un formulaire HTTP POST) peut provoquer l'exécution de certaines requêtes à l'aide des cookies de l'utilisateur connecté.
StorageGRID aide à se protéger contre les attaques CSRF en utilisant des jetons CSRF. Lorsqu'elle est activée, le contenu d'un cookie spécifique doit correspondre au contenu d'un en-tête spécifique ou d'un paramètre de corps POST spécifique.
Pour activer la fonctionnalité, définissez le csrfToken
paramètre à true
lors de l'authentification. La valeur par défaut est 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"
Lorsque c'est vrai, un GridCsrfToken
Le cookie est défini avec une valeur aléatoire pour les connexions au Grid Manager, et le AccountCsrfToken
le cookie est défini avec une valeur aléatoire pour les connexions au Tenant Manager.
Si le cookie est présent, toutes les requêtes pouvant modifier l'état du système (POST, PUT, PATCH, DELETE) doivent inclure l'un des éléments suivants :
-
Le
X-Csrf-Token
en-tête, avec la valeur de l'en-tête définie sur la valeur du cookie de jeton CSRF. -
Pour les points de terminaison qui acceptent un corps codé par formulaire : A
csrfToken
paramètre de corps de requête codé par formulaire.
Pour configurer la protection CSRF, utilisez le"API de gestion de grille" ou"API de gestion des locataires" .
|
Les requêtes qui ont un cookie de jeton CSRF défini appliqueront également l'en-tête « Content-Type : application/json » pour toute requête qui attend un corps de requête JSON comme protection supplémentaire contre les attaques CSRF. |