Esempi di GuardDuty che utilizzano la AWS CLI - AWS Command Line Interface

Esempi di GuardDuty che utilizzano la AWS CLI

Negli esempi di codice seguenti viene mostrato come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface con GuardDuty.

Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le operazioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Ogni esempio include un link al codice sorgente completo, dove è possibile trovare le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Operazioni

L’esempio di codice seguente mostra come utilizzare accept-invitation.

AWS CLI

Come accettare un invito a diventare account membro GuardDuty nella Regione corrente

L’esempio accept-invitation seguente illustra come accettare un invito a diventare un account membro GuardDuty nella Regione corrente.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Managing GuardDuty accounts by invitation nella Guida per l’utente di GuardDuty.

  • Per informazioni dettagliate sull’API, consulta AcceptInvitation in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare archive-findings.

AWS CLI

Come archiviare gli esiti nella Regione corrente

In questo esempio archive-findings viene mostrato come archiviare gli esiti nella Regione corrente.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Creating suppression rules nella Guida per l’utente di GuardDuty.

  • Per informazioni dettagliate sull’API, consulta ArchiveFindings in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-detector.

AWS CLI

Come abilitare GuardDuty nella Regione corrente

In questo esempio viene mostrato come creare un nuovo rilevatore, che abiliti GuardDuty, nella Regione corrente:

aws guardduty create-detector \ --enable

Output:

{ "DetectorId": "b6b992d6d2f48e64bc59180bfexample" }

Per ulteriori informazioni, consulta Enable Amazon GuardDuty nella Guida per l’utente di GuardDuty.

  • Per informazioni dettagliate sull’API, consulta CreateDetector in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-filter.

AWS CLI

Esempio 1: come creare un nuovo filtro nella Regione corrente

L’esempio create-filter seguente crea un filtro che corrisponde a tutti gli esiti di Portscan per l’istanza creata da un’immagine specifica. Tali esiti non vengono soppressi.

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

Output:

{ "Name": "myFilterExample" }

Per ulteriori informazioni, consulta Filtering GuardDuty findings nella Guida per l’utente di GuardDuty.

Esempio 2: come creare un nuovo filtro ed eliminare gli esiti nella Regione corrente

L’esempio create-filter seguente crea un filtro che corrisponde a tutti gli esiti di Portscan per l’istanza creata da un’immagine specifica. Questo filtro archivia tali esiti in modo che non compaiano negli esiti correnti.

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"]}}}'

Output:

{ "Name": "myFilterSecondExample" }

Per ulteriori informazioni, consulta Filtering GuardDuty findings nella Guida per l’utente di GuardDuty.

  • Per informazioni dettagliate sull’API, consulta CreateFilter in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-ip-set.

AWS CLI

Come creare e attivare un set di IP attendibili

L’esempio create-ip-set seguente crea e attiva un set di IP attendibili nella Regione corrente.

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

Output:

{ "IpSetId": "d4b94fc952d6912b8f3060768example" }

Per ulteriori informazioni, consulta Working with Trusted IP Lists and Threat Lists nella Guida per l’utente di GuardDuty.

  • Per informazioni dettagliate sull’API, consulta CreateIpSet in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-members.

AWS CLI

Come associare un nuovo membro al tuo account master GuardDuty nella Regione corrente

In questo esempio viene mostrato come associare gli account membro che devono essere gestiti dall’account corrente come master GuardDuty.

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

Output:

{ "UnprocessedAccounts": [] }

Per ulteriori informazioni, consulta Managing multiple accounts nella Guida per l’utente di GuardDuty.

  • Per informazioni dettagliate sull’API, consulta CreateMembers in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-publishing-destination.

AWS CLI

Come creare una destinazione di pubblicazione in cui esportare gli esiti di GuardDuty nella Regione corrente

L’esempio create-publishing-destination seguente mostra come impostare una destinazione di pubblicazione per esportare gli esiti GuardDuty correnti (non archiviati) per tracciarne i dati storici.

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'

Output:

{ "DestinationId": "46b99823849e1bbc242dfbe3cexample" }

Per ulteriori informazioni, consulta Exporting generated GuardDuty findings to Amazon S3 buckets nella Guida per l’utente di GuardDuty.

L’esempio di codice seguente mostra come utilizzare create-sample-findings.

