Schutz vor Bedrohungen - Amazon Cognito

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Schutz vor Bedrohungen

Bedrohungsschutz ist der Sammelbegriff für Funktionen, die Benutzervorgänge auf Anzeichen einer Kontoübernahme hin überwachen und automatisch auf sichere betroffene Benutzerkonten reagieren. Sie können Einstellungen für den Bedrohungsschutz auf Benutzer anwenden, wenn sie sich mit standardmäßigen und benutzerdefinierten Authentifizierungsabläufen anmelden.

Der Bedrohungsschutz generiert Protokolle, in denen die An- und Abmeldung der Benutzer sowie andere Aktivitäten detailliert beschrieben werden. Sie können diese Protokolle auf ein System eines Drittanbieters exportieren. Weitere Informationen finden Sie unter Benutzerereignisverlauf anzeigen und exportieren.

Konzepte zur Durchsetzung des Bedrohungsschutzes

Der Bedrohungsschutz beginnt mit einem reinen Auditmodus, in dem Ihr Benutzerpool die Benutzeraktivitäten überwacht, Risikostufen zuweist und Protokolle generiert. Es hat sich bewährt, zwei Wochen oder länger den Modus nur für Audits zu verwenden, bevor Sie den Vollfunktionsmodus aktivieren. Der Vollfunktionsmodus umfasst eine Reihe automatischer Reaktionen auf erkannte riskante Aktivitäten und kompromittierte Passwörter. Im Modus „Nur Audit“ können Sie die Bedrohungsbeurteilungen überwachen, die Amazon Cognito durchführt. Sie können auch Feedback geben, um die Funktion anhand falscher positiver und negativer Ergebnisse zu schulen.

Sie können die Durchsetzung des Bedrohungsschutzes auf Benutzerpoolebene so konfigurieren, dass sie alle App-Clients im Benutzerpool abdeckt, und auf Ebene einzelner App-Clients. Konfigurationen zum Schutz vor Bedrohungen durch App-Clients haben Vorrang vor der Konfiguration des Benutzerpools. Um den Bedrohungsschutz für einen App-Client zu konfigurieren, navigieren Sie in der Amazon Cognito Cognito-Konsole auf der Registerkarte App-Integration Ihres Benutzerpools zu den App-Client-Einstellungen. Dort können Sie Einstellungen auf Client-Ebene verwenden und die Durchsetzung ausschließlich für den App-Client konfigurieren.

Darüber hinaus können Sie den Bedrohungsschutz für standardmäßige und benutzerdefinierte Authentifizierungstypen separat konfigurieren.

Bedrohungsschutz für Standardauthentifizierung und benutzerdefinierte Authentifizierung

Wie Sie den Bedrohungsschutz konfigurieren können, hängt von der Art der Authentifizierung ab, die Sie in Ihrem Benutzerpool und Ihren App-Clients vornehmen. Jede der folgenden Authentifizierungstypen kann ihren eigenen Erzwingungsmodus und ihre eigenen automatisierten Antworten haben.

Standardauthentifizierung

Die Standardauthentifizierung umfasst die Benutzeranmeldung, -abmeldung und Passwortverwaltung mit Benutzername-Passwort-Flows und in der gehosteten Benutzeroberfläche. Amazon Cognito Threat Protection überwacht Operationen auf Risikoindikatoren, wenn sie sich über die gehostete Benutzeroberfläche anmelden oder die folgenden API AuthFlow Parameter verwenden:

InitiateAuth

USER_PASSWORD_AUTH,USER_SRP_AUTH. Die Funktion für kompromittierte Anmeldeinformationen hat bei der USER_SRP_AUTH Anmeldung keinen Zugriff auf Passwörter und überwacht und reagiert auch nicht auf Ereignisse mit diesem Ablauf.

AdminInitiateAuth

