Protection contre les menaces - Amazon Cognito

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Protection contre les menaces

La protection contre les menaces est le terme collectif désignant les fonctionnalités qui surveillent les opérations des utilisateurs pour détecter les signes de prise de contrôle de compte et répondent automatiquement à la sécurisation des comptes utilisateurs concernés. Vous pouvez appliquer des paramètres de protection contre les menaces aux utilisateurs lorsqu'ils se connectent à l'aide de flux d'authentification standard et personnalisés.

La protection contre les menaces génère des journaux détaillant la connexion, la déconnexion et les autres activités des utilisateurs. Vous pouvez exporter ces journaux vers un système tiers. Pour de plus amples informations, veuillez consulter Afficher et exporter l'historique des événements utilisateur.

Concepts d'application de la protection contre

La protection contre les menaces commence par un mode d'audit uniquement dans lequel votre groupe d'utilisateurs surveille l'activité des utilisateurs, attribue des niveaux de risque et génère des journaux. Il est recommandé de l'exécuter en mode audit uniquement pendant deux semaines ou plus avant d'activer le mode fonction complète. Le mode multifonction inclut un ensemble de réactions automatiques en cas d'activité risquée détectée et de mots de passe compromis. Avec le mode audit uniquement, vous pouvez surveiller les évaluations des menaces effectuées par Amazon Cognito. Vous pouvez également fournir des commentaires qui entraînent la fonctionnalité sur les faux positifs et les faux négatifs.

Vous pouvez configurer l'application de la protection contre les menaces au niveau du groupe d'utilisateurs afin de couvrir tous les clients d'applications du groupe d'utilisateurs, et au niveau de chaque client d'application. Les configurations de protection contre les menaces des clients de l'application remplacent la configuration du groupe d'utilisateurs. Pour configurer la protection contre les menaces pour un client d'application, accédez aux paramètres du client d'application depuis l'onglet Intégration des applications de votre groupe d'utilisateurs dans la console Amazon Cognito. Vous pouvez y utiliser les paramètres au niveau du client et configurer l'application exclusivement pour le client de l'application.

En outre, vous pouvez configurer la protection contre les menaces séparément pour les types d'authentification standard et personnalisés.

Protection contre les menaces pour l'authentification standard et l'authentification personnalisée

La manière dont vous pouvez configurer la protection contre les menaces dépend du type d'authentification que vous effectuez dans votre groupe d'utilisateurs et dans vos clients d'applications. Chacun des types d'authentification suivants peut avoir son propre mode d'application et ses propres réponses automatisées.

Authentification standard

L'authentification standard consiste en la connexion, la déconnexion et la gestion des mots de passe des utilisateurs à l'aide de flux de nom d'utilisateur et de mot de passe et dans l'interface utilisateur hébergée. La protection contre les menaces Amazon Cognito surveille les opérations à la recherche d'indicateurs de risque lorsqu'elles se connectent à l'interface utilisateur hébergée ou utilisent les paramètres suivants : API AuthFlow

InitiateAuth

USER_PASSWORD_AUTH,USER_SRP_AUTH. La fonctionnalité d'identification compromise n'a pas accès aux mots de passe USER_SRP_AUTH lors de la connexion et ne surveille ni ne réagit aux événements liés à ce flux.

AdminInitiateAuth

ADMIN_USER_PASSWORD_AUTH,USER_SRP_AUTH. La fonctionnalité d'identification compromise n'a pas accès aux mots de passe USER_SRP_AUTH lors de la connexion et ne surveille ni ne réagit aux événements liés à ce flux.

Vous pouvez définir le mode d'application pour l'authentification standard sur Audit uniquement ou sur Fonction complète. Pour désactiver la surveillance des menaces pour l'authentification standard, désactivez les fonctionnalités de sécurité avancées.

Authentification personnalisée

L'authentification personnalisée consiste à se connecter à l'utilisateur à l'aide de déclencheurs Lambda de type challenge personnalisés. Vous ne pouvez pas effectuer d'authentification personnalisée dans l'interface utilisateur hébergée. La protection contre les menaces Amazon Cognito surveille les opérations à la recherche d'indicateurs de risque lorsqu'elles se connectent avec le API AuthFlow paramètre CUSTOM_AUTH et. InitiateAuth AdminInitiateAuth

Vous pouvez définir le mode d'application pour l'authentification personnalisée sur Audit uniquement, Fonction complète ou Aucune application. L'option Aucune application désactive la surveillance des menaces pour une authentification personnalisée sans affecter les autres fonctionnalités de sécurité avancées.

