View a markdown version of this page

Fournir des informations d'authentification pour les tests de pénétration - Agent de sécurité AWS

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.

Fournir des informations d'authentification pour les tests de pénétration

Fournissez des informations d'identification pour permettre à AWS Security Agent de tester les zones authentifiées de vos applications Web. Sans informations d'identification, l'agent peut uniquement tester les pages et les API accessibles au public.

Configuration des informations d'authentification

  1. Dans le flux de travail de création du test d'intrusion, recherchez la section Informations d'authentification - Facultatif.

  2. Dans la section Credential #1, choisissez votre méthode de saisie des informations d'identification :

    • Entrez les informations d'identification - Entrez les informations d'identification directement. Idéal pour les environnements de développement et de test.

    • Paramètre avancé : utilisez la gestion AWS-native des informations d'identification. Recommandé pour les environnements de production et les informations d'identification sensibles.

Options avancées

Si vous sélectionnez le paramètre avancé, vous pouvez choisir entre trois stratégies d'identification :

  • Hypothèse du rôle IAM : pour les applications utilisant AWS Cognito ou l'authentification IAM

  • AWS Secrets Manager : pour un stockage sécurisé des informations d'identification avec chiffrement et rotation

  • Fonction Lambda : pour la génération dynamique d'informations d'identification ou les flux d'authentification complexes

Entrez directement les informations d'identification

  1. Sélectionnez Entrez les informations d'identification.

  2. Entrez le nom d'utilisateur et le mot de passe.

  3. Dans le menu déroulant URL d'accès, sélectionnez l'URL dans laquelle ces informations d'identification seront utilisées. Cela doit être sélectionné dans la liste des points de terminaison cibles.

  4. (Facultatif) Dans le champ 2FA - facultatif, fournissez un secret TOTP pour les applications qui nécessitent une authentification à deux facteurs. Vous avez le choix entre les options suivantes :

    • Entrez le secret TOTP directement (par exemple,JBSWY3DPEHPK3PXP) ou entrez l'otpauth://totp/URI complet (par exemple,otpauth://totp/Example:user@example.com?secret=JBSWY3DPEHPK3PXP&issuer=Example).

    • Cliquez sur l'icône de téléchargement pour télécharger une image de code QR depuis la page de configuration de votre application d'authentification. Le code QR est scanné localement et l'URI TOTP est extrait automatiquement.

      Lorsqu'un secret TOTP est fourni, l'agent génère automatiquement de nouveaux codes à usage unique et les saisit lorsqu'une invite 2FA est détectée lors de la connexion.

  5. (Facultatif) Développez l'invite de connexion à Agent Space pour fournir des instructions de connexion spécifiques si votre application possède un flux d'authentification complexe.

Important

Utilisez des comptes de test dotés d'un accès représentatif plutôt que des comptes personnels ou administratifs.

Utiliser les paramètres avancés

Lorsque vous sélectionnez une stratégie d'identification avancée (rôle Secrets Manager, Lambda ou IAM), AWS Security Agent récupère vos informations d'identification directement depuis la ressource AWS configurée à l'aide du rôle de service. Utilisez l'invite de connexion à Agent Space pour fournir à l'agent des instructions sur la façon d'appliquer ces informations d'identification à votre application, par exemple, l'URL de connexion vers laquelle accéder et les champs de formulaire à remplir.

Note

Les secrets et les fonctions Lambda de Secrets Manager doivent se trouver dans le même compte AWS que celui utilisé pour configurer votre agent de sécurité AWS. Cross-account les informations d'identification ne sont pas prises en charge actuellement.

  1. Sélectionnez Réglage avancé.

  2. Dans le menu déroulant Stratégie d'accès utilisateur, sélectionnez l'une des options suivantes :

Sélectionnez le rôle IAM disponible que l'agent doit assumer

Utilisez cette option pour les applications utilisant AWS Cognito, API Gateway avec authentification IAM ou d'autres AWS-native systèmes d'authentification. Le rôle IAM doit avoir une relation de confiance permettant à AWS Security Agent de l'assumer et être autorisé à accéder au système d'authentification de votre application.

Sélectionnez les informations d'identification statiques depuis AWS Secrets Manager connecté

Utilisez cette option pour récupérer les informations d'identification en toute sécurité depuis AWS Secrets Manager grâce au chiffrement, à la rotation et à l'audit d'accès.

Le rôle IAM doit disposer secretsmanager:GetSecretValue d'secretsmanager:DescribeSecretautorisations.

L'agent récupère la valeur secrète directement auprès de Secrets Manager. Utilisez l'invite de connexion à Agent Space pour indiquer à l'agent comment appliquer ces informations d'identification au flux de connexion de votre application, par exemple, l'URL vers laquelle accéder et les champs de formulaire à remplir. Vous pouvez utiliser n'importe quel format pour stocker votre secret, car l'agent interprétera le format en suivant les instructions que vous fournissez dans l'invite de connexion.

Par exemple, si l'agent doit soumettre un formulaire de username/password connexion àhttps://example.com/login, vous pouvez formater votre secret au format JSON avec des password champs username et. Si l'application nécessite l' TOTP-based authentification à deux facteurs, incluez un totpSecret champ contenant soit directement le secret TOTP, soit un URI complet otpauth://totp/ :

{ "username": "test-user", "password": "secure-password-here", "totpSecret": "JBSWY3DPEHPK3PXP" }

