Exemples d’utilisation de l’AWS CLI avec GuardDuty - AWS Command Line Interface

Exemples d’utilisation de l’AWS CLI avec GuardDuty

Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec GuardDuty.

Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.

Rubriques

Actions

L’exemple de code suivant montre comment utiliser accept-invitation.

AWS CLI

Pour accepter une invitation à devenir un compte membre GuardDuty dans la région actuelle

L’exemple accept-invitation suivant montre comment accepter une invitation à devenir un compte membre GuardDuty dans la région actuelle.

aws guardduty accept-invitation \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --master-id 123456789111 \ --invitation-id d6b94fb03a66ff665f7db8764example

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Gestion des comptes GuardDuty par invitation dans le Guide de l’utilisateur GuardDuty.

  • Pour plus de détails sur l’API, consultez AcceptInvitation dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser archive-findings.

AWS CLI

Pour archiver les résultats dans la région actuelle

Cet exemple archive-findings montre comment archiver les résultats dans la région actuelle.

aws guardduty archive-findings \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --finding-ids d6b94fb03a66ff665f7db8764example 3eb970e0de00c16ec14e6910fexample

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Création de règles de suppression dans le Guide de l’utilisateur GuardDuty.

  • Pour plus de détails sur l’API, consultez ArchiveFindings dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-detector.

AWS CLI

Pour activer GuardDuty dans la région actuelle

Cet exemple montre comment créer un détecteur, qui activera GuardDuty, dans la région actuelle.

aws guardduty create-detector \ --enable

Sortie :

{ "DetectorId": "b6b992d6d2f48e64bc59180bfexample" }

Pour plus d’informations, consultez Activer Amazon GuardDuty dans le Guide de l’utilisateur GuardDuty.

  • Pour plus de détails sur l’API, consultez CreateDetector dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-filter.

AWS CLI

Exemple 1 : pour créer un filtre dans la région actuelle

L’exemple create-filter suivant crée un filtre qui correspond à tous les résultats de Portscan pour une instance créée à partir d’une image spécifique. Ces résultats ne sont pas supprimés.

aws guardduty create-filter \ --detector-id b6b992d6d2f48e64bc59180bfexample \ --name myFilterExample \ --finding-criteria '{"Criterion": {"type": {"Eq": ["Recon:EC2/Portscan"]},"resource.instanceDetails.imageId": {"Eq": ["ami-0a7a207083example"]}}}'

Sortie :

{ "Name": "myFilterExample" }

Pour plus d’informations, consultez Filtering GuardDuty findings dans le Guide de l’utilisateur GuardDuty.

Exemple 2 : pour créer un filtre et supprimer les résultats dans la région actuelle

L’exemple create-filter suivant crée un filtre qui correspond à tous les résultats de Portscan pour une instance créée à partir d’une image spécifique. Ce filtre archive ces résultats afin qu’ils n’apparaissent pas dans vos résultats actuels.

aws guardduty create-filter \ --detector-id b6b992d6d2f48e64bc59180bfexample \ --action ARCHIVE \ --name myFilterSecondExample \ --finding-criteria '{"Criterion": {"type": {"Eq": ["Recon:EC2/Portscan"]},"resource.instanceDetails.imageId": {"Eq": ["ami-0a7a207083example"]}}}'

Sortie :

{ "Name": "myFilterSecondExample" }

Pour plus d’informations, consultez Filtering GuardDuty findings dans le Guide de l’utilisateur GuardDuty.

  • Pour plus de détails sur l’API, consultez CreateFilter dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-ip-set.

AWS CLI

Pour créer et activer un ensemble d’adresses IP approuvées

L’exemple create-ip-set suivant crée et active un ensemble d’adresses IP approuvées dans la région actuelle.

aws guardduty create-ip-set \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --name new-ip-set-example \ --format TXT \ --location s3://amzn-s3-demo-bucket/customtrustlist.csv \ --activate

Sortie :

{ "IpSetId": "d4b94fc952d6912b8f3060768example" }

Pour plus d’informations, consultez Utilisation de listes d’adresses IP approuvées et de listes de menaces dans le Guide de l’utilisateur GuardDuty.

  • Pour plus de détails sur l’API, consultez CreateIpSet dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-members.

AWS CLI

Pour associer un nouveau membre à votre compte principal GuardDuty dans la région actuelle