AWS CLI

Come creare esiti GuardDuty di esempio nella Regione corrente

In questo esempio viene mostrato come creare un esito di esempio dei tipi forniti.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Sample findings nella Guida per l’utente di GuardDuty.

  • Per informazioni dettagliate sull’API, consulta CreateSampleFindings in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-threat-intel-set.

AWS CLI

Come creare e attivare un nuovo set di informazioni sulle minacce

L’esempio create-threat-intel-set seguente crea e attiva un set di intelligence delle minacce nella Regione corrente.

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

Output:

{ "ThreatIntelSetId": "20b9a4691aeb33506b808878cexample" }

Per ulteriori informazioni, consulta Working with Trusted IP Lists and Threat Lists nella Guida per l’utente di GuardDuty.

  • Per informazioni dettagliate sull’API, consulta CreateThreatIntelSet in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare decline-invitations.

AWS CLI

Come rifiutare un invito a far gestire GuardDuty da un altro account nella Regione corrente

In questo esempio viene mostrato come rifiutare un invito all’iscrizione.

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

Output:

{ "UnprocessedAccounts": [] }

Per ulteriori informazioni, consulta Managing GuardDuty accounts by invitation nella Guida per l’utente di GuardDuty.

  • Per informazioni dettagliate sull’API, consulta DeclineInvitations in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-detector.

AWS CLI

Come eliminare un rilevatore e disabilitare GuardDuty nella Regione corrente

In questo esempio viene mostrato come eliminare un rilevatore. Se ha esito positivo, l’operazione disabiliterà GuardDuty nella Regione associata a tale rilevatore.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Suspending or disabling GuardDuty nella Guida per l’utente di GuardDuty.

  • Per informazioni dettagliate sull’API, consulta DeleteDetector in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-filter.

AWS CLI

Come eliminare un filtro esistente nella Regione corrente

In questo esempio viene mostrato come creare ed eliminare un filtro.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Filtering Findings nella Guida per l’utente di GuardDuty.

  • Per informazioni dettagliate sull’API, consulta DeleteFilter in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare disable-organization-admin-account.

AWS CLI

Come rimuovere un account come amministratore delegato per GuardDuty all’interno dell’organizzazione

In questo esempio viene mostrato come rimuovere un account come amministratore delegato per GuardDuty.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Managing accounts with AWS Organizations nella Guida per l’utente di GuardDuty.

L’esempio di codice seguente mostra come utilizzare disassociate-from-master-account.

AWS CLI

Come annullare l’associazione dal tuo attuale account amministratore nella Regione corrente

L’esempio disassociate-from-master-account seguente dissocia l’account dell’utente dall’account amministratore GuardDuty attuale nella Regione corrente AWS.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Understanding the relationship between GuardDuty administrator account and member accounts nella Guida per l’utente di GuardDuty.

L’esempio di codice seguente mostra come utilizzare get-detector.

AWS CLI

Come recuperare i dettagli di un rilevatore specifico

L’esempio get-detector seguente visualizza i dettagli delle configurazioni del rilevatore specificato.

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

Output:

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

Per ulteriori informazioni, consulta Concepts and Terminology nella Guida per l’utente di GuardDuty.

  • Per informazioni dettagliate sull’API, consulta GetDetector in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-findings.

AWS CLI

Esempio 1: come recuperare i dettagli di un esito specifico

L’esempio get-findings seguente recupera i dettagli completi degli esiti JSON dell’esito specificato.

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

Output:

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

Per ulteriori informazioni, consulta Findings nella Guida per l’utente di GuardDuty.

  • Per informazioni dettagliate sull’API, consulta GetFindings in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-ip-set.

AWS CLI

Come elencare i dettagli ottenuti su un set di IP attendibili specificato

L’esempio get-ip-set seguente mostra lo stato e i dettagli del set di IP attendibili specificato.

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

Output:

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

Per ulteriori informazioni, consulta Working with Trusted IP Lists and Threat Lists nella Guida per l’utente di GuardDuty.

  • Per informazioni dettagliate sull’API, consulta GetIpSet in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-master-account.

AWS CLI

Come recuperare i dettagli del tuo account master in una Regione corrente

L’esempio get-master-account seguente visualizza lo stato e i dettagli dell’account master associato al rilevatore nella Regione corrente.

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