ADMIN_USER_PASSWORD_AUTH,. USER_SRP_AUTH Die Funktion für kompromittierte Anmeldeinformationen hat bei der USER_SRP_AUTH Anmeldung keinen Zugriff auf Passwörter und überwacht und reagiert auch nicht auf Ereignisse mit diesem Ablauf.

Sie können den Erzwingungsmodus für die Standardauthentifizierung auf Nur Prüfung oder Vollzugriff festlegen. Um die Bedrohungsüberwachung für die Standardauthentifizierung zu deaktivieren, deaktivieren Sie die erweiterten Sicherheitsfunktionen.

Benutzerdefinierte Authentifizierung

Bei der benutzerdefinierten Authentifizierung handelt es sich um eine Benutzeranmeldung mit benutzerdefinierten Challenge-Lambda-Triggern. In der gehosteten Benutzeroberfläche können Sie keine benutzerdefinierte Authentifizierung durchführen. Amazon Cognito Threat Protection überwacht Operationen auf Risikoindikatoren, wenn sie sich mit dem API AuthFlow Parameter CUSTOM_AUTH InitiateAuth und AdminInitiateAuth anmelden.

Sie können den Erzwingungsmodus für die benutzerdefinierte Authentifizierung auf „Nur Prüfung“, „Vollständige Funktionalität“ oder „Keine Durchsetzung“ festlegen. Die Option Keine Durchsetzung deaktiviert die Bedrohungsüberwachung für die benutzerdefinierte Authentifizierung, ohne dass andere erweiterte Sicherheitsfunktionen beeinträchtigt werden.

Voraussetzungen für den Schutz vor Bedrohungen

Bevor Sie beginnen, muss Folgendes sichergestellt sein:

  • Einen Benutzerpool mit einem App-Client. Weitere Informationen finden Sie unter Erste Schritte mit Benutzerpools.

  • Stellen Sie die Multi-Faktor-Authentifizierung (MFA) in der Amazon Cognito Cognito-Konsole auf Optional ein, um die risikobasierte adaptive Authentifizierungsfunktion zu verwenden. Weitere Informationen finden Sie unter MFAZu einem Benutzerpool hinzufügen.

  • Wenn Sie E-Mail-Benachrichtigungen verwenden, konfigurieren und verifizieren Sie in der SESAmazon-Konsole eine E-Mail-Adresse oder Domain, die Sie für Ihre E-Mail-Benachrichtigungen verwenden möchten. Weitere Informationen zu Amazon finden Sie SES unter Identitäten bei Amazon verifizieren. SES

Einrichtung erweiterter Sicherheitsfunktionen und Bedrohungsschutz

Folgen Sie diesen Anweisungen, um die erweiterten Sicherheitsfunktionen von Amazon Cognito einzurichten.

Anmerkung

Um eine andere Bedrohungsschutzkonfiguration für einen App-Client in der Amazon Cognito-Benutzerpools-Konsole einzurichten, wählen Sie den App-Client auf der Registerkarte App-Integration aus und wählen Sie Einstellungen auf Client-Ebene verwenden.