Cet exemple montre comment associer des comptes membres pour qu’ils soient gérés par le compte actif en tant que compte principal GuardDuty.

aws guardduty create-members --detector-id b6b992d6d2f48e64bc59180bfexample \ --account-details AccountId=111122223333,Email=first+member@example.com AccountId=111111111111 ,Email=another+member@example.com

Sortie :

{ "UnprocessedAccounts": [] }

Pour plus d’informations, consultez Gestion de plusieurs comptes dans le Guide de l’utilisateur GuardDuty.

  • Pour plus de détails sur l’API, consultez CreateMembers dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-publishing-destination.

AWS CLI

Pour créer une destination de publication vers laquelle exporter les résultats de GuardDuty dans la région actuelle

L’exemple create-publishing-destination suivant montre comment configurer une destination de publication pour exporter les résultats actuels (et non archivés) de GuardDuty afin de suivre les données des résultats historiques.

aws guardduty create-publishing-destination \ --detector-id b6b992d6d2f48e64bc59180bfexample \ --destination-type S3 \ --destination-properties 'DestinationArn=arn:aws:s3:::amzn-s3-demo-bucket,KmsKeyArn=arn:aws:kms:us-west-1:111122223333:key/84cee9c5-dea1-401a-ab6d-e1de7example'

Sortie :

{ "DestinationId": "46b99823849e1bbc242dfbe3cexample" }

Pour plus d’informations, consultez Exportation des résultats GuardDuty générés vers des compartiments Amazon S3 dans le Guide de l’utilisateur GuardDuty.

L’exemple de code suivant montre comment utiliser create-sample-findings.

AWS CLI

Pour créer des exemples de résultats GuardDuty dans la région actuelle

Cet exemple montre comment créer un exemple de résultat parmi les types fournis.

aws guardduty create-sample-findings \ --detector-id b6b992d6d2f48e64bc59180bfexample \ --finding-types UnauthorizedAccess:EC2/TorClient UnauthorizedAccess:EC2/TorRelay

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Exemples de résultats dans le Guide de l’utilisateur GuardDuty.

  • Pour plus de détails sur l’API, consultez CreateSampleFindings dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-threat-intel-set.

AWS CLI

Pour créer et activer un nouvel ensemble d’informations sur les menaces

L’exemple create-threat-intel-set suivant crée et active un ensemble d’informations sur les menaces dans la région actuelle.

aws guardduty create-threat-intel-set \ --detector-id b6b992d6d2f48e64bc59180bfexample \ --name myThreatSet-example \ --format TXT \ --location s3://amzn-s3-demo-bucket/threatlist.csv \ --activate

Sortie :

{ "ThreatIntelSetId": "20b9a4691aeb33506b808878cexample" }

Pour plus d’informations, consultez Utilisation de listes d’adresses IP approuvées et de listes de menaces dans le Guide de l’utilisateur GuardDuty.

  • Pour plus de détails sur l’API, consultez CreateThreatIntelSet dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser decline-invitations.

AWS CLI

Pour refuser une invitation à faire gérer GuardDuty par un autre compte dans la région actuelle

Cet exemple montre comment refuser une invitation à devenir membre.

aws guardduty decline-invitations \ --account-ids 111122223333

Sortie :

{ "UnprocessedAccounts": [] }

Pour plus d’informations, consultez Gestion des comptes GuardDuty par invitation dans le Guide de l’utilisateur GuardDuty.

  • Pour plus de détails sur l’API, consultez DeclineInvitations dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-detector.

AWS CLI

Pour supprimer un détecteur et désactiver GuardDuty dans la région actuelle

Cet exemple montre comment supprimer un détecteur. En cas de succès, GuardDuty sera désactivé dans la région associée à ce détecteur.

aws guardduty delete-detector \ --detector-id b6b992d6d2f48e64bc59180bfexample

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Suspension ou désactivation de GuardDuty dans le Guide de l’utilisateur GuardDuty.

  • Pour plus de détails sur l’API, consultez DeleteDetector dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-filter.

AWS CLI

Pour supprimer un filtre existant dans la région actuelle

Cet exemple explique comment créer et supprimer un filtre.

aws guardduty delete-filter \ --detector-id b6b992d6d2f48e64bc59180bfexample \ --filter-name byebyeFilter

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Filtrage des résultats dans le Guide de l’utilisateur GuardDuty.

  • Pour plus de détails sur l’API, consultez DeleteFilter dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser disable-organization-admin-account.

