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.
Créez un test de pénétration
Configurez des tests de pénétration automatisés pour vos applications Web en configurant l'étendue des tests, les domaines cibles et l'accès aux ressources AWS. Les tests d'intrusion aident à identifier les failles de sécurité des applications en cours d'exécution en simulant des scénarios d'attaque réels contre vos domaines vérifiés.
AWS Security Agent effectue des tests de sécurité complets sur vos applications Web en fonction de l'étendue et des autorisations configurées, fournissant des informations détaillées sur les vulnérabilités exploitables avant que les attaquants ne puissent les découvrir.
Dans cette procédure, vous allez créer un test d'intrusion en configurant les détails du test, en définissant la portée du test et en configurant les autorisations requises.
Conditions préalables
Avant de commencer, assurez-vous de disposer des éléments suivants :
-
Accès à l'application Web AWS Security Agent
-
Au moins un domaine vérifié pour les tests
-
Rôle IAM avec les autorisations appropriées pour AWS Security Agent
-
Compréhension de l'architecture et des chemins critiques de votre application
Commencez à créer un test de pénétration
Accédez à la page de création du test d'intrusion dans l'application Web Agent.
-
Connectez-vous à l'application Web AWS Security Agent.
-
Accédez à la section Tests de pénétration.
-
Choisissez Créer un test d'intrusion.
Astuce
Seuls les domaines vérifiés peuvent être inclus dans les tests d'intrusion. Demandez à votre administrateur de vérifier le domaine dans la console de gestion AWS. Consultez Activer un domaine d'application pour les tests de pénétration.
Donnez un nom à votre test de pénétration
Fournissez un nom descriptif qui aide à identifier l'objectif et la portée de ce test d'intrusion.
-
Dans le champ Nom du test de pénétration, entrez un nom descriptif pour votre test d'intrusion.
Exemple
Le nom doit clairement identifier l'application, l'environnement ou le composant testé. 100 caractères maximum.
Configuration de la portée du test de pénétration
Définissez les domaines et les chemins d'URL qui seront testés, et configurez les exclusions facultatives pour contrôler les limites des tests.
Ajouter des domaines cibles
Spécifiez les domaines vérifiés qui seront activement testés pour détecter les failles de sécurité.
-
Dans la section Étendue du test de pénétration, recherchez les URL cibles.
-
Développez la section Domaines vérifiés pour afficher les domaines disponibles.
-
Dans le champ URL cible, entrez l'URL du domaine cible.
Important
Seuls les domaines vérifiés peuvent être testés. L'URL doit appartenir à un domaine que vous avez précédemment vérifié dans AWS Security Agent. Sub-domains d'un domaine vérifié ne nécessitent pas de vérification séparée.
-
Pour ajouter plusieurs domaines cibles :
-
Choisissez Ajouter un domaine.
-
Entrez l'URL de chaque domaine supplémentaire.
-
-
Pour supprimer un domaine cible, choisissez Supprimer à côté de l'URL du domaine.
Astuce
Pour de meilleurs résultats, incluez tous les domaines qui font partie du flux utilisateur de votre application, y compris les sous-domaines pour les API, les services d'authentification et la diffusion de contenu. Sub-domains d'un domaine parent vérifié ne nécessitent pas de vérification séparée.
Exclure les types de risques (facultatif)
Choisissez des catégories de risque spécifiques à exclure des tests si elles ne s'appliquent pas à votre application.
-
Localisez le champ Exclure les types de risques.
-
Choisissez le menu déroulant pour afficher les types de risques disponibles.
-
Sélectionnez un ou plusieurs types de risques à exclure du test d'intrusion.
Note
L'exclusion des types de risques limite la portée des tests. Excluez uniquement les types de risques qui ne sont pas pertinents pour votre application ou que vous souhaitez tester séparément.
Ajouter des chemins d'URL hors du champ d'application (facultatif)
Spécifiez les chemins d'URL qui ne doivent pas être testés lors du test de pénétration. AWS Security Agent exclut le chemin spécifié et tous les chemins imbriqués en dessous. Par exemple, si vous l'ajoutez https://example.com/admin en tant qu'URL hors champ, https://example.com/admin/tools c'est également hors champ d'application.
-
Localisez la section Out-of-scope URL.
-
Dans le champ de saisie Out-of-scope URL, entrez le chemin d'URL à exclure (par exemple,
/admin/deleteou/api/reset).Avertissement
Out-of-scope les chemins ne sont pas testés pour détecter les vulnérabilités. Assurez-vous d'exclure uniquement les chemins auxquels vous ne devez pas accéder pendant les tests, tels que les opérations destructives ou les fonctions administratives sensibles.
-
Pour ajouter plusieurs chemins hors champ d'application, procédez comme suit :
-
Choisissez Ajouter une URL.
-
Entrez chaque chemin supplémentaire.
-
-
Pour supprimer un chemin, choisissez Supprimer à côté du chemin.
Ajouter des domaines accessibles (facultatif)
Spécifiez les domaines requis pour le test, mais qui ne sont pas des cibles pour les tests de vulnérabilité.
-
Localisez la section URL accessibles.
-
Dans le champ de saisie URL accessibles, entrez un domaine qui doit être accessible pendant les tests.
Note
Ajoutez des domaines accessibles pour les services tiers (tels que Okta, Auth0, Stripe) situés en dehors de votre domaine cible. Cela est nécessaire pour qu'AWS Security Agent puisse accéder à ces URL pour se connecter et naviguer pendant les tests. AWS Security Agent n'effectue PAS de tests d'intrusion dans ces domaines ; ils sont utilisés uniquement à des fins d'accès. Les domaines accessibles ne nécessitent pas de vérification de propriété, même s'ils appartiennent à un domaine différent de celui de votre cible. Seuls les domaines cibles nécessitent une vérification de propriété.
-
Pour ajouter plusieurs domaines accessibles :
-
Choisissez Ajouter une URL.
-
Entrez chaque domaine supplémentaire.
-
-
Pour supprimer un domaine, choisissez Supprimer à côté du domaine.
Ajouter des en-têtes HTTP personnalisés (facultatif)
Spécifiez les en-têtes HTTP personnalisés qui seront ajoutés à toutes les demandes effectuées par AWS Security Agent lors des tests d'intrusion.
-
Localisez la section En-têtes HTTP personnalisés.
-
Dans le champ de saisie des en-têtes HTTP personnalisés, entrez le nom et la valeur de l'en-tête qui seront associés aux demandes sortantes.
Note
Par défaut, AWS Security Agent ajoute un en-tête personnalisé à User-Agentdéfinir sur securityagent, sauf si une valeur d'User-Agenten-tête personnalisée différente est spécifiée.
-
Pour ajouter plusieurs en-têtes personnalisés :
-
Sélectionnez Add header.
-
Entrez chaque en-tête personnalisé supplémentaire.
-
-
Pour supprimer un en-tête personnalisé, choisissez Supprimer à côté de l'en-tête.
Configurer le rôle IAM
Sélectionnez le rôle de service préconfiguré pour ce test d'intrusion. AWS Security Agent utilise un modèle d' Space-based autorisation d'agent dans lequel les administrateurs configurent les rôles IAM lors de la configuration de votre espace agent. Vous pouvez sélectionner des rôles déjà configurés et prêts à être utilisés.
-
Dans la section Autorisations, recherchez la liste déroulante des rôles de service.
-
Sélectionnez le rôle IAM qui accorde à AWS Security Agent l'accès aux ressources AWS requises.
Important
Le rôle IAM sélectionné doit être autorisé à accéder aux ressources VPC CloudWatch , aux journaux et à tout autre service AWS nécessaire au test d'intrusion. Vérifiez que le rôle possède la bonne relation de confiance avec AWS Security Agent.
-
Localisez la liste déroulante des groupes de CloudWatch journaux.
-
Sélectionnez le groupe de journaux dans lequel les journaux des tests d'intrusion seront stockés. (facultatif)
Note
Le groupe de CloudWatch journaux sélectionné stockera des journaux détaillés de l'exécution du test d'intrusion, y compris les demandes effectuées, les réponses reçues et les vulnérabilités découvertes.
Si vous ne sélectionnez aucun groupe de journaux, un nouveau groupe de CloudWatch journaux sera automatiquement créé avec le
/aws/securityagentpréfixe pour stocker les journaux des tests d'intrusion.
Correction automatique du code
Cochez la case Activer la correction automatique.
Important
Pour remédier aux problèmes de sécurité dans vos référentiels de code source, AWS Security Agent peut envoyer des pull requests à vos référentiels. Les pull requests peuvent être visibles par tous les utilisateurs disposant d'un accès en lecture aux référentiels.
Configurer les ressources VPC (facultatif)
Si vos domaines cibles sont privés et hébergés au sein d'un VPC, configurez les paramètres du VPC dans lequel AWS Security Agent doit exécuter des tests de pénétration. Cette étape n'est nécessaire que pour les applications qui ne sont pas accessibles au public.
Note
Ignorez cette étape si vos domaines cibles sont accessibles au public. La configuration VPC n'est requise que pour tester des applications privées hébergées dans un Amazon Virtual Private Cloud.
Choisissez le VPC, les sous-réseaux et les groupes de sécurité pour l'environnement de test d'intrusion.
-
Dans la section VPC, recherchez le menu déroulant VPC ID.
-
Sélectionnez le VPC sur lequel vos domaines cibles sont hébergés.
Important
Le VPC sélectionné doit contenir les domaines cibles que vous avez spécifiés à l'étape 3. Assurez-vous que le VPC dispose d'un routage et d'une configuration réseau appropriés pour permettre à AWS Security Agent d'accéder à vos applications.
-
Localisez la liste déroulante Sous-réseaux.
-
Sélectionnez un ou plusieurs sous-réseaux sur lesquels le test de pénétration doit être exécuté.
Note
Choisissez des sous-réseaux disposant d'un accès réseau à vos applications cibles. Le test de pénétration sera exécuté à partir des ressources déployées dans ces sous-réseaux.
-
Localisez le menu déroulant Groupe de sécurité.
-
Sélectionnez le groupe de sécurité qui contrôle l'accès au réseau pour le test d'intrusion.
Important
Le groupe de sécurité sélectionné doit autoriser le trafic sortant vers vos domaines cibles et tous les domaines accessibles. Assurez-vous que les règles du groupe de sécurité autorisent l'accès réseau nécessaire pour des tests complets.
Configurer les informations d'authentification (facultatif)
Si vos domaines cibles nécessitent une authentification, fournissez des informations d'identification pour permettre à AWS Security Agent d'accéder aux zones protégées de votre application lors des tests d'intrusion. Cette étape n'est nécessaire que pour les applications qui nécessitent une authentification utilisateur.
Note
Ignorez cette étape si vos domaines cibles ne nécessitent pas d'authentification ou si toutes les zones que vous souhaitez tester sont accessibles au public. Configurez les informations d'identification uniquement lorsque vous avez besoin d'AWS Security Agent pour tester les sections authentifiées de votre application.
Ajout d'informations d'identification
Fournissez des informations d'authentification que l'agent de sécurité AWS utilisera pour accéder à votre application.
-
Dans la section Credential #1, sélectionnez une méthode de saisie des informations d'identification :
-
Entrez vos informations d'identification : entrez vos informations d'identification directement dans AWS Security Agent.
-
Paramètre avancé : pour les informations d'identification sensibles, utilisez des options avancées telles qu'AWS Secrets Manager ou les fonctions AWS Lambda. Consultez Fournir des informations d'authentification pour les tests de pénétration pour plus de détails.
Astuce
Pour les environnements de production ou les informations d'identification sensibles, nous vous recommandons d'utiliser l'option de configuration avancée pour référencer de manière sécurisée les informations d'identification stockées dans AWS Secrets Manager ou dans le magasin de paramètres Systems Manager.
-
Entrez les informations d'identification
Entrez le nom d'utilisateur et le mot de passe du compte authentifié.
-
Dans le champ Nom d'utilisateur, entrez le nom d'utilisateur pour l'authentification.
-
Dans le champ Mot de passe, entrez le mot de passe pour l'authentification.
Important
Assurez-vous que les informations d'identification que vous fournissez ont des niveaux d'accès appropriés pour les zones que vous souhaitez tester. Les informations d'identification doivent représenter le niveau d'accès typique d'un utilisateur plutôt que des privilèges administratifs.
Sélectionnez le domaine d'accès
Spécifiez le domaine cible qui utilisera ces informations d'identification pour l'authentification.
-
Dans le menu déroulant Accès au domaine, sélectionnez le domaine dans lequel ces informations d'identification seront utilisées.
Note
Si plusieurs domaines cibles nécessitent des informations d'identification différentes, vous pouvez ajouter des ensembles d'informations d'identification supplémentaires en cliquant sur Ajouter une autre identification après avoir terminé cette configuration d'informations d'identification.
Configurer l'invite de connexion de l'agent (facultatif)
Fournissez des instructions pour guider l'agent de sécurité AWS tout au long du processus d'authentification de votre application.
-
Développez la section d'invite de connexion de l'agent si votre flux d'authentification nécessite des instructions spécifiques.
-
Entrez les instructions décrivant comment utiliser les informations d'identification fournies dans le flux de connexion de votre application.
Note
L'invite de connexion de l'agent indique à l'agent comment appliquer vos informations d'identification à votre application. Cela est utile pour les flux d'authentification complexes, les processus de connexion en plusieurs étapes ou les applications avec des procédures de connexion non standard. Incluez des instructions détaillées telles que « Accédez à /login, entrez le nom d'utilisateur dans le champ « E-mail », entrez le mot de passe et choisissez « Se connecter ».
Ajouter plusieurs informations d'identification (facultatif)
Si votre application nécessite plusieurs ensembles d'informations d'identification ou si différents domaines nécessitent une authentification distincte, ajoutez des ensembles d'informations d'identification supplémentaires.
-
Après avoir terminé la première configuration des informations d'identification, choisissez Ajouter une autre identification.
-
Répétez les étapes de configuration des informations d'identification pour chaque ensemble d'informations d'identification supplémentaire.
-
Pour supprimer un ensemble d'informations d'identification, choisissez Supprimer à côté de l'en-tête des informations d'identification.
Astuce
Configurez plusieurs informations d'identification lorsque vous testez différents rôles d'utilisateur, que vous accédez à plusieurs domaines authentifiés ou que vous vérifiez les contrôles d'accès basés sur les rôles dans votre application.
Joindre des ressources supplémentaires (facultatif)
Fournissez des ressources supplémentaires pour aider l'agent de sécurité AWS à effectuer des tests de pénétration plus approfondis et plus précis. Les ressources supplémentaires peuvent inclure des diagrammes d'architecture, de la documentation d'API, des fichiers de configuration, GitHub des référentiels ou S3-hosted des documents fournissant le contexte de votre application.
Note
Des ressources supplémentaires sont facultatives mais recommandées. Fournir des informations complètes sur votre application permet de garantir une couverture complète des tests, de réduire les faux positifs et de fournir des résultats plus exploitables.
Ajoutez des ressources au test d'intrusion
Sélectionnez les ressources existantes ou téléchargez de nouveaux fichiers qui vous aideront à guider le test d'intrusion.
-
Dans la section Ressources connectées, vous pouvez :
-
Choisissez Sélectionner parmi les ressources disponibles pour choisir parmi les ressources déjà connectées à AWS Security Agent (telles que GitHub les référentiels ou les compartiments S3).
-
Choisissez Upload pour ajouter de nouveaux fichiers directement depuis votre système local.
-
Astuce
Les ressources utiles incluent la documentation des API, les diagrammes d'architecture, les OpenAPI/Swagger spécifications, les fichiers de configuration, les diagrammes de flux d'authentification et tout autre matériel décrivant la structure et le comportement de votre application.
Choisissez parmi les ressources disponibles
Choisissez parmi les ressources déjà intégrées à AWS Security Agent.
-
Choisissez Sélectionner parmi les ressources existantes.
-
Parcourez la liste des ressources disponibles à partir de sources connectées telles que :
-
GitHub référentiels, sous l'onglet GitHub référentiels
-
Compartiments S3
-
Fichiers précédemment téléchargés
-
Référentiels de documentation
-
-
Sélectionnez les ressources que vous souhaitez inclure dans le test d'intrusion.
-
Choisissez Ajouter au test d'intrusion pour associer les ressources sélectionnées.
Exemple
Nous vous recommandons de sélectionner et d'ajouter GitHub des référentiels pertinents à votre pentest, afin qu'AWS Security Agent puisse mieux comprendre le contexte de votre application et générer des correctifs de code prêts à implémenter par le biais de pull requests (lorsque cette option est activée)
Note
Les ressources sélectionnées parmi les sources disponibles restent synchronisées avec leur emplacement d'origine. Si vous mettez à jour un GitHub référentiel ou un fichier S3, le test d'intrusion utilisera la version mise à jour.
Note
Si vous avez un VPC privé associé à votre pentest et qu'un GitHub référentiel est configuré, assurez-vous qu'il GitHub est accessible via votre VPC privé pour extraire les ressources. GitHub Dans la plupart des cas, vous devrez soit vous assurer que le trafic sortant via la passerelle NAT VPC est autorisé par défaut, soit configurer des règles spécifiques pour autoriser le trafic sortant GitHub pour les adresses IP (GitHub voir
Téléchargez de nouvelles ressources
Téléchargez des fichiers directement depuis votre système local ou fournissez du contenu en texte brut à AWS Security Agent.
-
Choisissez Charger.
-
Choisissez l'une des méthodes de saisie suivantes :
-
Télécharger des fichiers locaux : sélectionnez un ou plusieurs fichiers de votre système local.
-
Coller du texte brut : saisissez ou collez le contenu du texte directement dans le champ de saisie. Choisissez Charger.
-
-
Choisissez ensuite Ajouter pour terminer le téléchargement.
-
Les ressources téléchargées apparaissent dans le tableau des ressources connectées.
Astuce
Utilisez l'option de texte brut lorsque vous souhaitez fournir rapidement des listes de points de terminaison d'API, des modèles d'URL, des instructions de test ou d'autres informations sous forme de texte sans créer de fichier distinct.
Important
Assurez-vous que les fichiers téléchargés et le contenu collé ne contiennent pas d'informations sensibles telles que les informations d'identification de production, les clés privées ou les informations personnelles identifiables (PII). Utilisez des versions nettoyées des fichiers de configuration et de la documentation.
Connect les ressources existantes
Les ressources existantes peuvent provenir de ce que vous avez précédemment chargé dans AWS Security Agent, de votre compartiment S3 et de vos GitHub référentiels intégrés. Choisissez Sélectionner parmi les ressources existantes pour les sélectionner.
Gérez les ressources connectées
Passez en revue, organisez et supprimez les ressources associées au test d'intrusion.
Le tableau des ressources connectées affiche toutes les ressources incluses dans le test d'intrusion avec les informations suivantes :
-
Nom : nom de fichier ou identifiant de ressource
-
Type : catégorie de ressource (fichiers téléchargés, ressources S3, GitHub référentiels, etc.)
Pour gérer les ressources, procédez comme suit :
-
Sélectionnez une ou plusieurs ressources à l'aide des cases à cocher.
-
Choisissez Supprimer du test d'intrusion pour détacher les ressources sélectionnées.
Note
Vous pouvez trier le tableau par nom ou par type en cliquant sur les en-têtes de colonne. Cela permet d'organiser les ressources lorsque vous travaillez avec de nombreux fichiers.
Créez le test de pénétration
Finalisez et lancez la configuration de votre test d'intrusion.
Après avoir configuré tous les paramètres, vous êtes prêt à créer le test d'intrusion.
-
Passez en revue toutes les sections de configuration pour vous assurer de leur exactitude.
-
Choisissez l’une des options suivantes :
-
Choisissez Create penetration pour enregistrer la configuration sans l'exécuter immédiatement.
-
Choisissez Créer et exécuter pour enregistrer la configuration et démarrer immédiatement le test d'intrusion.
-
Choisissez Annuler pour annuler la configuration du test d'intrusion.
-
Important
Avant d'exécuter un test de pénétration, vérifiez que :
-
Tous les domaines cibles sont correctement vérifiés et accessibles
-
Les rôles IAM disposent des autorisations appropriées
-
Out-of-scope les chemins sont correctement configurés pour empêcher les tests d'opérations destructives
-
Vous êtes autorisé à effectuer des tests de sécurité sur tous les domaines cibles
Note
Une fois le test d'intrusion lancé, vous pouvez suivre sa progression dans la section Exécutions des tests de pénétration. Le test peut prendre plusieurs heures. La plupart sont achevés dans un délai de 16 heures, selon la portée et la complexité de votre demande.