GuardDuty Résultats des tests dans des comptes dédiés - Amazon GuardDuty

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.

GuardDuty Résultats des tests dans des comptes dédiés

Utilisez ce document pour exécuter un script de test qui génère des GuardDuty résultats dans un script Compte AWS que vous utilisez spécifiquement à cette fin. Vous pouvez effectuer ces étapes lorsque vous souhaitez comprendre certains types de GuardDuty recherche et en savoir plus sur ceux-ci. Cette expérience est différente de la générationExemples de résultats. Pour plus d'informations sur l'expérience des GuardDuty résultats des tests, consultezConsidérations.

Considérations

Avant de poursuivre, tenez compte des considérations suivantes :

  • GuardDuty recommande de déployer le script du testeur dans un environnement de non-production dédié Compte AWS ou isolé. En exécutant le script du testeur, certaines AWS ressources GuardDuty seront déployées dans ce compte. Cela vous aidera également à identifier ces résultats simulés.

  • Le script du testeur génère plus de 100 GuardDuty résultats avec différentes combinaisons de AWS ressources. Actuellement, cela n'inclut pas tous lesTypes de résultats. Pour obtenir la liste des types de recherche que vous pouvez générer avec ce script de test, consultezGuardDuty résultats que le script de testeur peut générer.

  • Le script du testeur valide l'état GuardDuty de la configuration dans votre compte dédié. Si ce compte n' GuardDuty est pas activé, le script vous demandera de l'activer lors de votre performanceÉtape 3 - Exécuter des scripts de test. Le script du testeur vous demandera l'autorisation d'activer certains plans de protection nécessaires pour générer les résultats.

    Activation GuardDuty pour la première fois

    Lorsqu' GuardDuty il est activé sur votre compte dédié pour la première fois dans une région spécifique, votre compte sera automatiquement inscrit à un essai gratuit de 30 jours.

    GuardDuty propose des plans de protection optionnels. Au moment de l'activation GuardDuty, certains plans de protection sont également activés et sont inclus dans l'essai gratuit de GuardDuty 30 jours. Pour plus d’informations, consultez Utilisation de l' GuardDuty essai gratuit de 30 jours.

    GuardDuty est déjà activé dans votre compte avant d'exécuter le script du testeur

    Lorsque cette option GuardDuty est déjà activée, le script du testeur vérifie l'état de configuration de certains plans de protection et d'autres paramètres au niveau du compte requis pour générer les résultats en fonction des paramètres.

    En exécutant ce script de test, certains plans de protection peuvent être activés pour la première fois sur votre compte dédié dans une région. Cela lancera l'essai gratuit de 30 jours pour ce plan de protection. Pour plus d'informations sur l'essai gratuit associé à chaque plan de protection, consultezUtilisation de l' GuardDuty essai gratuit de 30 jours.

  • Une fois le script de test terminé, la configuration et les paramètres du plan de protection d'origine de votre compte dédié seront restaurés.

GuardDuty résultats que le script de testeur peut générer

Actuellement, le script du testeur génère les types de résultats suivants liés aux journaux d'audit Amazon EC2, Amazon EKS, Amazon S3, IAM et EKS :

Étape 1 - Prérequis

Pour préparer votre environnement de test, vous aurez besoin des éléments suivants :

  • Git — Installez l'outil de ligne de commande git en fonction du système d'exploitation que vous utilisez. Cela est nécessaire pour cloner le amazon-guardduty-testerdépôt.

  • AWS Command Line Interface— Un outil open source avec lequel vous pouvez interagir à l'aide Services AWS de commandes dans votre interface de ligne de commande. Pour plus d'informations, voir Commencer AWS CLI dans le guide de AWS Command Line Interface l'utilisateur.

  • AWS Systems Manager— Pour lancer des sessions de gestionnaire de session avec vos nœuds gérés en utilisant, AWS CLI vous devez installer le plug-in Session Manager sur votre machine locale. Pour plus d'informations, consultez la section Installer le plug-in Session Manager AWS CLI dans le guide de AWS Systems Manager l'utilisateur.

  • Node Package Manager (NPM) — Installez NPM pour installer toutes les dépendances.

  • Docker — Docker doit être installé. Pour obtenir les instructions d'installation, consultez le site web Docker.

    Pour vérifier que Docker a été installé, exécutez la commande suivante et vérifiez qu'il existe un résultat similaire au résultat suivant :

    $ docker --version Docker version 19.03.1
  • Abonnez-vous à l'image Kali Linux dans le AWS Marketplace.