AWS CLI

Pour supprimer un compte en tant qu’administrateur délégué de GuardDuty au sein de votre organisation

Cet exemple montre comment supprimer un compte en tant qu’administrateur délégué pour GuardDuty.

aws guardduty disable-organization-admin-account \ --admin-account-id 111122223333

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Gestion de comptes avec AWS Organizations dans le Guide de l’utilisateur GuardDuty.

L’exemple de code suivant montre comment utiliser disassociate-from-master-account.

AWS CLI

Pour vous dissocier de votre compte administrateur actuel dans la région actuelle

L’exemple disassociate-from-master-account suivant dissocie votre compte du compte administrateur GuardDuty actuel dans la région AWS actuelle.

aws guardduty disassociate-from-master-account \ --detector-id d4b040365221be2b54a6264dcexample

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Présentation de la relation entre les comptes administrateur et membres GuardDuty dans le Guide de l’utilisateur GuardDuty.

L’exemple de code suivant montre comment utiliser get-detector.

AWS CLI

Pour récupérer les détails d’un détecteur spécifique

L’exemple get-detector suivant affiche les détails de configuration du détecteur spécifié.

aws guardduty get-detector \ --detector-id 12abc34d567e8fa901bc2d34eexample

Sortie :

{ "Status": "ENABLED", "ServiceRole": "arn:aws:iam::111122223333:role/aws-service-role/guardduty.amazonaws.com/AWSServiceRoleForAmazonGuardDuty", "Tags": {}, "FindingPublishingFrequency": "SIX_HOURS", "UpdatedAt": "2018-11-07T03:24:22.938Z", "CreatedAt": "2017-12-22T22:51:31.940Z" }

Pour en savoir plus, consultez Concepts et terminologie dans le Guide de l’utilisateur GuardDuty.

  • Pour plus de détails sur l’API, consultez GetDetector dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-findings.

AWS CLI

Exemple 1 : pour récupérer les détails d’un résultat spécifique

L’exemple get-findings suivant récupère les détails complets du résultat JSON spécifié.

aws guardduty get-findings \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --finding-id 1ab92989eaf0e742df4a014d5example

Sortie :

{ "Findings": [ { "Resource": { "ResourceType": "AccessKey", "AccessKeyDetails": { "UserName": "testuser", "UserType": "IAMUser", "PrincipalId": "AIDACKCEVSQ6C2EXAMPLE", "AccessKeyId": "ASIASZ4SI7REEEXAMPLE" } }, "Description": "APIs commonly used to discover the users, groups, policies and permissions in an account, was invoked by IAM principal testuser under unusual circumstances. Such activity is not typically seen from this principal.", "Service": { "Count": 5, "Archived": false, "ServiceName": "guardduty", "EventFirstSeen": "2020-05-26T22:02:24Z", "ResourceRole": "TARGET", "EventLastSeen": "2020-05-26T22:33:55Z", "DetectorId": "d4b040365221be2b54a6264dcexample", "Action": { "ActionType": "AWS_API_CALL", "AwsApiCallAction": { "RemoteIpDetails": { "GeoLocation": { "Lat": 51.5164, "Lon": -0.093 }, "City": { "CityName": "London" }, "IpAddressV4": "52.94.36.7", "Organization": { "Org": "Amazon.com", "Isp": "Amazon.com", "Asn": "16509", "AsnOrg": "AMAZON-02" }, "Country": { "CountryName": "United Kingdom" } }, "Api": "ListPolicyVersions", "ServiceName": "iam.amazonaws.com", "CallerType": "Remote IP" } } }, "Title": "Unusual user permission reconnaissance activity by testuser.", "Type": "Recon:IAMUser/UserPermissions", "Region": "us-east-1", "Partition": "aws", "Arn": "arn:aws:guardduty:us-east-1:111122223333:detector/d4b040365221be2b54a6264dcexample/finding/1ab92989eaf0e742df4a014d5example", "UpdatedAt": "2020-05-26T22:55:21.703Z", "SchemaVersion": "2.0", "Severity": 5, "Id": "1ab92989eaf0e742df4a014d5example", "CreatedAt": "2020-05-26T22:21:48.385Z", "AccountId": "111122223333" } ] }

