Usa regiones de SMS para proteger tu app contra el abuso de SMS

En esta guía, se muestra cómo usar regiones de SMS para restringir el uso de la verificación de SMS de Identity Platform y ver las métricas de uso.

Descripción general de las regiones de SMS

Las regiones de SMS son una función de Identity Platform que puedes usar para proteger tus apps de abuso de SMS.

El abuso de SMS suele ocurrir cuando un agente malicioso hace que un servicio envíe SMS a través de una empresa de transporte con la que celebran un acuerdo de reparto de ingresos. El abuso de SMS puede puede generar costos más altos y dañar la reputación de tu producto con los clientes.

Debido a que Identity Platform permite autorizaciones telefónicas por SMS, puede haber abuso de SMS.

La función de regiones de SMS te permite configurar qué regiones pueden recibir SMS autorizaciones.

La función proporciona lo siguiente:

  • Una interfaz de Firebase console para que configures tu política de región de SMS
  • Una API para que configures la política de la región de SMS.
  • Métricas que pueden fundamentar tu decisión de usar una política de la región de SMS.

Establece una política de la región

En esta sección, se describe una política de la región de Identity Platform. Puedes configurar los siguientes tipos de políticas y solo una puede estar activa:

  • Solo listas de entidades permitidas: Solo las regiones que especifiques en una lista de entidades permitidas pueden recibir llamadas de solicitudes de autorización.
  • Solo lista de bloqueo: Todas las regiones pueden recibir solicitudes de autorización telefónica, excepto las que especifiques en una lista de bloqueo.

Después de cambiar la configuración, el sistema comienza a aplicar la política de inmediato. Bloquea las solicitudes de autorización telefónica de las regiones que la política no permite según el código de región del número de teléfono.

Política solo de listas de entidades permitidas

Para configurar una política exclusiva de listas de entidades permitidas, sigue estos pasos:

Firebase console

  1. En Firebase console, ve a la página Configuración de Firebase Auth.

    Ir a la configuración de Firebase Auth

    1. Selecciona Política de la región de SMS en el panel de navegación.

    2. Selecciona Permitir.

    3. Haz clic en Seleccionar regiones.

  2. Agrega solo las regiones a las que quieres que se envíen los mensajes SMS. Las regiones que no están en la lista están bloqueadas.

  3. Haz clic en Guardar.

    Puedes configurar una lista de entidades permitidas o una de bloqueo, pero no ambas. Si lo haces, se reemplazará la configuración anterior.

API de Identity Toolkit

  1. En la consola de Google Cloud, para imprimir un token de acceso para tu proyecto, ejecuta el siguiente comando:

    gcloud auth print-access-token --project=PROJECT_ID
    
  2. Actualiza la configuración de tu proyecto para incluir la nueva política con la API de Identity Toolkit:

    curl -X PATCH -d "{'sms_region_config':{'allowlist_only':{'allowed_regions':['REGION_LIST']}}}" \
    -H 'Authorization: Bearer ACCESS_TOKEN' \
    -H 'Content-Type: application/json' \
    'https://identitytoolkit.googleapis.com/admin/v2/projects/PROJECT_ID/config?updateMask=sms_region_config'
    

Reemplaza lo siguiente:

  • ACCESS_TOKEN: Es el token de acceso que generaste antes.
  • REGION_LIST: Indica una o más regiones, por ejemplo, IN o US.
  • PROJECT_ID: el ID de tu proyecto

Debes proporcionar una máscara de actualización para evitar que se cambien otros campos.

Política exclusiva de lista de bloqueo

Para configurar una política exclusiva de listas de bloqueo, sigue estos pasos:

Firebase console

  1. En Firebase console, ve a la página Configuración de Firebase Auth y selecciona Política de la región de SMS en el panel de navegación.

    Ir a la configuración de Firebase Auth

    1. Selecciona Rechazar.

    2. Haz clic en Seleccionar regiones.

  2. Agrega las regiones a las que quieres bloquear el envío de mensajes SMS. Se permitirán las regiones que no estén en la lista.

  3. Haz clic en Guardar.

    Puedes configurar una lista de entidades permitidas o una de bloqueo, pero no ambas. Si lo haces, se reemplazará la configuración anterior.

API de Identity Toolkit

  1. En la consola de Google Cloud, ejecuta el siguiente comando si quieres imprimir un token de acceso para tu proyecto:

    gcloud auth print-access-token --project=PROJECT_ID
    
  2. Actualiza la configuración de tu proyecto para incluir la política nueva mediante la API de Identity Toolkit:

    curl -X PATCH -d "{'sms_region_config':{'denylist_only':{'disallowed_regions':['REGION_LIST']}}}" \
    -H 'Authorization: Bearer ACCESS_TOKEN' \
    -H 'Content-Type: application/json' \
    'https://identitytoolkit.googleapis.com/admin/v2/projects/PROJECT_ID/config?updateMask=sms_region_config'
    

Reemplaza lo siguiente:

  • ACCESS_TOKEN: Es el token de acceso que generaste antes.
  • REGION_LIST: Indica una o más regiones, por ejemplo, IN o US.
  • PROJECT_ID: el ID de tu proyecto

Debes proporcionar una máscara de actualización para evitar que se envíen otros campos. cambió.

Accede a las métricas de uso de SMS regionales

En esta sección, se describe cómo consultar las métricas de uso de SMS.

Para ver las métricas, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Explorador de métricas en Cloud Monitoring:

    Ve a Cloud Monitoring.

  2. Selecciona los siguientes campos:

    • identitytoolkit.googleapis.com/usage/sent_sms_count,
    • Identitytoolkit.googleapis.com/usage/blocked_sms_count y
    • firebaseauth.googleapis.com/phone_auth/phone_verification_count.

    Ten en cuenta que las métricas tienen un campo region_code. Usas este código para ver las regiones que reciben autorizaciones de SMS.

  3. Calcula la tasa de éxito de la verificación de la siguiente manera: verification_success_rate = phone_verification_count/sent_sms_count, en una región en particular. Por lo general, las tasas de éxito de verificaciones superiores al 75% se consideran aceptables.

Un valor bajo de verification_success_rate puede indicar abuso, especialmente en una región de que no esperas que tengan usuarios. Por lo general, las tasas de éxito de la verificación por debajo del 75% se consideran bajas.

Si sospechas de un abuso de SMS, puedes establecer una política de la región.