Contoh Shield menggunakan AWS CLI - AWS SDKContoh Kode

Ada lebih banyak AWS SDK contoh yang tersedia di GitHub repo SDKContoh AWS Dokumen.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Contoh Shield menggunakan AWS CLI

Contoh kode berikut menunjukkan cara melakukan tindakan dan menerapkan skenario umum dengan menggunakan AWS Command Line Interface With Shield.

Tindakan adalah kutipan kode dari program yang lebih besar dan harus dijalankan dalam konteks. Sementara tindakan menunjukkan cara memanggil fungsi layanan individual, Anda dapat melihat tindakan dalam konteks dalam skenario terkait.

Setiap contoh menyertakan tautan ke kode sumber lengkap, di mana Anda dapat menemukan instruksi tentang cara mengatur dan menjalankan kode dalam konteks.

Tindakan

Contoh kode berikut menunjukkan cara menggunakanassociate-drt-log-bucket.

AWS CLI

Untuk mengotorisasi DRT akses bucket Amazon S3

associate-drt-log-bucketContoh berikut membuat asosiasi antara bucket S3 DRT dan yang ditentukan. Ini memungkinkan DRT untuk mengakses bucket atas nama akun. :

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

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat Mengotorisasi Tim DDoS Respons di Panduan Pengembang AWS Shield Advanced.

Contoh kode berikut menunjukkan cara menggunakanassociate-drt-role.

AWS CLI

Untuk mengotorisasi DRT untuk mengurangi potensi serangan atas nama Anda

associate-drt-roleContoh berikut menciptakan hubungan antara DRT dan peran yang ditentukan. DRTDapat menggunakan peran untuk mengakses dan mengelola akun.

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

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat Mengotorisasi Tim DDoS Respons di Panduan Pengembang AWS Shield Advanced.

Contoh kode berikut menunjukkan cara menggunakancreate-protection.

AWS CLI

Untuk mengaktifkan perlindungan AWS Shield Advanced untuk satu AWS sumber daya

create-protectionContoh berikut memungkinkan perlindungan Shield Advanced untuk AWS CloudFront distribusi yang ditentukan.

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

Output:

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

Untuk informasi selengkapnya, lihat Menentukan Sumber Daya Anda untuk Dilindungi di Panduan Pengembang Lanjutan AWS Shield.

Contoh kode berikut menunjukkan cara menggunakancreate-subscription.

AWS CLI

Untuk mengaktifkan perlindungan AWS Shield Advanced untuk akun

create-subscriptionContoh berikut memungkinkan perlindungan Shield Advanced untuk akun.

aws shield create-subscription

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat Memulai dengan AWS Shield Advanced di Panduan Pengembang AWS Shield Advanced.

Contoh kode berikut menunjukkan cara menggunakandelete-protection.

AWS CLI

Untuk menghapus perlindungan AWS Shield Advanced dari AWS sumber daya

delete-protectionContoh berikut menghapus perlindungan AWS Shield Advanced yang ditentukan.

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

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat Menghapus AWS Shield Advanced dari AWS Sumber Daya di Panduan Pengembang Lanjutan AWS Shield.

Contoh kode berikut menunjukkan cara menggunakandescribe-attack.

AWS CLI

Untuk mengambil deskripsi rinci tentang serangan

describe-attackContoh berikut menampilkan rincian tentang DDoS serangan dengan ID serangan yang ditentukan. Anda bisa mendapatkan serangan IDs dengan menjalankan list-attacks perintah.

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

Untuk informasi selengkapnya, lihat Meninjau DDoS Insiden di Panduan Pengembang AWS Shield Advanced.

  • Untuk API detailnya, lihat DescribeAttackdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakandescribe-drt-access.

AWS CLI

Untuk mengambil deskripsi otorisasi, Anda DRT harus mengurangi serangan atas nama Anda

describe-drt-accessContoh berikut mengambil peran dan otorisasi bucket S3 yang DRT dimiliki, yang memungkinkannya merespons potensi serangan atas nama Anda.

aws shield describe-drt-access

Output:

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

Untuk informasi selengkapnya, lihat Mengotorisasi Tim DDoS Respons di Panduan Pengembang AWS Shield Advanced.

Contoh kode berikut menunjukkan cara menggunakandescribe-emergency-contact-settings.

AWS CLI

Untuk mengambil alamat e-mail darurat yang Anda miliki pada file dengan DRT

describe-emergency-contact-settingsContoh berikut mengambil alamat e-mail yang ada di file dengan DRT untuk account. Ini adalah alamat yang DRT harus dihubungi ketika menanggapi serangan yang dicurigai.

aws shield describe-emergency-contact-settings

Output:

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