Étape 2 - Déployer AWS les ressources

Cette section fournit une liste des concepts clés et les étapes à suivre pour déployer certaines AWS ressources dans votre compte dédié.

Concepts

La liste suivante fournit les concepts clés liés aux commandes qui vous aident à déployer les ressources :

  • AWS Cloud Development Kit (AWS CDK)— CDK est un framework de développement de logiciels open source permettant de définir l'infrastructure cloud dans le code et de la provisionner via celui-ci. AWS CloudFormation CDK prend en charge plusieurs langages de programmation pour définir des composants cloud réutilisables appelés constructions. Vous pouvez les composer ensemble en piles et en applications. Vous pouvez ensuite déployer vos applications CDK pour approvisionner ou mettre AWS CloudFormation à jour vos ressources. Pour plus d'informations, voir Qu'est-ce que le AWS CDK ? dans le Guide AWS Cloud Development Kit (AWS CDK) du développeur.

  • Bootstrapping — Il s'agit du processus de préparation de votre AWS environnement pour une utilisation avec. AWS CDK Avant de déployer une pile CDK dans un AWS environnement, celui-ci doit d'abord être amorcé. Ce processus de mise en service de AWS ressources spécifiques dans votre environnement qui sont utilisées par AWS CDK fait partie des étapes que vous allez effectuer dans la section suivante -Étapes de déploiement AWS des ressources.

    Pour plus d'informations sur le fonctionnement du bootstrapping, voir Bootstrapping dans le manuel du développeur.AWS Cloud Development Kit (AWS CDK)

Étapes de déploiement AWS des ressources

Procédez comme suit pour commencer à déployer les ressources :

  1. Configurez votre compte et votre région AWS CLI par défaut, sauf si les variables de région du compte dédié sont définies manuellement dans le bin/cdk-gd-tester.ts fichier. Pour plus d'informations, consultez la section Environnements du guide du AWS Cloud Development Kit (AWS CDK) développeur.

  2. Exécutez les commandes suivantes pour déployer les ressources :

    git clone https://github.com/awslabs/amazon-guardduty-tester && cd amazon-guardduty-tester npm install cdk bootstrap cdk deploy

    La dernière commande (cdk deploy) crée une AWS CloudFormation pile en votre nom. Le nom de cette pile est GuardDutyTesterStack.

    Dans le cadre de ce script, GuardDuty crée de nouvelles ressources pour générer des GuardDuty résultats dans votre compte. Il ajoute également la paire de balises clé:valeur suivante aux instances Amazon EC2 :

    CreatedBy:GuardDuty Test Script

    Les instances Amazon EC2 incluent également les instances EC2 qui hébergent des nœuds EKS et des clusters ECS.

    Types d’instances

    GuardDuty crée t3.micro pour toutes les ressources à l'exception du groupe de nœuds Amazon EKS. EKS nécessitant au moins 2 cœurs, le nœud EKS possède un type d't3.mediuminstance. Pour plus d'informations sur les types d'instances, consultez la section Tailles disponibles dans le guide des types d'instances Amazon EC2.

Étape 3 - Exécuter des scripts de test