Prérequis en matière de protection contre les menaces

Avant de commencer, vous avez besoin de ce qui suit :

  • Un groupe d’utilisateurs avec un client d’appli. Pour de plus amples informations, veuillez consulter Démarrage avec les groupes d'utilisateurs.

  • Définissez l'authentification multifactorielle (MFA) sur Facultative dans la console Amazon Cognito pour utiliser la fonctionnalité d'authentification adaptative basée sur le risque. Pour de plus amples informations, veuillez consulter Ajouter MFA à un groupe d'utilisateurs.

  • Si vous utilisez les notifications par e-mail, accédez à la SESconsole Amazon pour configurer et vérifier une adresse e-mail ou un domaine à utiliser avec vos notifications par e-mail. Pour plus d'informations sur AmazonSES, consultez Vérifier les identités sur Amazon SES.

Configuration de fonctionnalités de sécurité avancées et de protection contre les menaces

Suivez ces instructions pour configurer les fonctionnalités de sécurité avancées d'Amazon Cognito.

Note

Pour configurer une configuration de protection contre les menaces différente pour un client d'application dans la console des groupes d'utilisateurs Amazon Cognito, sélectionnez le client d'application dans l'onglet Intégration des applications et choisissez Utiliser les paramètres au niveau du client.

AWS Management Console
Pour configurer la sécurité avancée pour un groupe d’utilisateurs
  1. Accédez à la console Amazon Cognito. Si vous y êtes invité, entrez vos AWS informations d'identification.

  2. Choisissez Groupes d’utilisateurs.

  3. Choisissez un groupe d’utilisateurs existant dans la liste ou créez-en un.

  4. Choisissez l'onglet Sécurité avancée, puis sélectionnez Activer.

  5. Choisissez la méthode de protection contre les menaces que vous souhaitez configurer : authentification standard et personnalisée. Vous pouvez définir différents modes d'application pour l'authentification personnalisée et standard, mais ils partagent la même configuration des réponses automatisées en mode Fonction complète.

  6. Tâche de sélection Modifier.

  7. Choisissez un mode d'exécution. Pour commencer à réagir immédiatement aux risques détectés, sélectionnez Fonction complète et configurez les réponses automatisées pour les informations d'identification compromises et l'authentification adaptative. Pour recueillir des informations dans les journaux et les connexions au niveau utilisateur CloudWatch, sélectionnez Audit uniquement.

    La tarification de la sécurité avancée s’applique dans les deux modes Audit uniquement et Fonction complète. Pour plus d’informations, consultez Tarification d’Amazon Cognito.

    Nous vous recommandons de conserver les fonctionnalités de sécurité avancées en mode audit pendant deux semaines avant d'activer des actions. Pendant ce temps, Amazon Cognito peut connaître les habitudes d'utilisation des utilisateurs de votre application et vous pouvez fournir des commentaires sur les événements pour ajuster les réponses.

  8. Si vous avez sélectionné Audit uniquement, choisissez Enregistrer les modifications. Si vous avez sélectionné Fonction complète :

    1. Indiquez que vous allez exécuter une action personnalisée ou utiliser Paramètres Cognito par défaut pour traiter les informations d’identification compromises. Paramètres Cognito par défaut :

      1. Détecter les informations d’identification compromises au moment de la connexion, de l’inscription et de la modification du mot de passe.

      2. Traiter les informations d’identification compromises avec l’action Bloquer la connexion.

    2. Si vous avez sélectionné des actions personnalisées pour Compromised credentials (Informations d’identification compromises), choisissez les actions du groupe d’utilisateurs qu’Amazon Cognito utilisera pour la détection d’événements et les réponses aux informations d’identification compromises que vous voulez qu’Amazon Cognito apporte. Vous pouvez bloquer la connexion ou autoriser la connexion avec des informations d’identification compromises.

    3. Choisissez comment répondre aux tentatives de connexion malveillantes sous Authentification adaptative. Indiquez si vous exécuterez une action personnalisée ou utiliserez Paramètres Cognito par défaut pour traiter une activité malveillante présumée. Lorsque vous sélectionnez Paramètres Cognito par défaut, Amazon Cognito bloque la connexion à tous les niveaux de risque et ne prévient pas l’utilisateur.

    4. Si vous avez sélectionné des actions Personnalisées pour Authentification adaptative, choisissez les actions de Traitement automatique des risques d’Amazon Cognito en réponse aux risques détectés en fonction du niveau de sévérité. Lorsque vous attribuez une réponse à un niveau de risque, vous ne pouvez pas attribuer une réponse moins restrictive à un niveau de risque plus élevé. Vous pouvez attribuer les réponses suivantes aux niveaux de risque :

      1. Autoriser la connexion - aucune action préventive n’est exécutée.

      2. Facultatif MFA : si l'utilisateur a MFA configuré, Amazon Cognito lui demandera toujours de fournir un facteur de mot de passe à usage unique (TOTP) supplémentaire SMS ou temporel lorsqu'il se connecte. Si l'utilisateur n'a pas MFA configuré, il peut continuer à se connecter normalement.

      3. Exiger MFA : si l'utilisateur a MFA configuré, Amazon Cognito demandera toujours à l'utilisateur de fournir un TOTP facteur SMS ou un facteur supplémentaire lorsqu'il se connecte. Si l'utilisateur n'a pas MFA configuré, Amazon Cognito l'invitera à le faire. MFA Avant de MFA demander automatiquement à vos utilisateurs, configurez un mécanisme dans votre application pour capturer les numéros de téléphone ou pour SMS MFA enregistrer les applications d'authentification. TOTP MFA

      4. Bloquer la connexion : empêche l’utilisateur de se connecter.

      5. Avertir l’utilisateur : envoie un courriel à l’utilisateur contenant des informations sur le risque détecté par Amazon Cognito et la réponse que vous avez choisie. Vous pouvez personnaliser des modèles d’e-mail pour les messages que vous envoyez.

  9. Si vous avez choisi Notify user (Avertir l’utilisateur) à l’étape précédente, vous pouvez personnaliser vos paramètres de distribution d’e-mails et vos modèles d’e-mail pour l’authentification adaptative.

    1. Sous Configuration du courrier électronique, choisissez la SESrégion, l'adresse FROM e-mail, le nom de FROM l'expéditeur et l'adresse e-mail REPLY -TO que vous souhaitez utiliser avec l'authentification adaptative. Pour plus d’informations sur l’intégration des messages électroniques de votre groupe d’utilisateurs à Amazon Simple Email Service, consultez Paramètres d’e-mail pour les groupes d’utilisateurs Amazon Cognito.

      Historique des événements utilisateur
    2. Développez les modèles d'e-mail pour personnaliser les notifications d'authentification adaptative avec des versions à la fois HTML et en texte brut des e-mails. Pour en savoir plus sur les modèles d’e-mail, consultez Modèles de messages.

  10. Développez les exceptions d'adresses IP pour créer une liste toujours autorisée ou bloquée ou des plages d'IPv6adresses qui seront toujours autorisées IPv4 ou bloquées, indépendamment de l'évaluation avancée des risques de sécurité. Spécifiez les plages d'adresses IP en CIDRnotation (par exemple 192.168.100.0/24).

  11. Sélectionnez Enregistrer les modifications.

