Shield-Beispiele mit AWS CLI - AWS SDKCode-Beispiele

Weitere AWS SDK Beispiele sind im Repo AWS Doc SDK Examples GitHub verfügbar.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Shield-Beispiele mit AWS CLI

Die folgenden Codebeispiele zeigen Ihnen, wie Sie AWS Command Line Interface mit Shield Aktionen ausführen und allgemeine Szenarien implementieren.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Aktionen zeigen Ihnen zwar, wie Sie einzelne Servicefunktionen aufrufen, aber Sie können Aktionen im Kontext der zugehörigen Szenarien sehen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, in dem Sie Anweisungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt die Verwendungassociate-drt-log-bucket.

AWS CLI

Um den Zugriff auf einen Amazon S3 S3-Bucket DRT zu autorisieren

Das folgende associate-drt-log-bucket Beispiel erstellt eine Zuordnung zwischen dem DRT und dem angegebenen S3-Bucket. Dadurch kann der DRT im Namen des Kontos auf den Bucket zugreifen. :

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Autorisieren des DDoS Response-Teams im AWS Shield Advanced Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungassociate-drt-role.

AWS CLI

Um die DRT zu autorisieren, potenzielle Angriffe in Ihrem Namen abzuwehren

Im folgenden associate-drt-role Beispiel wird eine Zuordnung zwischen der DRT und der angegebenen Rolle hergestellt. Sie DRT können die Rolle verwenden, um auf das Konto zuzugreifen und es zu verwalten.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Autorisieren des DDoS Response-Teams im AWS Shield Advanced Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungcreate-protection.

AWS CLI

Um AWS Shield Advanced-Schutz für eine einzelne AWS Ressource zu aktivieren

Das folgende create-protection Beispiel aktiviert Shield Advanced-Schutz für die angegebene AWS CloudFront Distribution.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Spezifizieren Sie Ihre zu schützenden Ressourcen im AWS Shield Advanced Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungcreate-subscription.

AWS CLI

Um AWS Shield Advanced-Schutz für ein Konto zu aktivieren

Im folgenden create-subscription Beispiel wird Shield Advanced-Schutz für das Konto aktiviert.

aws shield create-subscription

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Erste Schritte mit AWS Shield Advanced im AWS Shield Advanced-Entwicklerhandbuch.

Das folgende Codebeispiel zeigt die Verwendungdelete-protection.

AWS CLI

Um AWS Shield Advanced-Schutz von einer AWS Ressource zu entfernen

Im folgenden delete-protection Beispiel wird der angegebene AWS Shield Advanced-Schutz entfernt.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Entfernen von AWS Shield Advanced aus einer AWS Ressource im AWS Shield Advanced-Entwicklerhandbuch.

Das folgende Codebeispiel zeigt die Verwendungdescribe-attack.

AWS CLI

Um eine detaillierte Beschreibung eines Angriffs abzurufen

Im folgenden describe-attack Beispiel werden Details zum DDoS Angriff mit der angegebenen Angriffs-ID angezeigt. Sie können einen Angriff ausführen, IDs indem Sie den list-attacks Befehl ausführen.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Reviews DDoSIncidents im AWS Shield Advanced Developer Guide.

  • APIEinzelheiten finden Sie DescribeAttackin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdescribe-drt-access.

AWS CLI

Um eine Beschreibung der Autorisierungen abzurufen, DRT muss er Angriffe in Ihrem Namen abwehren

Im folgenden describe-drt-access Beispiel werden die Rollen- und S3-Bucket-Autorisierungen abgerufen, DRT über die er verfügt, sodass er in Ihrem Namen auf potenzielle Angriffe reagieren kann.

aws shield describe-drt-access

Ausgabe:

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

Weitere Informationen finden Sie unter Autorisieren des DDoS Response-Teams im AWS Shield Advanced Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungdescribe-emergency-contact-settings.

AWS CLI

Um Notfall-E-Mail-Adressen abzurufen, die Sie bei der DRT

Im folgenden describe-emergency-contact-settings Beispiel werden die E-Mail-Adressen abgerufen, die in der Datei DRT für das Konto gespeichert sind. Dies sind die Adressen, an die sie sich wenden DRT sollten, wenn sie auf einen vermuteten Angriff reagieren.

aws shield describe-emergency-contact-settings

Ausgabe:

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

Weitere Informationen finden Sie unter So funktioniert AWS Shield < https://docs.aws.amazon.com/waf/ latest/developerguide/ddos -overview.html> im Shield Advanced Developer Guide.AWS

