Logging informasi lalu lintas ACL Web - AWS WAF, AWS Firewall Manager, dan AWS Shield Advanced

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

Logging informasi lalu lintas ACL Web

catatan

Ini adalah dokumentasi AWS WAF Klasik. Anda hanya boleh menggunakan versi ini jika Anda membuat AWS WAF sumber daya, seperti aturan dan ACL web, AWS WAF sebelum November 2019, dan Anda belum memigrasikannya ke versi terbaru. Untuk memigrasikan sumber daya Anda, lihatMemigrasi sumber daya AWS WAF Klasik Anda ke AWS WAF.

Untuk versi terbaru AWS WAF, lihatAWS WAF.

catatan

Anda tidak dapat menggunakan Amazon Security Lake untuk mengumpulkan data AWS WAF Klasik.

Anda dapat mengaktifkan logging untuk mendapatkan informasi rinci tentang lalu lintas yang dianalisis oleh ACL web Anda. Informasi yang terkandung dalam log mencakup waktu AWS WAF Classic menerima permintaan dari AWS sumber daya Anda, informasi rinci tentang permintaan, dan tindakan untuk aturan yang dicocokkan oleh setiap permintaan.

Untuk memulai, Anda menyiapkan Amazon Kinesis Data Firehose. Sebagai bagian dari proses itu, Anda memilih tujuan untuk menyimpan log Anda. Selanjutnya, Anda memilih ACL web yang ingin Anda aktifkan untuk login. Setelah Anda mengaktifkan logging, AWS WAF mengirimkan log melalui firehose ke tujuan penyimpanan Anda.

Untuk informasi tentang cara membuat Amazon Kinesis Data Firehose dan meninjau log yang disimpan, lihat Apa itu Amazon Data Firehose? Untuk memahami izin yang diperlukan untuk konfigurasi Firehose Data Kinesis, lihat Mengontrol Akses dengan Amazon Kinesis Data Firehose.

Anda harus memiliki izin berikut agar berhasil mengaktifkan logging:

  • iam:CreateServiceLinkedRole

  • firehose:ListDeliveryStreams

  • waf:PutLoggingConfiguration

Untuk informasi selengkapnya tentang peran terkait layanan dan iam:CreateServiceLinkedRole izin, lihat. Menggunakan peran terkait layanan untuk Classic AWS WAF

Untuk mengaktifkan pencatatan untuk ACL web
  1. Buat Amazon Kinesis Data Firehose menggunakan nama yang dimulai dengan aws-waf-logs awalan "-” Misalnya,. aws-waf-logs-us-east-2-analytics Buat firehose data dengan PUT sumber dan di wilayah tempat Anda beroperasi. Jika Anda menangkap log untuk Amazon CloudFront, buat firehose di US East (Virginia N.). Untuk informasi selengkapnya, lihat Membuat Aliran Pengiriman Firehose Data Amazon.

    penting

    Jangan memilih Kinesis stream sebagai sumber Anda.

    Satu log AWS WAF Klasik setara dengan satu catatan Firehose. Jika Anda biasanya menerima 10.000 permintaan per detik dan mengaktifkan log penuh, Anda harus memiliki pengaturan 10.000 catatan per detik di Firehose. Jika Anda tidak mengonfigurasi Firehose dengan benar, AWS WAF Classic tidak akan merekam semua log. Untuk informasi selengkapnya, lihat Kuota Amazon Kinesis Data Firehose.

  2. Masuk ke AWS Management Console dan buka AWS WAF konsol di https://console.aws.amazon.com/wafv2/.

    Jika Anda melihat Beralih ke AWS WAF Klasik di panel navigasi, pilih.

  3. Di panel navigasi, pilih Web ACL.

  4. Pilih nama ACL web yang ingin Anda aktifkan untuk login. Ini membuka halaman dengan detail ACL web di panel kanan.

  5. Pada tab Logging, pilih Aktifkan logging.

  6. Pilih Kinesis Data Firehose yang Anda buat pada langkah pertama. Anda harus memilih firehose yang dimulai dengan "aws-waf-logs-.”

  7. (Opsional) Jika Anda tidak ingin bidang tertentu dan nilainya disertakan dalam log, edit bidang tersebut. Pilih bidang yang akan disunting, lalu pilih Tambah. Ulangi seperlunya untuk menyunting bidang tambahan. Bidang yang disunting muncul seperti REDACTED di log. Misalnya, jika Anda menyunting bidang cookie, bidang cookie di log akan menjadiREDACTED.

  8. Pilih Aktifkan pencatatan.

    catatan

    Jika Anda berhasil mengaktifkan logging, AWS WAF Classic akan membuat peran terkait layanan dengan izin yang diperlukan untuk menulis log ke Amazon Kinesis Data Firehose. Untuk informasi selengkapnya, lihat Menggunakan peran terkait layanan untuk Classic AWS WAF.

