Ativar a proteção de enumeração de e-mails
Este guia mostra como ativar a proteção de enumeração de e-mails.
Informações gerais
A enumeração de e-mails é um tipo de ataque de força bruta em que um ator malicioso tenta adivinhar ou confirmar usuários em um sistema, passando um endereço de e-mail para a API e verificando a resposta.
Nos exemplos a seguir, a proteção de enumeração de e-mails está desativada. O Identity Platform retorna informações que podem ser usadas em um ataque de enumeração de e-mails:
É feita uma tentativa de login com um endereço de e-mail que não existe no sistema. O Identity Platform retorna um erro
EMAIL_NOT_FOUND
.Houve uma tentativa de inscrição com um endereço de e-mail que já existe no sistema. O Identity Platform retorna um erro
EMAIL_EXISTS
.
Você pode usar o recurso de proteção de enumeração de e-mails do Identity Platform para proteger as contas de usuário no seu aplicativo contra esses ataques. A proteção de enumeração de e-mails oferece os seguintes recursos:
- Casos de login inválidos retornam uma resposta de erro
INVALID_LOGIN_CREDENTIALS
. Casos de inscrição inválidos retornamEMAIL_EXISTS
. - Remove as respostas de erro para fluxos de verificação de e-mail. Se o endereço de e-mail existir, um e-mail de verificação será enviado. Se ele não existir, não será enviado um e-mail de verificação. Recomendamos que você não permita que os usuários se inscrevam sem um fluxo de verificação de e-mail.
- Desativa a capacidade de os usuários alterarem seus endereços de e-mail sem antes confirmar o novo endereço.
- Desativa a listagem de métodos de login para um endereço de e-mail especificado ao chamar
createAuthUri
.
Ativar a proteção de enumeração de e-mails
Para ativar a proteção de enumeração de e-mails, siga estas etapas:
No console do Google Cloud, imprima um token de acesso para o ID do projeto usando o comando
gcloud auth print-access-token
:gcloud auth print-access-token --project=PROJECT_ID
Ative a proteção de enumeração de e-mail para o ID do projeto usando a API Identity Toolkit:
curl -X PATCH -d "{'email_privacy_config':{'enable_improved_email_privacy':"true"}}" \ -H 'Authorization: Bearer ACCESS_TOKEN' \ -H 'Content-Type: application/json' -H 'X-Goog-User-Project: PROJECT_ID' \ "https://identitytoolkit.googleapis.com/admin/v2/projects/PROJECT_ID/config?updateMask=email_privacy_config"
Substitua:
- ACCESS_TOKEN: o token de acesso gerado anteriormente
- PROJECT_ID: ID do projeto
Desativar a proteção de enumeração de e-mails
Para desativar a proteção de enumeração de e-mails, siga estas etapas:
No console do Google Cloud, imprima um token de acesso para o ID do projeto usando o comando
gcloud auth print-access-token
:gcloud auth print-access-token --project=PROJECT_ID
Desative a proteção de enumeração de e-mails usando a API Identity Toolkit:
curl -X PATCH -d "{'email_privacy_config':{'enable_improved_email_privacy':"false"}}" \ -H 'Authorization: Bearer ACCESS_TOKEN' \ -H 'Content-Type: application/json' -H 'X-Goog-User-Project: PROJECT_ID' \ "https://identitytoolkit.googleapis.com/admin/v2/projects/PROJECT_ID/config?updateMask=email_privacy_config"
Substitua:
- ACCESS_TOKEN: o token de acesso gerado anteriormente
- PROJECT_ID: ID do projeto
Exemplo de uma resposta de erro
Se um usuário tentar fazer login com um endereço de e-mail ou uma senha incorreta ou tentar se inscrever com um endereço de e-mail que já existe no sistema, o Identity Platform retornará um erro semelhante ao seguinte:
{
"code": "auth/internal-error",
"message": "{\"error\":{\"code\":400,\"message\":\"INVALID_LOGIN_CREDENTIALS\",\"errors\":[{\"message\":\"INVALID_LOGIN_CREDENTIALS\",\"domain\":\"global\",\"reason\":\"invalid\"}]}}"
}