Pour plus d’informations, consultez Résultats dans le Guide de l’utilisateur GuardDuty.

  • Pour plus de détails sur l’API, consultez GetFindings dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-ip-set.

AWS CLI

Pour obtenir les informations sur un ensemble spécifique d’adresses IP approuvées

L’exemple get-ip-set suivant montre l’état et les détails de l’ensemble spécifié d’adresses IP approuvées.

aws guardduty get-ip-set \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --ip-set-id d4b94fc952d6912b8f3060768example

Sortie :

{ "Status": "ACTIVE", "Location": "s3://amzn-s3-demo-bucket.s3-us-west-2.amazonaws.com/customlist.csv", "Tags": {}, "Format": "TXT", "Name": "test-ip-set-example" }

Pour plus d’informations, consultez Utilisation de listes d’adresses IP approuvées et de listes de menaces dans le Guide de l’utilisateur GuardDuty.

  • Pour plus de détails sur l’API, consultez GetIpSet dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-master-account.

AWS CLI

Pour récupérer les détails de votre compte principal dans la région actuelle

L’exemple get-master-account suivant affiche le statut et les détails du compte principal associé à votre détecteur dans la région actuelle.

aws guardduty get-master-account \ --detector-id 12abc34d567e8fa901bc2d34eexample

Sortie :

{ "Master": { "InvitationId": "04b94d9704854a73f94e061e8example", "InvitedAt": "2020-06-09T22:23:04.970Z", "RelationshipStatus": "Enabled", "AccountId": "111122223333" } }

Pour plus d’informations, consultez Présentation de la relation entre les comptes administrateur et membres GuardDuty dans le Guide de l’utilisateur GuardDuty.

  • Pour plus de détails sur l’API, consultez GetMasterAccount dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-detectors.

AWS CLI

Pour répertorier les détecteurs disponibles dans la région actuelle

L’exemple list-detectors suivant répertorie les détecteurs disponibles dans votre région AWS actuelle.

aws guardduty list-detectors

Sortie :

{ "DetectorIds": [ "12abc34d567e8fa901bc2d34eexample" ] }

Pour en savoir plus, consultez Concepts et terminologie dans le Guide de l’utilisateur GuardDuty.

  • Pour plus de détails sur l’API, consultez ListDetectors dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-findings.

AWS CLI

Exemple 1 : pour répertorier tous les résultats pour la région actuelle

L’exemple list-findings suivant affiche une liste de tous les ID de résultat pour la région actuelle triés par gravité, de la plus élevée à la plus faible.

aws guardduty list-findings \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --sort-criteria '{"AttributeName": "severity","OrderBy":"DESC"}'

Sortie :

{ "FindingIds": [ "04b8ab50fd29c64fc771b232dexample", "5ab8ab50fd21373735c826d3aexample", "90b93de7aba69107f05bbe60bexample", ... ] }

Pour plus d’informations, consultez Résultats dans le Guide de l’utilisateur GuardDuty.

Exemple 2 : pour répertorier les résultats pour la région actuelle correspondant à un critère de résultat spécifique

L’exemple list-findings suivant affiche une liste de tous les ID de résultat qui correspondent à un type de résultat spécifié.

aws guardduty list-findings \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --finding-criteria '{"Criterion":{"type": {"Eq":["UnauthorizedAccess:EC2/SSHBruteForce"]}}}'

Sortie :

{ "FindingIds": [ "90b93de7aba69107f05bbe60bexample", "6eb9430d7023d30774d6f05e3example", "2eb91a2d060ac9a21963a5848example", "44b8ab50fd2b0039a9e48f570example", "9eb8ab4cd2b7e5b66ba4f5e96example", "e0b8ab3a38e9b0312cc390ceeexample" ] }

Pour plus d’informations, consultez Résultats dans le Guide de l’utilisateur GuardDuty.

Exemple 3 : pour répertorier les résultats pour la région actuelle correspondant à un ensemble spécifique de critères de recherche définis dans un fichier JSON

L’exemple list-findings suivant affiche une liste de tous les ID de résultat qui ne sont pas archivés et impliquent l’utilisateur IAM nommé « testuser », tel que spécifié dans un fichier JSON.

aws guardduty list-findings \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --finding-criteria file://myfile.json

Contenu de myfile.json :

