Beispiele für die Verwendung von Shield mit AWS CLI
Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie AWS Command Line Interface mit Shield nutzen.
Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.
Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anleitungen zum Einrichten und Ausführen des Codes im Kontext finden.
Themen
Aktionen
Das folgende Codebeispiel zeigt, wie associate-drt-log-bucket verwendet wird.
- AWS CLI
-
So autorisieren Sie das DRT für den Zugriff auf einen Amazon-S3-Bucket
Im folgenden Beispiel für
associate-drt-log-bucketwird eine Zuordnung zwischen dem DRT und dem angegebenen S3-Bucket erstellt. Dadurch kann das DRT im Namen des Kontos auf den Bucket zugreifen:aws shield associate-drt-log-bucket \ --log-bucketflow-logs-for-website-lbMit diesem Befehl wird keine Ausgabe zurückgegeben.
Weitere Informationen finden Sie unter Autorisieren des DDoS-Reaktionsteams im Entwicklerhandbuch zu AWS Shield Advanced.
-
API-Details finden Sie unter AssociateDrtLogBucket
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie associate-drt-role verwendet wird.
- AWS CLI
-
So autorisieren Sie das DRT, in Ihrem Namen mögliche Angriffe abzuwehren
Im folgenden Beispiel für
associate-drt-rolewird eine Zuordnung zwischen dem DRT und der angegebenen Rolle erstellt. Das DRT kann die Rolle verwenden, um auf das Konto zuzugreifen und es zu verwalten.aws shield associate-drt-role \ --role-arnarn:aws:iam::123456789012:role/service-role/DrtRoleMit diesem Befehl wird keine Ausgabe zurückgegeben.
Weitere Informationen finden Sie unter Autorisieren des DDoS-Reaktionsteams im Entwicklerhandbuch zu AWS Shield Advanced.
-
API-Details finden Sie unter AssociateDrtRole
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie create-protection verwendet wird.
- AWS CLI
-
So aktivieren Sie den AWS-Shield-Advanced-Schutz für eine einzelne AWS-Ressource
Im folgenden Beispiel für
create-protectionwird Shield Advanced-Schutz für die angegebene AWS-CloudFront-Distribution aktiviert.aws shield create-protection \ --name"Protection for CloudFront distribution"\ --resource-arnarn:aws:cloudfront::123456789012:distribution/E198WC25FXOWY8Ausgabe:
{ "ProtectionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }Weitere Informationen finden Sie unter Angeben Ihrer zu schützenden Ressourcen im Entwicklerhandbuch zu AWS-Shield Advanced.
-
API-Details finden Sie unter CreateProtection
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie create-subscription verwendet wird.
- AWS CLI
-
So aktivieren Sie den AWS-Shield-Advanced-Schutz für ein Konto
Im folgenden Beispiel für
create-subscriptionwird der Shield Advanced-Schutz für das Konto aktiviert.aws shield create-subscriptionMit diesem Befehl wird keine Ausgabe zurückgegeben.
Weitere Informationen finden Sie unter Erste Schritte mit AWS-Shield Advanced im Entwicklerhandbuch zu AWS-Shield Advanced.
-
API-Details finden Sie unter CreateSubscription
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie delete-protection verwendet wird.
- AWS CLI
-
So entfernen Sie den AWS-Shield-Advanced-Schutz von einer AWS-Ressource
Im folgenden Beispiel für
delete-protectionwird der angegebene AWS-Shield-Advanced-Schutz entfernt.aws shield delete-protection \ --protection-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111Mit diesem Befehl wird keine Ausgabe zurückgegeben.
Weitere Informationen finden Sie unter Entfernen von AWS-Shield Advanced aus einer AWS-Ressource im Entwicklerhandbuch zu AWS-Shield Advanced.
-
API-Details finden Sie unter DeleteProtection
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie describe-attack verwendet wird.
- AWS CLI
-
So rufen Sie eine detaillierte Beschreibung eines Angriffs ab
Im folgenden Beispiel für
describe-attackwerden die Details des DDoS-Angriffs mit der entsprechenden Angriffs-ID angezeigt. Sie können Angriffs-IDs abrufen, indem Sie denlist-attacks-Befehl ausführen.aws shield describe-attack --attack-ida1b2c3d4-5678-90ab-cdef-EXAMPLE22222Ausgabe:
{ "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 Überprüfen von DDoS-Vorfällen im Entwicklerhandbuch zu AWS-Shield Advanced.
-
API-Details finden Sie unter DescribeAttack
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie describe-drt-access verwendet wird.
- AWS CLI
-
So rufen Sie eine Beschreibung der Autorisierungen des DRT ab, um Angriffe in Ihrem Namen abzuwehren
Im folgenden Beispiel für
describe-drt-accesswerden die Rollen- und S3 Bucket-Autorisierungen des DRT abgerufen, sodass es in Ihrem Namen auf potenzielle Angriffe reagieren kann.aws shield describe-drt-accessAusgabe:
{ "RoleArn": "arn:aws:iam::123456789012:role/service-role/DrtRole", "LogBucketList": [ "flow-logs-for-website-lb" ] }Weitere Informationen finden Sie unter Autorisieren des DDoS-Reaktionsteams im Entwicklerhandbuch zu AWS Shield Advanced.
-
API-Details finden Sie unter DescribeDrtAccess
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie describe-emergency-contact-settings verwendet wird.
- AWS CLI
-
So rufen Sie Notfall-E-Mail-Adressen ab, die Sie beim DRT gespeichert haben
Im folgenden Beispiel für
describe-emergency-contact-settingswerden die E-Mail-Adressen abgerufen, die beim DRT für das Konto gespeichert sind. Dies sind die Adressen, an die sich DRT wenden sollte, wenn es auf einen vermuteten Angriff reagiert.aws shield describe-emergency-contact-settingsAusgabe:
{ "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 Entwicklerhandbuch zu AWS-Shield Advanced.
-
API-Details finden Sie unter DescribeEmergencyContactSettings
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie describe-protection verwendet wird.
- AWS CLI
-
So rufen Sie die Details für einen AWS-Shield-Advanced-Schutz ab
Im folgenden Beispiel für
describe-protectionwerden Details zum Shield Advanced-Schutz mit der angegebenen ID angezeigt. Sie können Schutz-IDs abrufen, indem Sie denlist-protections-Befehl ausführen.aws shield describe-protection \ --protection-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111Ausgabe:
{ "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 Angeben Ihrer zu schützenden Ressourcen im Entwicklerhandbuch zu AWS-Shield Advanced.
-
API-Details finden Sie unter DescribeProtection
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie describe-subscription verwendet wird.
- AWS CLI
-
So rufen Sie die Details des AWS-Shield-Advanced-Schutzes für das Konto ab
Das folgende Beispiel für
describe-subscriptionzeigt Details zum Shield Advanced-Schutz, der für das Konto bereitgestellt wurde:aws shield describe-subscriptionAusgabe:
{ "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 Funktionsweise von AWS Shield im Entwicklerhandbuch zu AWS Shield Advanced.
-
API-Details finden Sie unter DescribeSubscription
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie disassociate-drt-log-bucket verwendet wird.
- AWS CLI
-
So entfernen Sie die DRT-Autorisierung für den Zugriff auf einen Amazon-S3-Bucket in Ihrem Namen
Im folgenden Beispiel für
disassociate-drt-log-bucketwird die Zuordnung zwischen DRT und dem angegebenen S3-Bucket aufgehoben. Nach Ausführung dieses Befehls kann DRT nicht mehr im Namen des Kontos auf den Bucket zugreifen.aws shield disassociate-drt-log-bucket \ --log-bucketflow-logs-for-website-lbMit diesem Befehl wird keine Ausgabe zurückgegeben.
Weitere Informationen finden Sie unter Autorisieren des DDoS-Reaktionsteams im Entwicklerhandbuch zu AWS Shield Advanced.
-
API-Details finden Sie unter DisassociateDrtLogBucket
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie disassociate-drt-role verwendet wird.
- AWS CLI
-
So entfernen Sie die Autorisierung des DRT, in Ihrem Namen mögliche Angriffe abzuwehren
Im folgenden Beispiel für
disassociate-drt-rolewird die Zuordnung zwischen dem DRT und dem Konto entfernt. Nach diesem Aufruf kann das DRT nicht mehr auf Ihr Konto zugreifen oder es verwalten.aws shield disassociate-drt-roleMit diesem Befehl wird keine Ausgabe zurückgegeben.
Weitere Informationen finden Sie unter Autorisieren des DDoS-Reaktionsteams im Entwicklerhandbuch zu AWS Shield Advanced.
-
API-Details finden Sie unter DisassociateDrtRole
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie get-subscription-state verwendet wird.
- AWS CLI
-
So rufen Sie den aktuellen Status des AWS-Shield-Advanced-Abonnements des Kontos ab
Im folgenden Beispiel für
get-subscription-statewird der Status des Shield Advanced-Schutzes für das Konto abgerufen.aws shield get-subscription-stateAusgabe:
{ "SubscriptionState": "ACTIVE" }Weitere Informationen finden Sie unter Funktionsweise von AWS Shield im Entwicklerhandbuch zu AWS Shield Advanced.
-
API-Details finden Sie unter GetSubscriptionState
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie list-attacks verwendet wird.
- AWS CLI
-
So rufen Sie Angriffszusammenfassungen von AWS-Shield Advanced ab
Im folgenden Beispiel für
list-attackswerden Zusammenfassungen der Angriffe für die angegebene AWS-CloudFront-Distribution während des angegebenen Zeitraums abgerufen. Die Antwort umfasst Angriffs-IDs, die Sie demdescribe-attack-Befehl bereitstellen können, um detaillierte Informationen zu einem Angriff zu erhalten.aws shield list-attacks \ --resource-arnsarn:aws:cloudfront::12345678910:distribution/E1PXMP22ZVFAOR\ --start-timeFromInclusive=1529280000,ToExclusive=1529300000Ausgabe:
{ "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 Überprüfen von DDoS-Vorfällen im Entwicklerhandbuch zu AWS-Shield Advanced.
-
API-Details finden Sie unter ListAttacks
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie list-protections verwendet wird.
- AWS CLI
-
So rufen Sie Schutzzusammenfassungen von AWS-Shield Advanced ab
Im folgenden Beispiel für
list-protectionswerden Zusammenfassungen der Schutzmaßnahmen abgerufen, die für das Konto aktiviert sind.aws shield list-protectionsAusgabe:
{ "Protections": [ { "Id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Name": "Protection for CloudFront distribution", "ResourceArn": "arn:aws:cloudfront::123456789012:distribution/E198WC25FXOWY8" } ] }Weitere Informationen finden Sie unter Angeben Ihrer zu schützenden Ressourcen im Entwicklerhandbuch zu AWS-Shield Advanced.
-
API-Details finden Sie unter ListProtections
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie update-emergency-contact-settings verwendet wird.
- AWS CLI
-
So definieren Sie die Notfall-E-Mail-Adressen, die im DRT gespeichert sind
Im folgenden Beispiel für
update-emergency-contact-settingswerden zwei E-Mail-Adressen definiert, an die sich das DRT wenden soll, wenn es auf einen vermuteten Angriff reagiert.aws shield update-emergency-contact-settings \ --emergency-contact-listEmailAddress=ops@example.comEmailAddress=ddos-notifications@example.comMit diesem Befehl wird keine Ausgabe zurückgegeben.
Weitere Informationen finden Sie unter Funktionsweise von AWS Shield im Entwicklerhandbuch zu AWS Shield Advanced.
-
API-Details finden Sie unter UpdateEmergencyContactSettings
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie update-subscription verwendet wird.
- AWS CLI
-
So ändern das AWS-Shield-Advanced-Abonnement des Kontos
Im folgenden Beispiel für
update-subscriptionwird die automatische Verlängerung des AWS-Shield-Advanced-Abonnements für das Konto aktiviert.aws shield update-subscription \ --auto-renewENABLEDMit diesem Befehl wird keine Ausgabe zurückgegeben.
Weitere Informationen finden Sie unter Funktionsweise von AWS Shield im Entwicklerhandbuch zu AWS Shield Advanced.
-
API-Details finden Sie unter UpdateSubscription
in der AWS CLI-Befehlsreferenz.
-