Untuk menonaktifkan pencatatan untuk ACL web
  1. Di panel navigasi, pilih Web ACL.

  2. Pilih nama ACL web yang ingin Anda nonaktifkan logging. Ini membuka halaman dengan detail ACL web di panel kanan.

  3. Pada tab Logging, pilih Nonaktifkan logging.

  4. Di kotak dialog, pilih Nonaktifkan logging.

contoh Contoh log
{ "timestamp":1533689070589, "formatVersion":1, "webaclId":"385cb038-3a6f-4f2f-ac64-09ab912af590", "terminatingRuleId":"Default_Action", "terminatingRuleType":"REGULAR", "action":"ALLOW", "httpSourceName":"CF", "httpSourceId":"i-123", "ruleGroupList":[ { "ruleGroupId":"41f4eb08-4e1b-2985-92b5-e8abf434fad3", "terminatingRule":null, "nonTerminatingMatchingRules":[ {"action" : "COUNT", "ruleId" : "4659b169-2083-4a91-bbd4-08851a9aaf74"} ], "excludedRules": [ {"exclusionType" : "EXCLUDED_AS_COUNT", "ruleId" : "5432a230-0113-5b83-bbb2-89375c5bfa98"} ] } ], "rateBasedRuleList":[ { "rateBasedRuleId":"7c968ef6-32ec-4fee-96cc-51198e412e7f", "limitKey":"IP", "maxRateAllowed":100 }, { "rateBasedRuleId":"462b169-2083-4a93-bbd4-08851a9aaf30", "limitKey":"IP", "maxRateAllowed":100 } ], "nonTerminatingMatchingRules":[ {"action" : "COUNT", "ruleId" : "4659b181-2011-4a91-bbd4-08851a9aaf52"} ], "httpRequest":{ "clientIp":"192.10.23.23", "country":"US", "headers":[ { "name":"Host", "value":"127.0.0.1:1989" }, { "name":"User-Agent", "value":"curl/7.51.2" }, { "name":"Accept", "value":"*/*" } ], "uri":"REDACTED", "args":"usernam=abc", "httpVersion":"HTTP/1.1", "httpMethod":"GET", "requestId":"cloud front Request id" } }

Berikut ini adalah penjelasan dari setiap item yang tercantum dalam log ini:

timestamp

Stempel waktu dalam milidetik.

formatVersion

Versi format untuk log.

webaclId

GUID dari web ACL.

terminatingRuleId

ID aturan yang mengakhiri permintaan. Jika tidak ada yang mengakhiri permintaan, nilainya adalahDefault_Action.

terminatingRuleType

Jenis aturan yang mengakhiri permintaan. Nilai yang mungkin: RATE_BASED, REGULAR, dan GROUP.

tindakan

Tindakan . Nilai yang mungkin untuk aturan penghentian: ALLOW dan BLOCK. COUNT bukan nilai yang valid untuk aturan penghentian.

terminatingRuleMatchDetail