{"Criterion": { "resource.accessKeyDetails.userName":{ "Eq":[ "testuser" ] }, "service.archived": { "Eq": [ "false" ] } } }

Sortie :

{ "FindingIds": [ "1ab92989eaf0e742df4a014d5example" ] }

Pour plus d’informations, consultez Résultats dans le Guide de l’utilisateur GuardDuty.

  • Pour plus de détails sur l’API, consultez ListFindings dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-invitations.

AWS CLI

Pour répertorier les détails de vos invitations à devenir un compte membre dans la région actuelle

L’exemple list-invitations suivant répertorie les détails et les statuts de vos invitations à devenir un compte membre GuardDuty dans la région actuelle.

aws guardduty list-invitations

Sortie :

{ "Invitations": [ { "InvitationId": "d6b94fb03a66ff665f7db8764example", "InvitedAt": "2020-06-10T17:56:38.221Z", "RelationshipStatus": "Invited", "AccountId": "123456789111" } ] }

Pour plus d’informations, consultez Gestion des comptes GuardDuty par invitation dans le Guide de l’utilisateur GuardDuty.

  • Pour plus de détails sur l’API, consultez ListInvitations dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-ip-sets.

AWS CLI

Pour répertorier les ensembles d’adresses IP fiables dans la région actuelle

L’exemple list-ip-sets suivant répertorie les ensembles d’adresses IP fiables dans votre région AWS actuelle.

aws guardduty list-ip-sets \ --detector-id 12abc34d567e8fa901bc2d34eexample

Sortie :

{ "IpSetIds": [ "d4b94fc952d6912b8f3060768example" ] }

Pour plus d’informations, consultez Utilisation de listes d’adresses IP approuvées et de listes de menaces dans le Guide de l’utilisateur GuardDuty.

  • Pour plus de détails sur l’API, consultez ListIpSets dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-members.

AWS CLI

Exemple 1 : pour répertorier uniquement les membres actuels dans la région actuelle

L’exemple list-members suivant répertorie et fournit des détails uniquement sur les comptes membres actuels associés au compte administrateur GuardDuty, dans la région actuelle.

aws guardduty list-members \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --only-associated="true"

Sortie :

{ "Members": [ { "RelationshipStatus": "Enabled", "InvitedAt": "2020-06-09T22:49:00.910Z", "MasterId": "111122223333", "DetectorId": "7ab8b2f61b256c87f793f6a86example", "UpdatedAt": "2020-06-09T23:08:22.512Z", "Email": "your+member@example.com", "AccountId": "123456789012" } ] }

Pour plus d’informations, consultez Présentation de la relation entre les comptes administrateur et membres GuardDuty dans le Guide de l’utilisateur GuardDuty.

Exemple 2 : pour répertorier tous les membres dans la région actuelle

L’exemple list-members suivant répertorie et fournit des détails sur tous les comptes membres, y compris ceux qui ont été dissociés ou qui n’ont pas encore accepté l’invitation de l’administrateur GuardDuty, dans la région actuelle.

aws guardduty list-members \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --only-associated="false"

Sortie :

{ "Members": [ { "RelationshipStatus": "Enabled", "InvitedAt": "2020-06-09T22:49:00.910Z", "MasterId": "111122223333", "DetectorId": "7ab8b2f61b256c87f793f6a86example", "UpdatedAt": "2020-06-09T23:08:22.512Z", "Email": "your+other+member@example.com", "AccountId": "555555555555" } ] }

Pour plus d’informations, consultez Présentation de la relation entre les comptes administrateur et membres GuardDuty dans le Guide de l’utilisateur GuardDuty.

  • Pour plus de détails sur l’API, consultez ListMembers dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-ip-set.

AWS CLI

Pour mettre à jour un ensemble d’adresses IP fiables

L’exemple update-ip-set suivant montre comment mettre à jour les détails d’un ensemble d’adresses IP fiables.

aws guardduty update-ip-set \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --ip-set-id d4b94fc952d6912b8f3060768example \ --location https://amzn-s3-demo-bucket.s3-us-west-2.amazonaws.com/customtrustlist2.csv

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Utilisation de listes d’adresses IP approuvées et de listes de menaces dans le Guide de l’utilisateur GuardDuty.

  • Pour plus de détails sur l’API, consultez UpdateIpSet dans la Référence des commandes de l’AWS CLI.