Ativar a proteção de enumeração de e-mails
Este guia mostra como ativar a proteção contra enumeração de e-mails.
Visão geral
A enumeração de e-mail é 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:
Uma tentativa de login com um endereço de e-mail que não existe no sistema é feita. 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
.
Use o recurso de proteção de enumeração de e-mails do Identity Platform para proteger as contas de usuário no seu app contra ataques. A proteção contra enumeração de e-mails oferece os seguintes recursos:
- Casos de login e inscrição inválidos retornam uma resposta de erro
INVALID_LOGIN_CREDENTIALS
. - 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, um e-mail de verificação não será enviado.
- Impede que os usuários alterem o endereço de e-mail sem verificar o novo endereço primeiro.
- Desativa a listagem de métodos de login de 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, exiba 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-mails para seu 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' \ "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, exiba 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' \ "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 senha incorretos ou tentar se inscrever com um endereço de e-mail que já exista 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\"}]}}"
}