AWS Management Console
Konfigurieren der erweiterten Sicherheit für einen Benutzerpool
  1. Melden Sie sich bei der Amazon-Cognito-Konsole an. Wenn Sie dazu aufgefordert werden, geben Sie Ihre Anmeldeinformationen ein. AWS

  2. Wählen Sie User Pools (Benutzerpools) aus.

  3. Wählen Sie einen vorhandenen Benutzerpool aus der Liste aus oder erstellen Sie einen neuen Benutzerpool.

  4. Wählen Sie die Registerkarte Erweiterte Sicherheit und dann Aktivieren aus.

  5. Wählen Sie die Methode zum Schutz vor Bedrohungen, die Sie konfigurieren möchten: Standardauthentifizierung und benutzerdefinierte Authentifizierung. Sie können verschiedene Erzwingungsmodi für die benutzerdefinierte und die Standardauthentifizierung festlegen, aber im Vollfunktionsmodus gilt dieselbe Konfiguration für automatische Antworten.

  6. Wählen Sie Bearbeiten aus.

  7. Wählen Sie einen Erzwingungsmodus. Um sofort auf erkannte Risiken zu reagieren, wählen Sie Vollständige Funktionalität und konfigurieren Sie die automatischen Reaktionen auf kompromittierte Anmeldeinformationen und die adaptive Authentifizierung. Um Informationen in Logs und Logs auf Benutzerebene zu sammeln CloudWatch, wählen Sie Nur Audit aus.

    Die Preise für erweiterte Sicherheit gelten für die Modi Audit only (Nur prüfen) und Full function (Vollständige Funktion). Weitere Informationen finden Sie unter Amazon Cognito – Preise.

    Wir empfehlen, die erweiterten Sicherheitsfunktionen zwei Wochen lang im Überwachungsmodus zu belassen, bevor Sie Aktionen aktivieren. Während dieser Zeit kann Amazon Cognito die Nutzungsmuster Ihrer App-Benutzer kennenlernen und Sie können Feedback zu Ereignissen geben, um die Antworten anzupassen.

  8. Wenn Sie Audit only (Nur prüfen) ausgewählt haben, wählen Sie Save changes (Änderungen speichern) aus. Wenn Sie Full function (Vollständige Funktion) ausgewählt haben:

    1. Wählen Sie aus, ob Sie eine benutzerdefinierte Aktion ausführen oder Cognito-Standardfunktionen verwenden möchten, um auf möglicherweise kompromittierte Anmeldeinformationen zu reagieren. Cognito-Standardfunktionen:

      1. Erkennen kompromittierter Anmeldeinformationen bei Anmeldung, Registrierung und Passwortänderung.

      2. Reagieren Sie auf kompromittierte Anmeldeinformationen mit der Aktion Block sign-in (Anmeldung blockieren).

    2. Wenn Sie Custom (benutzerdefinierte) Aktionen für Compromised credentials (kompromittierte Anmeldeinformationen) ausgewählt haben, wählen Sie die Benutzerpool-Aktionen aus, die Amazon Cognito für die Event detection (Ereigniserkennung) verwendet, sowie die Compromised credentials responses (Antworten auf kompromittierte Anmeldeinformationen), die Amazon Cognito auslösen soll. Sie können bei möglicherweise kompromittierten Anmeldeinformationen entweder die Anmeldung blockieren oder die Anmeldung zulassen.

    3. Wählen Sie unter Adaptive authentication (Adaptive Authentifizierung) aus, wie Sie auf schädliche Anmeldeversuche reagieren möchten. Wählen Sie aus, ob Sie eine benutzerdefinierte Aktion ausführen oder Cognito-Standardfunktionen verwenden möchten, um auf verdächtige schädliche Aktivitäten zu reagieren. Wenn Sie Cognito defaults (Cognito-Standardfunktionen) auswählen, blockiert Amazon Cognito die Anmeldung auf allen Risikostufen und benachrichtigt den Benutzer nicht.

    4. Wenn Sie benutzerdefinierte Aktionen für Adaptive authentication (Adaptive Authentifizierung) ausgewählt haben, wählen Sie die Aktion Automatic risk repsonse (Automatische Reaktion auf Risiken) aus. Amazon Cognito wird diese verwenden, um je nach Schweregrad auf erkannte Risiken zu reagieren. Wenn Sie einer Risikostufe eine Reaktion zuweisen, können Sie einem höheren Risiko keine weniger restriktive Reaktion zuweisen. Sie können den Risikostufen folgende Reaktionen zuweisen:

      1. Allow sign-in (Anmeldung zulassen) – Ergreifen Sie keine vorbeugenden Maßnahmen.

      2. Optional MFA — Wenn der Benutzer MFA konfiguriert hat, verlangt Amazon Cognito vom Benutzer bei der Anmeldung immer die Angabe eines zusätzlichen SMS oder zeitbasierten Einmalkennworts (TOTP). Wenn der Benutzer keine MFA Konfiguration vorgenommen hat, kann er sich weiterhin normal anmelden.

      3. MFAErforderlich — Wenn der Benutzer MFA konfiguriert hat, verlangt Amazon Cognito vom Benutzer bei der Anmeldung immer die Angabe eines zusätzlichen SMS TOTP O-Faktors. Wenn der Benutzer keine MFA Konfiguration vorgenommen hat, fordert Amazon Cognito ihn zur Einrichtung aufMFA. Bevor Sie automatisch MFA für Ihre Benutzer etwas verlangen, konfigurieren Sie in Ihrer App einen Mechanismus zum Erfassen von Telefonnummern oder zum SMS MFA Registrieren von Authentifikator-Apps für. TOTP MFA

      4. Block sign-in (Anmeldung blockieren) – Verhindern Sie, dass sich der Benutzer anmeldet.

      5. Notify user (Benutzer benachrichtigen) – Senden Sie dem Benutzer eine E-Mail-Nachricht mit Informationen über das Risiko, das Amazon Cognito festgestellt hat, und Ihre Reaktion auf das Risiko. Sie können E-Mail-Nachrichtenvorlagen für von Ihnen gesendete Nachrichten anpassen.

  9. Wenn Sie im vorherigen Schritt Notify user (Benutzer benachrichtigen) ausgewählt haben, können Sie Ihre Einstellungen für die E-Mail-Zustellung und E-Mail-Nachrichtenvorlagen für die adaptive Authentifizierung anpassen.

    1. Wählen Sie unter E-Mail-Konfiguration die SESRegion, die FROME-Mail-Adresse, den FROMAbsendernamen und die REPLY-TO-E-Mail-Adresse aus, die Sie für die adaptive Authentifizierung verwenden möchten. Weitere Informationen zur Integration Ihrer Benutzerpool-E-Mail-Nachrichten in Amazon Simple Email Service finden Sie unter Email settings for Amazon Cognito user pools (E-Mail-Einstellungen für Amazon-Cognito-Benutzerpools).

      Ereignisverlauf des Benutzers
    2. Erweitern Sie E-Mail-Vorlagen, um Benachrichtigungen zur adaptiven Authentifizierung HTML sowohl mit Klartext-Versionen von E-Mail-Nachrichten als auch mit Klartext-Versionen anzupassen. Weitere Informationen über E-Mail-Nachrichtenvorlagen finden Sie unter Nachrichtenvorlagen.

  10. Erweitern Sie IP-Adressausnahmen, um eine Liste mit immer erlaubten oder immer blockierten IPv6 Adressbereichen zu erstellen, die unabhängig von der IPv4 erweiterten Sicherheitsrisikobewertung immer zugelassen oder blockiert werden. Geben Sie die IP-Adressbereiche in CIDRNotation an (z. B. 192.168.100.0/24).

  11. Wählen Sie Änderungen speichern.

