Esempi di utilizzo di Shield AWS CLI - Esempi di codice dell'AWS SDK

Ci sono altri AWS SDK esempi disponibili nel repository AWS Doc SDK Examples GitHub .

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esempi di utilizzo di Shield AWS CLI

I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface with Shield.

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

Ogni esempio include un collegamento al codice sorgente completo, in cui è possibile trovare istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzareassociate-drt-log-bucket.

AWS CLI

Per autorizzare l'accesso DRT a un bucket Amazon S3

L'associate-drt-log-bucketesempio seguente crea un'associazione tra il bucket S3 DRT e il bucket S3 specificato. Ciò consente di accedere DRT al bucket per conto dell'account. :

aws shield associate-drt-log-bucket \ --log-bucket flow-logs-for-website-lb

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Authorize the DDoS Response Team nella AWS Shield Advanced Developer Guide.

Il seguente esempio di codice mostra come utilizzareassociate-drt-role.

AWS CLI

Per autorizzarli DRT a mitigare potenziali attacchi per tuo conto

L'associate-drt-roleesempio seguente crea un'associazione tra il ruolo DRT e il ruolo specificato. DRTPossono utilizzare il ruolo per accedere e gestire l'account.

aws shield associate-drt-role \ --role-arn arn:aws:iam::123456789012:role/service-role/DrtRole

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Authorize the DDoS Response Team nella AWS Shield Advanced Developer Guide.

Il seguente esempio di codice mostra come utilizzarecreate-protection.

AWS CLI

Per abilitare la protezione AWS Shield Advanced per una singola AWS risorsa

L'create-protectionesempio seguente abilita la protezione Shield Advanced per la AWS CloudFront distribuzione specificata.

aws shield create-protection \ --name "Protection for CloudFront distribution" \ --resource-arn arn:aws:cloudfront::123456789012:distribution/E198WC25FXOWY8

Output:

