Proteger contra falsificação de solicitação entre locais (CSRF)
Você pode ajudar a proteger contra ataques de falsificação de solicitação entre sites (CSRF) contra StorageGRID usando tokens CSRF para melhorar a autenticação que usa cookies. O Grid Manager e o Tenant Manager habilitam automaticamente esse recurso de segurança; outros clientes de API podem optar por ativá-lo quando fizerem login.
Um invasor que pode acionar uma solicitação para um site diferente (como um POST de formulário HTTP) pode fazer com que certas solicitações sejam feitas usando os cookies do usuário conetado.
O StorageGRID ajuda a proteger contra ataques CSRF usando tokens CSRF. Quando ativado, o conteúdo de um cookie específico deve corresponder ao conteúdo de um cabeçalho específico ou de um parâmetro específico DO corpo DO POST.
Para ativar a funcionalidade, defina o csrfToken
parâmetro para true
durante a autenticação. A predefinição é 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 verdadeiro, um GridCsrfToken
cookie é definido com um valor aleatório para login no Gerenciador de Grade, e o AccountCsrfToken
cookie é definido com um valor aleatório para login no Gerenciador de Tenant.
Se o cookie estiver presente, todas as solicitações que podem modificar o estado do sistema (POST, PUT, PATCH, DELETE) devem incluir um dos seguintes itens:
-
O
X-Csrf-Token
cabeçalho, com o valor do cabeçalho definido para o valor do cookie de token CSRF. -
Para endpoints que aceitam um corpo codificado por formulário: Um
csrfToken
parâmetro corpo de solicitação codificado por formulário.
Consulte a documentação da API on-line para obter exemplos e detalhes adicionais.
As solicitações que têm um conjunto de cookies de token CSRF também irão aplicar o cabeçalho "Content-Type: Application/json" para qualquer solicitação que espera um corpo de solicitação JSON como uma proteção adicional contra ataques CSRF. |