API (user pool)

Um die erweiterte Sicherheitskonfiguration für einen Benutzerpool festzulegen, senden Sie eine SetRiskConfigurationAPIAnfrage, die einen UserPoolId Parameter, aber keinen Parameter enthält. ClientId Im Folgenden finden Sie ein Beispiel für einen Anfragetext für einen Benutzerpool. Diese Risikokonfiguration sieht je nach Schwere des Risikos eine Reihe von Maßnahmen vor und benachrichtigt Benutzer aller Risikostufen. Bei Anmeldevorgängen wird der Zugriff auf kompromittierte Anmeldeinformationen gesperrt.

Um diese Konfiguration zu erzwingen, müssen Sie dies ENFORCED in einer separaten AdvancedSecurityMode OR-Anfrage festlegen. CreateUserPoolUpdateUserPoolAPI Weitere Informationen zu den Platzhaltervorlagen wie {username} in diesem Beispiel finden Sie unterKonfiguration von Überprüfungs- und Einladungsnachrichten.

{ "AccountTakeoverRiskConfiguration": { "Actions": { "HighAction": { "EventAction": "MFA_REQUIRED", "Notify": true }, "LowAction": { "EventAction": "NO_ACTION", "Notify": true }, "MediumAction": { "EventAction": "MFA_IF_CONFIGURED", "Notify": true } }, "NotifyConfiguration": { "BlockEmail": { "Subject": "You have been blocked for suspicious activity", "TextBody": "We blocked {username} at {login-time} from {ip-address}." }, "From": "admin@example.com", "MfaEmail": { "Subject": "Suspicious activity detected, MFA required", "TextBody": "Unexpected sign-in from {username} on device {device-name}. You must use MFA." }, "NoActionEmail": { "Subject": "Suspicious activity detected, secure your user account", "TextBody": "We noticed suspicious sign-in activity by {username} from {city}, {country} at {login-time}. If this was not you, reset your password." }, "ReplyTo": "admin@example.com", "SourceArn": "arn:aws:ses:us-west-2:123456789012:identity/admin@example.com" } }, "CompromisedCredentialsRiskConfiguration": { "Actions": { "EventAction": "BLOCK" }, "EventFilter": [ "SIGN_UP" ] }, "RiskExceptionConfiguration": { "BlockedIPRangeList": [ "192.0.2.0/24","198.51.100.0/24" ], "SkippedIPRangeList": [ "203.0.113.0/24" ] }, "UserPoolId": "us-west-2_EXAMPLE" }
API (app client)