Untuk informasi selengkapnya, lihat Cara Kerja AWS Shield < https://docs.aws.amazon.com/waf/ latest/developerguide/ddos -overview.html> di Panduan Pengembang Shield Advanced.AWS

Contoh kode berikut menunjukkan cara menggunakandescribe-protection.

AWS CLI

Untuk mengambil detail untuk AWS perlindungan Shield Advanced

describe-protectionContoh berikut menampilkan detail tentang perlindungan Shield Advanced dengan ID yang ditentukan. Anda dapat memperoleh perlindungan IDs dengan menjalankan list-protections perintah.

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

Untuk informasi selengkapnya, lihat Menentukan Sumber Daya Anda untuk Dilindungi di Panduan Pengembang Lanjutan AWS Shield.

Contoh kode berikut menunjukkan cara menggunakandescribe-subscription.

AWS CLI

Untuk mengambil rincian perlindungan AWS Shield Advanced untuk akun

describe-subscriptionContoh berikut menampilkan detail tentang perlindungan Shield Advanced yang disediakan untuk akun. :

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

Untuk informasi selengkapnya, lihat Cara Kerja AWS Shield di Panduan Pengembang AWS Shield Advanced.

Contoh kode berikut menunjukkan cara menggunakandisassociate-drt-log-bucket.

AWS CLI

Untuk menghapus otorisasi DRT untuk mengakses bucket Amazon S3 atas nama Anda

disassociate-drt-log-bucketContoh berikut menghapus hubungan antara bucket S3 DRT dan yang ditentukan. Setelah perintah ini selesai, tidak DRT dapat lagi mengakses bucket atas nama akun.

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

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat Mengotorisasi Tim DDoS Respons di Panduan Pengembang AWS Shield Advanced.

Contoh kode berikut menunjukkan cara menggunakandisassociate-drt-role.

AWS CLI

Untuk menghapus otorisasi DRT untuk mengurangi potensi serangan atas nama Anda

disassociate-drt-roleContoh berikut menghapus hubungan antara akun DRT dan akun. Setelah panggilan ini, tidak DRT dapat lagi mengakses atau mengelola akun Anda.

aws shield disassociate-drt-role

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat Mengotorisasi Tim DDoS Respons di Panduan Pengembang AWS Shield Advanced.

Contoh kode berikut menunjukkan cara menggunakanget-subscription-state.

AWS CLI

Untuk mengambil status langganan AWS Shield Advanced akun saat ini

get-subscription-stateContoh berikut mengambil status perlindungan Shield Advanced untuk akun tersebut.

aws shield get-subscription-state

Output:

{ "SubscriptionState": "ACTIVE" }

Untuk informasi selengkapnya, lihat Cara Kerja AWS Shield di Panduan Pengembang AWS Shield Advanced.

Contoh kode berikut menunjukkan cara menggunakanlist-attacks.

AWS CLI

Untuk mengambil ringkasan serangan dari Shield Advanced AWS

list-attacksContoh berikut mengambil ringkasan serangan untuk AWS CloudFront distribusi yang ditentukan selama periode waktu yang ditentukan. Respons termasuk serangan IDs yang dapat Anda berikan kepada describe-attack perintah untuk informasi rinci tentang serangan.

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

Untuk informasi selengkapnya, lihat Meninjau DDoS Insiden di Panduan Pengembang AWS Shield Advanced.

  • Untuk API detailnya, lihat ListAttacksdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanlist-protections.

AWS CLI

Untuk mengambil ringkasan perlindungan dari Shield Advanced AWS

list-protectionsContoh berikut mengambil ringkasan perlindungan yang diaktifkan untuk akun.

aws shield list-protections

Output:

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

Untuk informasi selengkapnya, lihat Menentukan Sumber Daya Anda untuk Dilindungi di Panduan Pengembang Lanjutan AWS Shield.

Contoh kode berikut menunjukkan cara menggunakanupdate-emergency-contact-settings.

AWS CLI

Untuk menentukan alamat email darurat yang ada di file dengan DRT

update-emergency-contact-settingsContoh berikut mendefinisikan dua alamat email yang DRT harus dihubungi ketika menanggapi serangan yang dicurigai.

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

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat Cara Kerja AWS Shield di Panduan Pengembang AWS Shield Advanced.

Contoh kode berikut menunjukkan cara menggunakanupdate-subscription.

AWS CLI

Untuk mengubah langganan AWS Shield Advanced akun

update-subscriptionContoh berikut memungkinkan perpanjangan otomatis langganan AWS Shield Advanced untuk akun tersebut.

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

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat Cara Kerja AWS Shield di Panduan Pengembang AWS Shield Advanced.