Il s'agit d'un processus en deux étapes dans lequel vous devez d'abord démarrer une session avec le pilote de test, puis exécuter des scripts pour générer des GuardDuty résultats avec des combinaisons de ressources spécifiques.

  1. Une fois vos ressources déployées, enregistrez le code de région dans une variable dans votre session de terminal en cours. Utilisez la commande suivante et remplacez us-east-1 par le code de région dans lequel vous avez déployé les ressources :

    $ REGION=us-east-1
  2. Le script du testeur n'est disponible que via AWS Systems Manager (SSM). Pour démarrer un shell interactif sur l'instance hôte du testeur, interrogez l'hôte InstanceId.

  3. Utilisez la commande suivante pour démarrer votre session pour le script du testeur :

    aws ssm start-session --region $REGION --document-name AWS-StartInteractiveCommand --parameters command="cd /home/ssm-user/py_tester && bash -l" --target $(aws ec2 describe-instances --region $REGION --filters "Name=tag:Name,Values=Driver-GuardDutyTester" --query "Reservations[].Instances[?State.Name=='running'].InstanceId" --output text)

Le script testeur est un programme basé sur Python qui crée dynamiquement un script bash pour générer des résultats en fonction de vos entrées. Vous disposez de la flexibilité nécessaire pour générer des résultats basés sur un ou plusieurs types de AWS ressources, plans de GuardDuty protectionSource de données de base, Buts de la menace (tactiques) ouGuardDuty résultats que le script de testeur peut générer.

Utilisez les exemples de commandes suivants comme référence et exécutez une ou plusieurs commandes pour générer les résultats que vous souhaitez explorer :

python3 guardduty_tester.py python3 guardduty_tester.py --all python3 guardduty_tester.py --s3 python3 guardduty_tester.py --tactics discovery python3 guardduty_tester.py --ec2 --eks --tactics backdoor policy execution python3 guardduty_tester.py --eks --runtime only python3 guardduty_tester.py --ec2 --runtime only --tactics impact python3 guardduty_tester.py --log-source dns vpc-flowlogs python3 guardduty_tester.py --finding 'CryptoCurrency:EC2/BitcoinTool.B!DNS'

Pour plus d'informations sur les paramètres valides, vous pouvez exécuter la commande d'aide suivante :

python3 guardduty_tester.py --help

Choisissez une méthode préférée pour afficher les résultats générés dans votre compte.

GuardDuty console
  1. Connectez-vous à la GuardDuty console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/guardduty/.

  2. Dans le volet de navigation, choisissez Conclusions.

  3. Dans le tableau des résultats, sélectionnez un résultat dont vous souhaitez consulter les détails. Cela ouvrira le panneau des détails de la recherche. Pour plus d’informations, veuillez consulter Comprendre les GuardDuty résultats d'Amazon.

  4. Si vous souhaitez filtrer ces résultats, utilisez la clé et la valeur de la balise de ressource. Par exemple, pour filtrer les résultats générés pour les instances Amazon EC2, utilisez CreatedBy : GuardDuty Test Script tag key:value pair pour la clé de balise d'instance et la clé de balise d'instance.

API
  • Exécutez ListFindingspour afficher les résultats d'un identifiant de détecteur spécifique. Vous pouvez définir des paramètres pour filtrer les résultats.

    detectorIdPour trouver les paramètres correspondant à votre compte et à votre région actuelle, consultez la page Paramètres de la console https://console.aws.amazon.com/guardduty/ ou exécutez l'ListDetectorsAPI

AWS CLI
  • Exécutez la AWS CLI commande suivante pour afficher les résultats générés et remplacez us-east-1 et 12ABC34D567E8FA901BC2D34Example par des valeurs appropriées :

    aws guardduty list-findings --region us-east-1 --detector-id 12abc34d567e8fa901bc2d34EXAMPLE

    detectorIdPour trouver les paramètres correspondant à votre compte et à votre région actuelle, consultez la page Paramètres de la console https://console.aws.amazon.com/guardduty/ ou exécutez l'ListDetectorsAPI

    Pour plus d'informations sur les paramètres que vous pouvez utiliser pour filtrer les résultats, consultez list-findings dans la référence des AWS CLI commandes.