Um die erweiterte Sicherheitskonfiguration für einen App-Client festzulegen, senden Sie eine SetRiskConfigurationAPIAnfrage, die einen UserPoolId Parameter und einen ClientId Parameter enthält. Im Folgenden finden Sie ein Beispiel für einen Anfragetext für einen App-Client. Diese Risikokonfiguration ist schwerwiegender als die Benutzerpoolkonfiguration und blockiert Einträge mit hohem Risiko. Außerdem werden bei der Registrierung und Anmeldung sowie beim Zurücksetzen des Kennworts Sperren kompromittierter Anmeldeinformationen blockiert.

Um diese Konfiguration zu erzwingen, müssen Sie dies in einer separaten OD-Anfrage festlegen. AdvancedSecurityMode ENFORCED CreateUserPoolUpdateUserPoolAPI Weitere Informationen zu den Platzhaltervorlagen wie {username} in diesem Beispiel finden Sie unterKonfiguration von Überprüfungs- und Einladungsnachrichten.

{ "AccountTakeoverRiskConfiguration": { "Actions": { "HighAction": { "EventAction": "BLOCK", "Notify": true }, "LowAction": { "EventAction": "NO_ACTION", "Notify": true }, "MediumAction": { "EventAction": "MFA_REQUIRED", "Notify": true } }, "NotifyConfiguration": { "BlockEmail": { "Subject": "You have been blocked for suspicious activity", "TextBody": "We blocked {username} at {login-time} from {ip-address}." }, "From": "admin@example.com", "MfaEmail": { "Subject": "Suspicious activity detected, MFA required", "TextBody": "Unexpected sign-in from {username} on device {device-name}. You must use MFA." }, "NoActionEmail": { "Subject": "Suspicious activity detected, secure your user account", "TextBody": "We noticed suspicious sign-in activity by {username} from {city}, {country} at {login-time}. If this was not you, reset your password." }, "ReplyTo": "admin@example.com", "SourceArn": "arn:aws:ses:us-west-2:123456789012:identity/admin@example.com" } }, "ClientId": "1example23456789", "CompromisedCredentialsRiskConfiguration": { "Actions": { "EventAction": "BLOCK" }, "EventFilter": [ "SIGN_UP", "SIGN_IN", "PASSWORD_CHANGE" ] }, "RiskExceptionConfiguration": { "BlockedIPRangeList": [ "192.0.2.1/32","192.0.2.2/32" ], "SkippedIPRangeList": [ "192.0.2.3/32","192.0.2.4/32" ] }, "UserPoolId": "us-west-2_EXAMPLE" }