Habilitar la protección de la enumeración de correo electrónico
En esta guía, se muestra cómo habilitar la protección de enumeración de correo electrónico.
Descripción general
La enumeración de correo electrónico es un tipo de ataque de fuerza bruta en el que un agente malicioso intenta adivinar o confirmar a los usuarios en un sistema mediante el paso de una dirección de correo electrónico a la API y la comprobación de la respuesta.
En los siguientes ejemplos, la protección de enumeración de correo electrónico está inhabilitada. Identity Platform muestra información que se puede usar en un ataque de enumeración de correo electrónico:
Se intenta acceder con una dirección de correo electrónico que no existe en el sistema. Identity Platform muestra un error
EMAIL_NOT_FOUND
.Se intenta registrarse con una dirección de correo electrónico que ya existe en el sistema. Identity Platform muestra un error
EMAIL_EXISTS
.
Puedes usar la función de protección de enumeración de correo electrónico de Identity Platform para proteger las cuentas de usuario de tu app contra estos ataques. La protección de la enumeración de correo electrónico ofrece las siguientes funciones:
- Los casos de acceso y registro no válidos muestran una respuesta de error
INVALID_LOGIN_CREDENTIALS
. - Quita las respuestas de error de los flujos de verificación por correo electrónico. Si la dirección de correo electrónico existe, se envía un mensaje de verificación. Si no existe, no se enviará un mensaje de verificación.
- Inhabilita la capacidad de los usuarios de cambiar su dirección de correo electrónico sin verificar primero la nueva dirección.
- Inhabilita la lista de métodos de acceso para una dirección de correo electrónico especificada cuando se llama a
createAuthUri
.
Habilitar la protección de la enumeración de correo electrónico
Para habilitar la protección de la enumeración de correo electrónico, sigue estos pasos:
En Google Cloud Console, imprime un token de acceso para el ID del proyecto con el comando
gcloud auth print-access-token
:gcloud auth print-access-token --project=PROJECT_ID
Habilita la protección de la enumeración de correo electrónico para el ID de tu proyecto con la API de 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"
Reemplaza lo siguiente:
- ACCESS_TOKEN: Es el token de acceso que generaste antes.
- PROJECT_ID: El ID de tu proyecto
Inhabilitar la protección de la enumeración de correo electrónico
Para inhabilitar la protección de enumeración de correo electrónico, sigue estos pasos:
En Google Cloud Console, imprime un token de acceso para el ID del proyecto con el comando
gcloud auth print-access-token
:gcloud auth print-access-token --project=PROJECT_ID
Inhabilita la protección de enumeración de correo electrónico con la API de 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"
Reemplaza lo siguiente:
- ACCESS_TOKEN: Es el token de acceso que generaste antes.
- PROJECT_ID: El ID de tu proyecto
Ejemplo de una respuesta de error
Si un usuario intenta acceder con una dirección de correo electrónico o una contraseña incorrectas, o con una dirección de correo electrónico que ya existe en el sistema, Identity Platform muestra un error similar al siguiente:
{
"code": "auth/internal-error",
"message": "{\"error\":{\"code\":400,\"message\":\"INVALID_LOGIN_CREDENTIALS\",\"errors\":[{\"message\":\"INVALID_LOGIN_CREDENTIALS\",\"domain\":\"global\",\"reason\":\"invalid\"}]}}"
}