Étape 4 - Nettoyer les ressources AWS de test

Les paramètres au niveau du compte et les autres mises à jour de l'état de configuration effectuées lors du Étape 3 - Exécuter des scripts de test retour à l'état d'origine à la fin du script du testeur.

Après avoir exécuté le script du testeur, vous pouvez choisir de nettoyer les ressources de AWS test. Vous pouvez choisir de le faire en utilisant l'une des méthodes suivantes :

Résolution des problèmes courants

GuardDuty a identifié les problèmes courants et recommande les étapes de résolution des problèmes :

  • Cloud assembly schema version mismatch— Mettez à jour la AWS CDK CLI vers une version compatible avec la version d'assemblage cloud requise ou vers la dernière version disponible. Pour plus d'informations, consultez la section Compatibilité avec les AWS CDK CLI.

  • Docker permission denied— Ajoutez l'utilisateur du compte dédié aux docker-users afin que le compte dédié puisse exécuter les commandes. Pour plus d'informations sur les étapes à suivre, consultez la section Accès Docker refusé.

  • Your requested instance type is not supported in your requested Availability Zone— Certaines zones de disponibilité ne prennent pas en charge certains types d'instances. Pour identifier les zones de disponibilité compatibles avec votre type d'instance préféré et réessayer de déployer AWS des ressources, effectuez les opérations suivantes :

    1. Choisissez une méthode préférée pour déterminer les zones de disponibilité compatibles avec votre type d'instance :

      Console
      Pour identifier les zones de disponibilité qui prennent en charge le type d'instance préféré
      1. Connectez-vous à la console Amazon EC2 AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/ec2/.

      2. À l'aide du sélecteur de AWS région situé dans le coin supérieur droit de la page, choisissez la région dans laquelle vous souhaitez lancer l'instance.

      3. Dans le volet de navigation, sous Instances, sélectionnez Types d'instances.

      4. Dans le tableau Types d'instances, choisissez un type d'instance préféré.

      5. Sous Mise en réseau, consultez les régions répertoriées sous Zones de disponibilité.

        Sur la base de ces informations, vous devrez peut-être choisir une nouvelle région dans laquelle vous pourrez déployer les ressources.

      AWS CLI

      Exécutez la commande suivante pour afficher la liste des zones de disponibilité. Assurez-vous de spécifier le type d'instance que vous préférez ainsi que la région (us-east-1).

      aws ec2 describe-instance-type-offerings --location-type availability-zone --filters Name=instance-type,Values=Preferred instance type --region us-east-1 --output table

      Pour plus d'informations sur cette commande, reportez-vous describe-instance-type-offeringsà la référence des AWS CLI commandes.

      Lorsque vous exécutez cette commande, si vous recevez un message d'erreur, assurez-vous que vous utilisez la dernière version de AWS CLI. Pour plus d'informations, consultez Résolution des problèmes dans le Guide de l'utilisateur AWS Command Line Interface .

    2. Réessayez de déployer les AWS ressources et spécifiez une zone de disponibilité qui prend en charge votre type d'instance préféré.

      Pour réessayer de déployer des ressources AWS
      1. Configurez la région par défaut dans le bin/cdk-gd-tester.ts fichier.

      2. Pour définir la zone de disponibilité, ouvrez le amazon-guardduty-tester/lib/common/network/vpc.ts fichier.

      3. Dans ce fichier, remplacez maxAzs: 2, par l'availabilityZones: ['us-east-1a', 'us-east-1c'],endroit où vous devez spécifier les zones de disponibilité pour votre type d'instance.

      4. Continuez avec les étapes restantes ci-dessousÉtapes de déploiement AWS des ressources.