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 adalahAWS WAFKlasikdokumentasi. Anda sebaiknya hanya menggunakan versi ini jika dibuatAWS WAFsumber daya, seperti aturan dan ACL web, diAWS WAFsebelum November 2019, dan Anda belum memigrasikannya ke versi terbaru. Untuk memigrasi sumber daya Anda, lihatMigrasiAWS WAFSumber daya KlasikAWS WAF.

Untuk versi terbaruAWS WAF, lihatAWS WAF.

Anda dapat mengaktifkan pencatatan untuk mendapatkan informasi rinci tentang lalu lintas yang dianalisis oleh web Anda ACL. Informasi yang terkandung dalam log termasuk waktu yangAWS WAFClassic menerima permintaan dariAWSsumber daya, informasi rinci tentang permintaan, dan tindakan untuk aturan yang setiap permintaan cocok.

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

Untuk informasi tentang cara membuat Amazon Kinesis Data Firehose dan meninjau log yang disimpan, lihatApa Itu Amazon Kinesis Data Firehose? Untuk memahami izin yang diperlukan untuk konfigurasi Kinesis Data Firehose Anda, lihatMengendalikan Akses dengan Amazon Kinesis Data Firehose..

Anda harus memiliki izin berikut untuk berhasil mengaktifkan pembuatan log:

  • iam:CreateServiceLinkedRole

  • firehose:ListDeliveryStreams

  • waf:PutLoggingConfiguration

Untuk informasi lebih lanjut tentang peran terkait layanan daniam:CreateServiceLinkedRoleizin, lihatMenggunakan peran terkait layanan untukAWS WAFKlasik.

Untuk mengaktifkan pendataan untuk ACL web

  1. Buat Amazon Kinesis Data Firehose menggunakan nama yang dimulai dengan awalan “aws-waf-logs-” Misalnya,aws-waf-logs-us-east-2-analytics. Buat firehose data denganPUTsumber dan di wilayah yang Anda operasi. Jika Anda menangkap log untuk Amazon CloudFront, buat firehose di US East (N. Virginia). Untuk informasi lebih lanjut, lihat Membuat Amazon Kinesis Data Firehose Aliran Pengiriman.

    penting

    Jangan memilihKinesis streamsebagai sumber Anda.

    satuAWS WAFKlasik log setara dengan satu catatan Kinesis Data Firehose. Jika Anda biasanya menerima 10.000 permintaan per detik dan mengaktifkan log lengkap, Anda harus memiliki pengaturan 10.000 catatan per detik di Kinesis Data Firehose. Jika Anda tidak mengonfigurasi Kinesis Data Firehose dengan benar,AWS WAFKlasik tidak akan merekam semua log. Untuk informasi selengkapnya, lihatKuota Amazon Kinesis Data Firehose.

  2. Masuk keAWS Management Consoledan bukaAWS WAFconsole dihttps://console.aws.amazon.com/wafv2/.

    Jika Anda melihatBeralih keAWS WAFKlasikdi panel navigasi, pilih.

  3. Di panel navigasi, pilihACL web.

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

  5. PadaLoggingtab, pilihAktifkan logging.

  6. Pilih Kinesis Data Firehose yang telah Anda buat di langkah pertama. Anda harus memilih firehose yang dimulai dengan “aws-waf-log-.”

  7. (Opsional) Jika Anda tidak ingin bidang tertentu dan nilai-nilai mereka termasuk dalam log, redact bidang tersebut. Pilih bidang untuk redact, dan kemudian pilihTambahkan. Ulangi seperlunya untuk melakukan redact bidang tambahan. Bidang yang disunting muncul sebagaiXXXdi log. Misalnya, jika Anda redactkue keringbidang,kue keringbidang di log akanXXX.

  8. MemiilihAktifkan logging.

    catatan

    Ketika Anda berhasil mengaktifkan logging,AWS WAFClassic 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 untukAWS WAFKlasik.

Untuk menonaktifkan pembuatan log untuk ACL web

  1. Di panel navigasi, pilihACL web.

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

  3. PadaLoggingtab, pilihMenonaktifkan log.

  4. Di kotak dialog, pilihMenonaktifkan log.

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 adalah penjelasan dari setiap item yang tercantum dalam log ini:

timestamp

Cap waktu dalam milidetik.

formatVersion

Versi format untuk log.

WebACLId

GUID dari ACL web.

terminatingRuleId

ID aturan yang mengakhiri permintaan. Jika tidak ada yang mengakhiri permintaan, nilainyaDefault_Action.

terminatingRuleType

Jenis aturan yang mengakhiri permintaan. Kemungkinan nilai: RATE_BERBASIS, REGULER,

tindakan

Tindakan . Nilai yang mungkin untuk aturan terminating: ALLY dan BLOCK COUNT bukan nilai yang valid untuk aturan terminating.

terminatingRuleMatchDetails

Informasi lengkap 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 injeksi SQL dan cross-site scripting (XSS) pernyataan aturan pertandingan. Seperti semua pernyataan aturan yang memeriksa lebih dari satu hal,AWS WAFmenerapkan 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. Kemungkinan nilai: CF (jika sumbernya adalah Amazon CloudFront), APIGW (jika sumbernya Amazon API Gateway), dan ALB (jika sumbernya adalah Application Load Balancer).

httpSourceId

ID sumber. Bidang ini menunjukkan ID Amazon terkait CloudFront distribusi, 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 untukruleGroupIDsama dengan ID untukterminatingRuleId.

terminatingRule

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

nonTerminatingMatchingRules

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

tindakan (kelompok nonTerminatingMatchingRules)

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

ruleId (grup nonTerminatingMatchingRules)

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

excludedRules

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

exclusionType (kelompok excludedRules)

Jenis yang menunjukkan bahwa aturan dikecualikan memiliki tindakan COUNT.

ruleId (kelompok excludedRules)

ID aturan dalam grup aturan yang dikecualikan.

rateBasedRuleList

Daftar aturan berbasis tingkat yang bertindak atas permintaan.

rateBasedRuleId

ID aturan berbasis tingkat yang bertindak atas permintaan. Jika ini telah mengakhiri permintaan, ID untukrateBasedRuleIdsama dengan ID untukterminatingRuleId.

limitKey

Bidang yangAWS WAFdigunakan untuk menentukan apakah permintaan cenderung tiba dari satu sumber dan karenanya tunduk pada pemantauan nilai. Kemungkinan: IP.

maxRateAllowed

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

httpRequest

Metadata tentang permintaan.

clientIp

Alamat IP klien yang mengirimkan permintaan.

negeri

Negara sumber permintaan. JikaAWS WAFtidak dapat menentukan negara asal, ia menetapkan bidang ini untuk-.

headers

Daftar header.

uri

URI permintaan. Contoh kode sebelumnya menunjukkan apa nilai akan jika bidang ini telah disunting.

args

String kueri.

httpVersion

Versi HTTP.

httpMethod

Metode HTTP dalam permintaan.

requestId

ID permintaan.