Informasi terperinci tentang aturan penghentian yang cocok dengan permintaan. Aturan penghentian memiliki tindakan yang mengakhiri proses inspeksi terhadap permintaan web. Tindakan yang mungkin untuk aturan penghentian adalah ALLOW dan BLOCK. Ini hanya diisi untuk pernyataan aturan pencocokan SQL injection dan cross-site scripting (XSS). Seperti semua pernyataan aturan yang memeriksa lebih dari satu hal, AWS WAF menerapkan tindakan pada pertandingan pertama dan berhenti memeriksa permintaan web. Permintaan web dengan tindakan penghentian dapat berisi ancaman lain, selain yang dilaporkan dalam log.

httpSourceName

Sumber permintaan. Nilai yang mungkin: CF (jika sumbernya adalah Amazon CloudFront), APIGW (jika sumbernya adalah Amazon API Gateway), dan ALB (jika sumbernya adalah Application Load Balancer).

httpSourceId

ID sumber. Kolom ini menunjukkan ID CloudFront distribusi Amazon terkait, REST API untuk API Gateway, atau nama untuk Application Load Balancer.

ruleGroupList

Daftar kelompok aturan yang bertindak atas permintaan ini. Dalam contoh kode sebelumnya, hanya ada satu.

ruleGroupId

ID dari grup aturan. Jika aturan memblokir permintaan, ID ruleGroupID untuk sama dengan ID untukterminatingRuleId.

terminatingRule

Aturan dalam kelompok aturan yang mengakhiri permintaan. Jika ini adalah nilai non-null, itu juga berisi ruleid dan tindakan. Dalam hal ini, aksinya selalu BLOCK.

nonTerminatingMatchingAturan

Daftar aturan dalam grup aturan yang cocok dengan permintaan. Ini selalu aturan COUNT (aturan non-terminating yang cocok).

tindakan (Kelompok nonTerminatingMatching aturan)

Ini selalu COUNT (aturan non-terminating yang cocok).

RuleID nonTerminatingMatching (Grup Aturan)

ID aturan dalam grup aturan yang cocok dengan permintaan dan tidak mengakhiri. Artinya, aturan COUNT.

excludedRules

Daftar aturan dalam grup aturan yang telah Anda kecualikan. Tindakan untuk aturan ini diatur ke COUNT.

ExclusionType (grup ExcludeDrules)

Tipe yang menunjukkan bahwa aturan yang dikecualikan memiliki COUNT tindakan.

ruleID (grup ExcludeDrules)

ID aturan dalam grup aturan yang dikecualikan.

rateBasedRuleDaftar

Daftar aturan berbasis tarif yang bertindak atas permintaan.

rateBasedRuleId

ID aturan berbasis tarif yang bertindak atas permintaan. Jika ini telah menghentikan permintaan, ID untuk rateBasedRuleId sama dengan ID untukterminatingRuleId.

limitKey

Bidang yang AWS WAF digunakan untuk menentukan apakah permintaan kemungkinan datang dari satu sumber dan dengan demikian tunduk pada pemantauan tarif. Nilai yang mungkin: IP.

maxRateAllowed

Jumlah maksimum permintaan, yang memiliki nilai identik di bidang yang ditentukan olehlimitKey, diizinkan dalam periode lima menit. Jika jumlah permintaan melebihi dan maxRateAllowed predikat lain yang ditentukan dalam aturan juga terpenuhi, AWS WAF memicu tindakan yang ditentukan untuk aturan ini.

httpRequest

Metadata tentang permintaan.

clientIp

Alamat IP klien yang mengirim permintaan.

negeri

Negara sumber permintaan. Jika AWS WAF tidak dapat menentukan negara asal, ia menetapkan bidang ini ke-.

headers

Daftar header.

uri

URI permintaan. Contoh kode sebelumnya menunjukkan berapa nilainya jika bidang ini telah disunting.

args

String kueri.

httpVersion

Versi HTTP.

httpMethod

Metode HTTP dalam permintaan.

requestId

ID permintaan.