Ensuite, configurez les instructions d'authentification : Définissez l'URL d'accès sur https://example.com (ou toute autre URL sélectionnée dans la liste des points de terminaison cibles). Entrez ce qui suit dans l'invite de connexion à Agent Space : « Accédez au formulaire https://example.com/login et entrez le nom d'utilisateur et le mot de passe fournis ».

Autre exemple, si vous devez plutôt fournir une clé d'API dans un en-tête HTTP, vous pouvez la stocker en texte brut :

"api-key-here"

Ensuite, configurez les instructions d'authentification : Entrez ce qui suit dans l'invite de connexion à Agent Space : « Définissez l' X-API-Key en-tête sur la clé d'API fournie pour toutes les demandes. »

Important

Seule l' TOTP-based authentification à deux facteurs est prise en charge. Les SMS, les e-mails, les notifications push, les clés matérielles et l'authentification OAuth ne sont pas pris en charge.

Sélectionnez la fonction Lambda disponible pour récupérer les informations d'identification de manière dynamique

Utilisez cette option pour les systèmes d'authentification complexes, la génération dynamique d'informations d'identification ou l'intégration avec des fournisseurs d'identité externes.

Le rôle IAM doit disposer d'lambda:InvokeFunctionautorisations et la fonction doit être terminée dans les 30 secondes.

Lorsque le test d'intrusion s'exécute, AWS Security Agent appelle votre fonction AWS Lambda de manière synchrone et passe un événement qui identifie le test d'intrusion et les informations d'identification spécifiques à résoudre :

{ "pentest_arn": "arn:aws:securityagent:us-west-2:111122223333:pentest/pt-abcd1234-5678-90ab-cdef-EXAMPLE11111", "actor_identifier": "Credential1" }
  • pentest_arn— Le nom de ressource Amazon (ARN) du test d'intrusion pour lequel l'identifiant est en cours de résolution. Utilisez-le pour définir, autoriser ou auditer la demande au sein de votre fonction.

  • actor_identifier— Le nom d'identification que vous avez attribué à cette identification dans la console (par exemple,Credential1). Utilisez-le pour renvoyer les informations d'identification correctes lorsqu'une seule fonction fournit plusieurs informations d'identification.

L'agent utilise la sortie de la fonction directement comme identifiant. Utilisez l'invite de connexion à Agent Space pour indiquer à l'agent comment appliquer ces informations d'identification à votre application, de la même manière que vous le feriez avec AWS Secrets Manager. Consultez des exemples Sélectionnez les informations d'identification statiques depuis AWS Secrets Manager connecté de formatage de la sortie de votre fonction Lambda et des types d'authentification pris en charge.

Configuration de plusieurs informations d'identification

Pour tester différents rôles d'utilisateurs ou systèmes d'authentification, procédez comme suit :

  1. Choisissez Ajouter un autre identifiant.

  2. Configurez les informations d'identification supplémentaires à l'aide de l'une ou l'autre méthode de saisie.

  3. Pour supprimer un identifiant, choisissez Supprimer dans la section du code d'identification.

Optimisation de connexion

L'optimisation de la connexion permet à AWS Security Agent d'apprendre les modèles de navigation des précédents pentest et de les appliquer aux essais suivants. Ces modèles incluent les flux de connexion et les flux de travail d'authentification en plusieurs étapes. Cela réduit le temps que l'agent passe à redécouvrir comment s'authentifier, ce qui se traduit par des scans plus rapides et une couverture de test plus cohérente.

Comment fonctionne l'optimisation des connexions

Lors du premier pentest, l'agent découvre comment naviguer dans le flux de connexion de votre application à l'aide des informations d'identification que vous fournissez. Il enregistre les étapes de navigation réussies et génère un fichier de compétences qui capture le flux de travail de connexion appris.

Lors des exécutions suivantes, l'agent lit le fichier de compétences enregistré et applique directement le modèle de navigation appris, sans passer par la phase de découverte. Autrement dit :

  • Temps de test authentifié plus court : l'agent applique immédiatement des modèles de navigation éprouvés au lieu d'explorer à partir de zéro

  • Comportement plus cohérent : l'agent suit le même chemin éprouvé plutôt que d'explorer des alternatives

Note

L'optimisation de connexion apprend lors de la première session de connexion d'une exécution. Les sessions de connexion suivantes au cours de la même session bénéficieront de ce qui a été appris lors de la première session. Lors des prochaines exécutions, toutes les sessions de connexion bénéficieront de la compétence enregistrée.

Activer ou désactiver l'optimisation de connexion

L'optimisation de connexion est activée par défaut. Pour le désactiver ou le réactiver :

  1. Dans la configuration du pentest, accédez à la section Authentification accréditations - facultatif.

  2. Localisez le bouton d'optimisation de connexion.

  3. Pour activer l'optimisation de la connexion, activez le bouton. Pour le désactiver, désactivez-le.

Lorsque cette option est désactivée, l'agent redécouvre le flux de connexion en partant de zéro à chaque exécution. Les compétences de navigation précédemment acquises sont préservées et seront appliquées à nouveau si la fonctionnalité est réactivée.

Astuce

Si le flux de connexion de votre application change de manière significative (par exemple, une page de connexion redessinée ou une nouvelle étape d'authentification), l'agent s'adapte automatiquement en mettant à jour ses compétences apprises lors de la prochaine exécution. Il n'est pas nécessaire de réinitialiser manuellement l'optimisation.