Das folgende Codebeispiel zeigt die Verwendungdescribe-protection.

AWS CLI

Um die Details für einen AWS Shield Advanced-Schutz abzurufen

Im folgenden describe-protection Beispiel werden Details zum Shield Advanced-Schutz mit der angegebenen ID angezeigt. Sie können den Schutz erhalten, IDs indem Sie den list-protections Befehl ausführen.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Spezifizieren Sie Ihre zu schützenden Ressourcen im AWS Shield Advanced Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungdescribe-subscription.

AWS CLI

Um die Details des AWS Shield Advanced-Schutzes für das Konto abzurufen

Das folgende describe-subscription Beispiel zeigt Details zum Shield Advanced-Schutz, der für das Konto bereitgestellt wurde. :

aws shield describe-subscription

Ausgabe:

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

Weitere Informationen finden Sie unter So funktioniert AWS Shield im AWS Shield Advanced Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungdisassociate-drt-log-bucket.

AWS CLI

Um die Autorisierung für den DRT Zugriff auf einen Amazon S3 S3-Bucket in Ihrem Namen zu entfernen

Im folgenden disassociate-drt-log-bucket Beispiel wird die Zuordnung zwischen dem DRT und dem angegebenen S3-Bucket entfernt. Nach Abschluss dieses Befehls DRT können sie im Namen des Kontos nicht mehr auf den Bucket zugreifen.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Autorisieren des DDoS Response-Teams im AWS Shield Advanced Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungdisassociate-drt-role.

AWS CLI

Um die Autorisierung für DRT zur Abwehr potenzieller Angriffe in Ihrem Namen zu entfernen

Im folgenden disassociate-drt-role Beispiel wird die Verknüpfung zwischen dem DRT und dem Konto aufgehoben. Nach diesem Anruf DRT können sie nicht mehr auf Ihr Konto zugreifen oder es verwalten.

aws shield disassociate-drt-role

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Autorisieren des DDoS Response-Teams im AWS Shield Advanced Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungget-subscription-state.

AWS CLI

Um den aktuellen Status des AWS Shield Advanced-Abonnements des Kontos abzurufen

Im folgenden get-subscription-state Beispiel wird der Status des Shield Advanced-Schutzes für das Konto abgerufen.

aws shield get-subscription-state

Ausgabe:

{ "SubscriptionState": "ACTIVE" }

Weitere Informationen finden Sie unter So funktioniert AWS Shield im AWS Shield Advanced Developer Guide.

Das folgende Codebeispiel zeigt die Verwendunglist-attacks.

AWS CLI

Um Angriffszusammenfassungen von AWS Shield Advanced abzurufen

Im folgenden list-attacks Beispiel werden Zusammenfassungen der Angriffe für die angegebene AWS CloudFront Verteilung im angegebenen Zeitraum abgerufen. Die Antwort beinhaltet einen AngriffIDs, den Sie dem describe-attack Befehl zur Verfügung stellen können, um detaillierte Informationen zu einem Angriff zu erhalten.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Reviews DDoSIncidents im AWS Shield Advanced Developer Guide.

  • APIEinzelheiten finden Sie ListAttacksin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunglist-protections.

AWS CLI

Um Schutzübersichten von AWS Shield Advanced abzurufen

Im folgenden list-protections Beispiel werden Zusammenfassungen der Schutzmaßnahmen abgerufen, die für das Konto aktiviert sind.

aws shield list-protections

Ausgabe:

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

Weitere Informationen finden Sie unter Spezifizieren Sie Ihre zu schützenden Ressourcen im AWS Shield Advanced Developer Guide.

  • APIEinzelheiten finden Sie ListProtectionsin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungupdate-emergency-contact-settings.

AWS CLI

Um die Notfall-E-Mail-Adressen zu definieren, die in der Datei gespeichert sind DRT

Im folgenden update-emergency-contact-settings Beispiel werden zwei E-Mail-Adressen definiert, an die sie sich wenden DRT sollen, wenn sie auf einen vermuteten Angriff reagieren.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter So funktioniert AWS Shield im AWS Shield Advanced Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungupdate-subscription.

AWS CLI

Um das AWS Shield Advanced-Abonnement des Kontos zu ändern

Das folgende update-subscription Beispiel aktiviert die automatische Verlängerung des AWS Shield Advanced-Abonnements für das Konto.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter So funktioniert AWS Shield im AWS Shield Advanced Developer Guide.