API (user pool)

Pour définir la configuration de sécurité avancée pour un groupe d'utilisateurs, envoyez une SetRiskConfigurationAPIdemande qui inclut un UserPoolId paramètre, mais pas un ClientId paramètre. Voici un exemple de corps de demande pour un groupe d'utilisateurs. Cette configuration des risques prend une série croissante d'actions en fonction de la gravité du risque et avertit les utilisateurs à tous les niveaux de risque. Il applique un bloc d'informations d'identification compromises aux opérations d'inscription.

Pour appliquer cette configuration, vous devez la AdvancedSecurityMode définir ENFORCED dans une UpdateUserPoolAPIdemande CreateUserPoolou une requête séparée. Pour plus d'informations sur les modèles d'espaces réservés, comme {username} dans cet exemple, consultezConfiguration des messages de vérification et d'invitation.

{ "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)

Pour définir la configuration de sécurité avancée d'un client d'application, envoyez une SetRiskConfigurationAPIdemande comprenant un UserPoolId paramètre et un ClientId paramètre. Voici un exemple de corps de demande pour un client d'application. Cette configuration des risques est plus sévère que la configuration du groupe d'utilisateurs, bloquant les entrées à haut risque. Il applique également des blocs d'identifiants compromis aux opérations d'inscription, de connexion et de réinitialisation du mot de passe.

Pour appliquer cette configuration, vous devez la AdvancedSecurityMode définir ENFORCED dans une UpdateUserPoolAPIdemande CreateUserPoolou une requête séparée. Pour plus d'informations sur les modèles d'espaces réservés, comme {username} dans cet exemple, consultezConfiguration des messages de vérification et d'invitation.

{ "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" }