SMS-Regionen verwenden, um deine App vor SMS-Missbrauch zu schützen

In diesem Leitfaden erfahren Sie, wie Sie mithilfe von SMS-Regionen die Nutzung der SMS-Bestätigung über die Identity Platform einschränken und Nutzungsmesswerte aufrufen können.

Überblick über SMS-Regionen

SMS-Regionen sind ein Feature der Identity Platform, mit dem Sie Ihre Anwendungen vor SMS-Missbrauch schützen können.

Der SMS-Missbrauch tritt in der Regel auf, wenn ein Dienst durch einen böswilligen Akteur SMS über einen Mobilfunkanbieter sendet, mit dem er eine Vereinbarung zur Umsatzbeteiligung getroffen hat. Der Missbrauch von SMS kann zu höheren Kosten führen und dem Ruf Ihres Produkts bei Kunden schaden.

Da die Identity Platform SMS-Telefonautorisierungen zulässt, kann es zu SMS-Missbrauch kommen.

Mit der Funktion für SMS-Regionen können Sie festlegen, in welchen Regionen SMS-Telefonautorisierungen empfangen werden können.

Die Funktion bietet Folgendes:

  • Eine Firebase Console-Oberfläche, in der Sie die Richtlinie für SMS-Regionen einrichten können.
  • Eine API zum Einrichten Ihrer Richtlinie für SMS-Regionen.
  • Messwerte, die Ihnen die Entscheidung zur Verwendung einer Richtlinie für SMS-Regionen erleichtern.

Regionsrichtlinie festlegen

In diesem Abschnitt wird eine Regionsrichtlinie für Identity Platform beschrieben. Sie können die folgenden Richtlinientypen einrichten, wobei nur eine aktiv sein kann:

  • Nur auf die Zulassungsliste setzen:Autorisierungsanfragen für Smartphones können nur in den Regionen empfangen werden, die Sie auf der Zulassungsliste angeben.
  • Nur Sperrliste: In allen Regionen können Telefonautorisierungsanfragen empfangen werden, mit Ausnahme der in einer Sperrliste angegebenen.

Nachdem Sie die Konfiguration geändert haben, beginnt das System sofort damit, die Richtlinie zu erzwingen. Anfragen zur Autorisierung von Smartphones aus Regionen, die von der Richtlinie nicht zugelassen sind, werden anhand des Regionscodes der Telefonnummer blockiert.

Richtlinie nur für die Zulassungsliste

So richten Sie eine Richtlinie ein, die ausschließlich auf die Zulassungsliste gesetzt wird:

Firebase Console

  1. Rufen Sie in der Firebase Console die Seite Firebase Auth-Einstellungen auf.

    Zu den Firebase Auth-Einstellungen

    1. Wählen Sie im Navigationsbereich Richtlinie für SMS-Regionen aus.

    2. Wählen Sie Zulassen aus.

    3. Klicken Sie auf Regionen auswählen.

  2. Fügen Sie nur Regionen hinzu, an die SMS gesendet werden sollen. Regionen, die nicht auf der Liste stehen, werden blockiert.

  3. Klicken Sie auf Speichern.

    Sie können entweder eine Zulassungsliste oder eine Sperrliste konfigurieren, aber nicht beides. Dadurch werden alle vorherigen Konfigurationen überschrieben.

Identity Toolkit API

  1. Führen Sie in der Google Cloud Console den folgenden Befehl aus, um ein Zugriffstoken für Ihr Projekt auszugeben:

    gcloud auth print-access-token --project=PROJECT_ID
    
  2. Aktualisieren Sie Ihre Projektkonfiguration, um die neue Richtlinie mithilfe der Identity Toolkit API aufzunehmen:

    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'
    

Ersetzen Sie Folgendes:

  • ACCESS_TOKEN: das Zugriffstoken, das Sie zuvor generiert haben.
  • REGION_LIST: eine oder mehrere Regionen, z. B. IN oder US.
  • PROJECT_ID ist Ihre Projekt-ID.

Sie müssen eine Aktualisierungsmaske angeben, um zu verhindern, dass andere Felder geändert werden.

Nur-Sperrliste

So richten Sie eine Sperrliste ein:

Firebase Console

  1. Rufen Sie in der Firebase Console die Seite Firebase Auth-Einstellungen auf und wählen Sie im Navigationsbereich Richtlinie für SMS-Regionen aus.

    Zu den Firebase Auth-Einstellungen

    1. Wählen Sie Ablehnen aus.

    2. Klicken Sie auf Regionen auswählen.

  2. Fügen Sie alle Regionen hinzu, in denen Sie das Senden von SMS blockieren möchten. Regionen, die nicht auf der Liste stehen, sind zulässig.

  3. Klicken Sie auf Speichern.

    Sie können entweder eine Zulassungsliste oder eine Sperrliste konfigurieren, aber nicht beides. Dadurch werden alle vorherigen Konfigurationen überschrieben.

Identity Toolkit API

  1. Führen Sie in der Google Cloud Console den folgenden Befehl aus, um ein Zugriffstoken für Ihr Projekt auszugeben:

    gcloud auth print-access-token --project=PROJECT_ID
    
  2. Aktualisieren Sie Ihre Projektkonfiguration, um die neue Richtlinie mithilfe der Identity Toolkit API aufzunehmen:

    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'
    

Ersetzen Sie Folgendes:

  • ACCESS_TOKEN: das Zugriffstoken, das Sie zuvor generiert haben.
  • REGION_LIST: eine oder mehrere Regionen, z. B. IN oder US.
  • PROJECT_ID ist Ihre Projekt-ID.

Sie müssen eine Aktualisierungsmaske angeben, um zu verhindern, dass andere Felder geändert werden.

Auf regionale SMS-Nutzungsmesswerte zugreifen

In diesem Abschnitt wird beschrieben, wie Sie Messwerte zur SMS-Nutzung abrufen.

So rufen Sie die Messwerte auf:

  1. Rufen Sie in der Google Cloud Console in Cloud Monitoring die Seite Metrics Explorer auf:

    Zu Cloud Monitoring

  2. Wählen Sie die folgenden Felder aus:

    • IdentityToolkit.googleapis.com/usage/sent_sms_count,
    • IdentityToolkit.googleapis.com/usage/blocked_sms_count und
    • firebaseauth.googleapis.com/phone_auth/phone_verification_count.

    Die Messwerte haben das Feld „region_code“. Mit diesem Code können Sie die Regionen aufrufen, die SMS-Autorisierungen erhalten.

  3. Berechnen Sie die Erfolgsquote bei der Verifizierung in einer bestimmten Region als verification_success_rate = phone_verification_count/sent_sms_count. In der Regel werden Erfolgsquoten von über 75% als akzeptabel angesehen.

Ein niedriger verification_success_rate kann auf Missbrauch hinweisen, insbesondere in einer Region, in der normalerweise keine Nutzer zu erwarten wären. Die Erfolgsquote bei der Verifizierung unter 75 % gilt in der Regel als niedrig.

Wenn Sie den Verdacht haben, dass SMS missbräuchlich verwendet werden, können Sie eine Regionsrichtlinie festlegen.