{ "ProtectionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

Per ulteriori informazioni, consulta Specificare le risorse da proteggere nella AWS Shield Advanced Developer Guide.

Il seguente esempio di codice mostra come utilizzarecreate-subscription.

AWS CLI

Per abilitare la protezione AWS Shield Advanced per un account

L'create-subscriptionesempio seguente abilita la protezione Shield Advanced per l'account.

aws shield create-subscription

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Getting Started with AWS Shield Advanced nella AWS Shield Advanced Developer Guide.

Il seguente esempio di codice mostra come utilizzaredelete-protection.

AWS CLI

Per rimuovere la protezione AWS Shield Advanced da una AWS risorsa

L'delete-protectionesempio seguente rimuove la protezione AWS Shield Advanced specificata.

aws shield delete-protection \ --protection-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Rimuovere AWS Shield Advanced da una AWS risorsa nella AWS Shield Advanced Developer Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-attack.

AWS CLI

Per recuperare una descrizione dettagliata di un attacco

L'describe-attackesempio seguente visualizza i dettagli sull'DDoSattacco con l'ID di attacco specificato. È possibile ottenere un attacco IDs eseguendo il list-attacks comando.

aws shield describe-attack --attack-id a1b2c3d4-5678-90ab-cdef-EXAMPLE22222

Output:

{ "Attack": { "AttackId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "ResourceArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/testElb", "SubResources": [ { "Type": "IP", "Id": "192.0.2.2", "AttackVectors": [ { "VectorType": "SYN_FLOOD", "VectorCounters": [ { "Name": "SYN_FLOOD_BPS", "Max": 982184.0, "Average": 982184.0, "Sum": 11786208.0, "N": 12, "Unit": "BPS" } ] } ], "Counters": [] }, { "Type": "IP", "Id": "192.0.2.3", "AttackVectors": [ { "VectorType": "SYN_FLOOD", "VectorCounters": [ { "Name": "SYN_FLOOD_BPS", "Max": 982184.0, "Average": 982184.0, "Sum": 9821840.0, "N": 10, "Unit": "BPS" } ] } ], "Counters": [] }, { "Type": "IP", "Id": "192.0.2.4", "AttackVectors": [ { "VectorType": "SYN_FLOOD", "VectorCounters": [ { "Name": "SYN_FLOOD_BPS", "Max": 982184.0, "Average": 982184.0, "Sum": 7857472.0, "N": 8, "Unit": "BPS" } ] } ], "Counters": [] }, { "Type": "IP", "Id": "192.0.2.5", "AttackVectors": [ { "VectorType": "SYN_FLOOD", "VectorCounters": [ { "Name": "SYN_FLOOD_BPS", "Max": 982184.0, "Average": 982184.0, "Sum": 1964368.0, "N": 2, "Unit": "BPS" } ] } ], "Counters": [] }, { "Type": "IP", "Id": "2001:DB8::bcde:4321:8765:0:0", "AttackVectors": [ { "VectorType": "SYN_FLOOD", "VectorCounters": [ { "Name": "SYN_FLOOD_BPS", "Max": 982184.0, "Average": 982184.0, "Sum": 1964368.0, "N": 2, "Unit": "BPS" } ] } ], "Counters": [] }, { "Type": "IP", "Id": "192.0.2.6", "AttackVectors": [ { "VectorType": "SYN_FLOOD", "VectorCounters": [ { "Name": "SYN_FLOOD_BPS", "Max": 982184.0, "Average": 982184.0, "Sum": 1964368.0, "N": 2, "Unit": "BPS" } ] } ], "Counters": [] } ], "StartTime": 1576024927.457, "EndTime": 1576025647.457, "AttackCounters": [], "AttackProperties": [ { "AttackLayer": "NETWORK", "AttackPropertyIdentifier": "SOURCE_IP_ADDRESS", "TopContributors": [ { "Name": "198.51.100.5", "Value": 2024475682 }, { "Name": "198.51.100.8", "Value": 1311380863 }, { "Name": "203.0.113.4", "Value": 900599855 }, { "Name": "198.51.100.4", "Value": 769417366 }, { "Name": "203.1.113.13", "Value": 757992847 } ], "Unit": "BYTES", "Total": 92773354841 }, { "AttackLayer": "NETWORK", "AttackPropertyIdentifier": "SOURCE_COUNTRY", "TopContributors": [ { "Name": "United States", "Value": 80938161764 }, { "Name": "Brazil", "Value": 9929864330 }, { "Name": "Netherlands", "Value": 1635009446 }, { "Name": "Mexico", "Value": 144832971 }, { "Name": "Japan", "Value": 45369000 } ], "Unit": "BYTES", "Total": 92773354841 }, { "AttackLayer": "NETWORK", "AttackPropertyIdentifier": "SOURCE_ASN", "TopContributors": [ { "Name": "12345", "Value": 74953625841 }, { "Name": "12346", "Value": 4440087595 }, { "Name": "12347", "Value": 1635009446 }, { "Name": "12348", "Value": 1221230000 }, { "Name": "12349", "Value": 1199425294 } ], "Unit": "BYTES", "Total": 92755479921 } ], "Mitigations": [] } }

Per ulteriori informazioni, consulta Review DDoSIncidents nella AWS Shield Advanced Developer Guide.

  • Per API i dettagli, vedere DescribeAttackin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzaredescribe-drt-access.

AWS CLI

Per recuperare una descrizione delle autorizzazioni, DRT deve mitigare gli attacchi per tuo conto.

L'describe-drt-accessesempio seguente recupera le autorizzazioni relative al ruolo e al bucket S3 di cui DRT dispone, che gli consentono di rispondere a potenziali attacchi da parte dell'utente.

aws shield describe-drt-access

Output:

{ "RoleArn": "arn:aws:iam::123456789012:role/service-role/DrtRole", "LogBucketList": [ "flow-logs-for-website-lb" ] }

Per ulteriori informazioni, consulta Authorize the DDoS Response Team nella AWS Shield Advanced Developer Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-emergency-contact-settings.

AWS CLI

Per recuperare gli indirizzi e-mail di emergenza archiviati presso il DRT

L'describe-emergency-contact-settingsesempio seguente recupera gli indirizzi di posta elettronica registrati presso DRT l'account. Questi sono gli indirizzi a cui DRT rivolgersi per rispondere a un attacco sospetto.

aws shield describe-emergency-contact-settings

Output:

{ "EmergencyContactList": [ { "EmailAddress": "ops@example.com" }, { "EmailAddress": "ddos-notifications@example.com" } ] }

Per ulteriori informazioni, consulta How AWS Shield Works< https://docs.aws.amazon.com/waf/ latest/developerguide/ddos -overview.html> nella Shield Advanced Developer Guide.AWS

Il seguente esempio di codice mostra come utilizzaredescribe-protection.

AWS CLI

Per recuperare i dettagli per una AWS protezione Shield Advanced

L'describe-protectionesempio seguente visualizza i dettagli sulla protezione Shield Advanced con l'ID specificato. È possibile ottenere protezione IDs eseguendo il list-protections comando.

aws shield describe-protection \ --protection-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Output:

{ "Protection": { "Id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Name": "1.2.3.4", "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:eip-allocation/eipalloc-0ac1537af40742a6d" } }

Per ulteriori informazioni, consulta Specificare le risorse da proteggere nella AWS Shield Advanced Developer Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-subscription.

AWS CLI

Per recuperare i dettagli della protezione AWS Shield Advanced per l'account

L'describe-subscriptionesempio seguente mostra i dettagli sulla protezione Shield Advanced fornita per l'account. :

aws shield describe-subscription

Output:

{ "Subscription": { "StartTime": 1534368978.0, "EndTime": 1597613778.0, "TimeCommitmentInSeconds": 63244800, "AutoRenew": "ENABLED", "Limits": [ { "Type": "GLOBAL_ACCELERATOR", "Max": 1000 }, { "Type": "ROUTE53_HOSTED_ZONE", "Max": 1000 }, { "Type": "CF_DISTRIBUTION", "Max": 1000 }, { "Type": "ELB_LOAD_BALANCER", "Max": 1000 }, { "Type": "EC2_ELASTIC_IP_ALLOCATION", "Max": 1000 } ] } }

Per ulteriori informazioni, consulta How AWS Shield Works nella AWS Shield Advanced Developer Guide.

Il seguente esempio di codice mostra come utilizzaredisassociate-drt-log-bucket.

AWS CLI

Per rimuovere l'autorizzazione all'accesso DRT a un bucket Amazon S3 per tuo conto

L'disassociate-drt-log-bucketesempio seguente rimuove l'associazione tra il bucket S3 DRT e il bucket S3 specificato. Una volta completato questo comando, non DRT possono più accedere al bucket per conto dell'account.

aws shield disassociate-drt-log-bucket \ --log-bucket flow-logs-for-website-lb

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Authorize the DDoS Response Team nella AWS Shield Advanced Developer Guide.

Il seguente esempio di codice mostra come utilizzaredisassociate-drt-role.

AWS CLI

Per rimuovere l'autorizzazione DRT al fine di mitigare potenziali attacchi per conto dell'utente

L'disassociate-drt-roleesempio seguente rimuove l'associazione tra il DRT e l'account. Dopo questa chiamata, non DRT possono più accedere o gestire il tuo account.

aws shield disassociate-drt-role

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Authorize the DDoS Response Team nella AWS Shield Advanced Developer Guide.

Il seguente esempio di codice mostra come utilizzareget-subscription-state.

AWS CLI

Per recuperare lo stato attuale dell'abbonamento AWS Shield Advanced dell'account

L'get-subscription-stateesempio seguente recupera lo stato della protezione Shield Advanced per l'account.

aws shield get-subscription-state

Output:

{ "SubscriptionState": "ACTIVE" }

Per ulteriori informazioni, consulta How AWS Shield Works nella AWS Shield Advanced Developer Guide.

Il seguente esempio di codice mostra come utilizzarelist-attacks.

AWS CLI

Per recuperare i riepiloghi degli attacchi da Shield Advanced AWS

L'list-attacksesempio seguente recupera i riepiloghi degli attacchi per la AWS CloudFront distribuzione specificata durante il periodo di tempo specificato. La risposta include un attacco IDs che è possibile fornire al describe-attack comando per ottenere informazioni dettagliate su un attacco.

aws shield list-attacks \ --resource-arns arn:aws:cloudfront::12345678910:distribution/E1PXMP22ZVFAOR \ --start-time FromInclusive=1529280000,ToExclusive=1529300000

Output:

{ "AttackSummaries": [ { "AttackId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "ResourceArn": "arn:aws:cloudfront::123456789012:distribution/E1PXMP22ZVFAOR", "StartTime": 1529280000.0, "EndTime": 1529449200.0, "AttackVectors": [ { "VectorType": "SYN_FLOOD" } ] } ] }

Per ulteriori informazioni, consulta Review DDoSIncidents nella AWS Shield Advanced Developer Guide.

  • Per API i dettagli, vedere ListAttacksin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarelist-protections.

AWS CLI

Per recuperare i riepiloghi della protezione da Shield Advanced AWS

L'list-protectionsesempio seguente recupera i riepiloghi delle protezioni abilitate per l'account.

aws shield list-protections

Output:

{ "Protections": [ { "Id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Name": "Protection for CloudFront distribution", "ResourceArn": "arn:aws:cloudfront::123456789012:distribution/E198WC25FXOWY8" } ] }

Per ulteriori informazioni, consulta Specificare le risorse da proteggere nella AWS Shield Advanced Developer Guide.

Il seguente esempio di codice mostra come utilizzareupdate-emergency-contact-settings.

AWS CLI

Per definire gli indirizzi e-mail di emergenza archiviati presso il DRT

L'update-emergency-contact-settingsesempio seguente definisce due indirizzi di posta elettronica che DRT devono contattare in caso di risposta a un attacco sospetto.

aws shield update-emergency-contact-settings \ --emergency-contact-list EmailAddress=ops@example.com EmailAddress=ddos-notifications@example.com

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta How AWS Shield Works nella AWS Shield Advanced Developer Guide.

Il seguente esempio di codice mostra come utilizzareupdate-subscription.

AWS CLI

Per modificare l'abbonamento AWS Shield Advanced dell'account

L'update-subscriptionesempio seguente abilita il rinnovo automatico dell'abbonamento AWS Shield Advanced per l'account.

aws shield update-subscription \ --auto-renew ENABLED

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta How AWS Shield Works nella AWS Shield Advanced Developer Guide.