Output:

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

Per ulteriori informazioni, consulta Understanding the relationship between GuardDuty administrator account and member account nella Guida per l’utente di GuardDuty.

  • Per informazioni dettagliate sull’API, consulta GetMasterAccount in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-detectors.

AWS CLI

Come elencare i rilevatori disponibili nella Regione corrente

L’esempio list-detectors seguente elenca i rilevatori disponibili nella Regione AWS corrente.

aws guardduty list-detectors

Output:

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

Per ulteriori informazioni, consulta Concepts and Terminology nella Guida per l’utente di GuardDuty.

  • Per informazioni dettagliate sull’API, consulta ListDetectors in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-findings.

AWS CLI

Esempio 1: come elencare tutti gli esiti per la Regione corrente

L’esempio list-findings seguente visualizza un elenco di tutti i findingId per la Regione corrente ordinati per gravità dalla più alta alla più bassa.

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

Output:

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

Per ulteriori informazioni, consulta Findings nella Guida per l’utente di GuardDuty.

Esempio 2: come elencare gli esiti per la Regione corrente corrispondenti a un criterio di ricerca specifico

L’esempio list-findings seguente visualizza un elenco di tutti i findingId che corrispondono a un tipo di esito specificato.

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

Output:

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

Per ulteriori informazioni, consulta Findings nella Guida per l’utente di GuardDuty.

Esempio 3: come elencare gli esiti per la Regione corrente corrispondenti a un set di criteri di ricerca specifico definito in un file JSON

L’esempio list-findings seguente visualizza un elenco di tutti i findingId non archiviati e che non coinvolgono l’utente IAM denominato “testuser”, come specificato in un file JSON.

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

Contenuto di myfile.json.

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

Output:

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

Per ulteriori informazioni, consulta Findings nella Guida per l’utente di GuardDuty.

  • Per informazioni dettagliate sull’API, consulta ListFindings in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-invitations.

AWS CLI

Come elencare i dettagli dei tuoi inviti a diventare account membro nella Regione corrente

L’esempio list-invitations seguente elenca i dettagli e gli stati degli inviti a diventare account membro GuardDuty nella Regione corrente.

aws guardduty list-invitations

Output:

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

Per ulteriori informazioni, consulta Managing GuardDuty Accounts by Invitation nella Guida per l’utente di GuardDuty.

  • Per informazioni dettagliate sull’API, consulta ListInvitations in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-ip-sets.

AWS CLI

Come elencare i set di IP attendibili nella Regione corrente

L’esempio list-ip-sets seguente elenca i set di IP attendibili nella Regione AWS corrente.

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

Output:

{ "IpSetIds": [ "d4b94fc952d6912b8f3060768example" ] }

Per ulteriori informazioni, consulta Working with Trusted IP Lists and Threat Lists nella Guida per l’utente di GuardDuty.

  • Per informazioni dettagliate sull’API, consulta ListIpSets in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-members.

AWS CLI

Esempio 1: come elencare solo i membri correnti nella Regione corrente

L’esempio list-members seguente elenca e fornisce i dettagli solo degli account membro correnti associati all’account amministratore GuardDuty, nella Regione corrente.

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

Output:

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

Per ulteriori informazioni, consulta Understanding the relationship between GuardDuty administrator account and member accounts nella Guida per l’utente di GuardDuty.

Esempio 2: come elencare tutti i membri nella Regione corrente

L’esempio list-members seguente elenca e fornisce i dettagli di tutti gli account membri, inclusi quelli che sono stati dissociati o che non hanno ancora accettato l’invito dell’amministratore di GuardDuty, nella Regione corrente.

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

Output:

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

Per ulteriori informazioni, consulta Understanding the relationship between GuardDuty administrator account and member accounts nella Guida per l’utente di GuardDuty.

  • Per informazioni dettagliate sull’API, consulta ListMembers in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-ip-set.

AWS CLI

Come aggiornare un set di IP attendibili

L’esempio update-ip-set seguente mostra come aggiornare i dettagli di un set di IP attendibili.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Working with Trusted IP Lists and Threat Lists nella Guida per l’utente di GuardDuty.

  • Per informazioni dettagliate sull’API, consulta UpdateIpSet in AWS CLI Command Reference.