Mengkueri log mendetail dari lalu lintas serangan. Setiap entri log berisi detail dari permintaan yang cocok dengan aturan perlindungan.
Deskripsi operasi
Lalu lintas serangan mengacu pada permintaan yang cocok dengan aturan dan diidentifikasi sebagai ancaman. Tiga jenis permintaan berikut tidak disertakan:
-
Permintaan yang cocok dengan aturan daftar putih.
-
Permintaan yang cocok dengan aturan bot yang tindakannya diatur ke Mark for Origin Fetch.
-
Permintaan yang cocok dengan aturan yang tindakannya diatur ke Dynamic Token, Slider, Strict Slider, atau JS Challenge, tetapi diizinkan karena pengguna lulus verifikasi.
Coba sekarang
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
yundun-waf:DescribeSecurityEventLogs |
get |
*全部资源
|
|
None |
Parameter permintaan
|
Parameter |
Type |
Required |
Description |
Example |
| InstanceId |
string |
Yes |
ID dari instance Web Application Firewall (WAF). Catatan
Panggil DescribeInstance untuk mengkueri ID instance WAF. |
waf_cdnsdf3**** |
| Filter |
object |
Yes |
Kondisi filter. Hubungan logika AND berlaku di antara beberapa kondisi filter. |
|
| DateRange |
object |
Yes |
Rentang waktu yang akan dikueri. |
|
| StartDate |
integer |
Yes |
Awal dari rentang waktu yang akan dikueri. Rentang waktu tidak boleh melebihi 30 hari terakhir. Nilainya berupa UNIX timestamp. Satuan: detik. Catatan
Waktu mulai harus berada dalam 30 hari terakhir dari waktu saat ini. |
1713888000 |
| EndDate |
integer |
Yes |
Akhir dari rentang waktu yang akan dikueri. Nilainya berupa UNIX timestamp. Satuan: detik. |
1713888600 |
| Conditions |
array<object> |
No |
Daftar kondisi filter. Setiap node menggambarkan satu kondisi filter. |
|
|
object |
No |
Konfigurasi dari satu kondisi kueri. Sebuah kondisi kueri terdiri dari nama field, sebuah operator, dan sebuah nilai filter. Untuk informasi lebih lanjut tentang nama field dan operator yang didukung, lihat bagian Informasi tambahan tentang parameter permintaan. |
||
| Key |
string |
No |
Nama field yang akan difilter. Operasi ini mendukung semua field. |
matched_host |
| OpValue |
string |
No |
Operator. |
eq |
| Values |
any |
No |
Nilai filter. |
test.waf-top |
| PageSize |
integer |
Yes |
Jumlah entri yang dikembalikan pada setiap halaman untuk kueri berhalaman. Nilai maksimum adalah 100. |
10 |
| PageNumber |
integer |
Yes |
Nomor halaman yang dikembalikan untuk kueri berhalaman. Nilai default adalah 1, yang menunjukkan halaman pertama. |
1 |
| RegionId |
string |
No |
Wilayah dari instance WAF. Nilai yang valid:
|
cn-hangzhou |
| ResourceManagerResourceGroupId |
string |
No |
ID dari grup sumber daya Alibaba Cloud. |
rg-acfm***q |
Deskripsi operator
| Operator | Arti | Deskripsi |
| all-not-match | Tidak sama dengan nilai mana pun | Nilai field tidak sama dengan nilai mana pun dalam kumpulan data. Memfilter data yang real_client_ip-nya tidak sama dengan nilai mana pun dalam koleksi:{"Key":"real_client_ip","OpValue":"all-not-match","Values":["1.1.1.1","2.2.2.2","3.3.3.3"]} |
| contain | Mengandung | Nilai field mengandung string tertentu. Memfilter data yang URL-nya mengandung "test":{"Key":"request_path","OpValue":"contain","Values":"test"} |
| eq | Sama dengan | Nilai field sama dengan string tertentu. Memfilter data yang URL-nya adalah "/testcase":{"Key":"request_path","OpValue":"eq","Values":"/testcase"} |
| match-one | Sama dengan salah satu dari banyak nilai | Nilai field sama dengan nilai mana pun dalam kumpulan data. Memfilter data yang real_client_ip-nya sama dengan nilai mana pun dalam koleksi:{"Key":"real_client_ip","OpValue":"match-one","Values":["1.1.1.1","2.2.2.2","3.3.3.3"]} |
| ne | Tidak sama dengan | Nilai field tidak sama dengan string tertentu. Memfilter data yang URL-nya bukan "/testcase":{"Key":"request_path","OpValue":"ne","Values":"/testcase"} |
| not-contain | Tidak mengandung | Nilai field tidak mengandung string tertentu. Memfilter data yang URL-nya tidak mengandung "test":{"Key":"request_path","OpValue":"not-contain","Values":"test"} |
| prefix-match | Cocok awalan | Nilai field diawali dengan string tertentu. Memfilter data yang awalan URL-nya adalah "/testcase":{"Key":"request_path","OpValue":"prefix-match","Values":"/testcase"} |
| suffix-match | Cocok akhiran | Nilai field diakhiri dengan string tertentu. Memfilter data yang akhiran URL-nya adalah "/testcase":{"Key":"request_path","OpValue":"suffix-match","Values":"/testcase"} |
Kunci yang didukung untuk kondisi filter
| Nama field | Deskripsi | Operator yang didukung |
| action | Tindakan perlindungan. Ini adalah tindakan akhir yang diambil terhadap permintaan. | ne, eq |
| cluster | Kluster perlindungan. | ne, eq, match-one, all-not-match |
| defense_scene | Modul perlindungan. Sebuah permintaan dapat memicu beberapa modul perlindungan. Permintaan yang difilter berdasarkan field ini juga dapat memicu modul lain. | ne, eq |
| host | Field host dalam header HTTP. | contain, not-contain, ne, eq, match-one, all-not-match, prefix-match, suffix-match |
| http_cookie | Field cookie dalam header HTTP. | contain, not-contain, ne, eq, match-one, all-not-match, prefix-match, suffix-match |
| http_user_agent | Field User-Agent dalam header HTTP. | contain, not-contain, ne, eq, match-one, all-not-match, prefix-match, suffix-match |
| matched_host | Objek yang dilindungi. | ne, eq, match-one, all-not-match |
| real_client_ip | Alamat IP sumber dari permintaan. Hanya string alamat IP yang didukung sebagai nilai filter. Blok CIDR tidak didukung. | ne, eq, match-one, all-not-match |
| remote_country_id | Negara asal alamat IP sumber dari permintaan HTTP. | ne, eq, match-one, all-not-match |
| remote_region_id | Provinsi atau kota asal alamat IP sumber dari permintaan HTTP. | ne, eq, match-one, all-not-match |
| request_method | Metode permintaan HTTP. | ne, eq, match-one, all-not-match |
| request_path | URL permintaan HTTP, tidak termasuk query string. | contain, not-contain, ne, eq, match-one, all-not-match, prefix-match, suffix-match |
| request_traceid | ID unik yang mengidentifikasi permintaan. | ne, eq, match-one, all-not-match |
| rule_id | ID aturan. Sebuah permintaan dapat memicu beberapa aturan. Permintaan yang difilter berdasarkan field ini juga dapat memicu aturan lain. | ne, eq |
Elemen respons
|
Element |
Type |
Description |
Example |
|
object |
Data yang dikembalikan. Untuk contoh formatnya, lihat Examples. |
||
| RequestId |
string |
ID permintaan. |
D827FCFE-90A7-4330-9326-******4C7726 |
| SecurityEventLogs |
array |
Daftar log serangan yang detail. |
|
|
any |
Setiap node adalah log serangan yang berkaitan dengan satu permintaan. Untuk informasi lebih lanjut, lihat bagian Deskripsi field log dan Contoh respons. |
{ "remote_region_id": "11***0", "plugin_matched_detail_waf_group": "****", "plugin_matched_block_rule_detail": "****", "querystring": "-", "matched_host": "i-8vbaazr2tboqsq******-443-ecs", "remote_country_id": "CN", "remote_isp_id": "100**8", "request_method": "GET", "plugin_matched_test_rule_detail": "[]", "request_traceid": "0b6261221742197109309484******", "dst_port": "0", "host": "39.99.***.109", "real_client_ip": "47.92.***.14", "request_path": "/.git/HEAD", "server_protocol": "HTTP/1.1", "timestamp": "1742197109" } |
|
| SecurityEventMetaData |
object |
Metadata dari data yang dikembalikan. |
|
| DateRange |
object |
Rentang waktu yang digunakan untuk kueri. |
|
| StartDate |
integer |
The start of the time range used for the query. The value is a UNIX timestamp. Unit: seconds. This value is the same as the `StartDate` request parameter. |
1713888000 |
| EndDate |
integer |
The end of the time range used for the query. The value is a UNIX timestamp. Unit: seconds. This value is the same as the `EndDate` request parameter. |
1713888600 |
| Units |
string |
Satuan dari data statistik yang dikembalikan. |
requests |
| SecurityEventLogsTotalCount |
integer |
Jumlah total log serangan yang ditemukan. |
1000 |
Deskripsi field log
| Nama field | Deskripsi | Contoh nilai |
| dst_port | Port tujuan yang diminta. | 443 |
| host | Field Host dalam header permintaan klien. Nilai ini menunjukkan nama domain atau alamat IP yang diakses. | api.example.com |
| matched_host | Objek yang dilindungi WAF (instance produk cloud atau nama domain) yang cocok dengan permintaan klien. | .aliyun**.com |
| plugin_matched_detail_waf_group | Detail dari aturan perlindungan dasar yang cocok dengan permintaan, termasuk pola URI yang cocok dan URI permintaan mentah. | |
| plugin_matched_block_rule_detail | Detail dari aturan perlindungan dalam mode block yang cocok dengan permintaan, termasuk ID aturan, tindakan, dan modul perlindungan. | |
| plugin_matched_test_rule_detail | Detail dari aturan perlindungan dalam mode monitor yang cocok dengan permintaan, termasuk ID aturan, tindakan, dan modul perlindungan. | |
| querystring | Query string dari permintaan klien, yaitu bagian URL setelah tanda tanya (?). | title=tm_content%3Darticle&pid=123 |
| remote_region_id | ID provinsi tempat alamat IP berasal. | 410000 |
| remote_country_id | ID negara tempat alamat IP sumber berasal. | CN |
| remote_isp_id | ID penyedia layanan internet (ISP) tempat alamat IP sumber berasal. | 100098 |
| request_method | Metode permintaan klien. | GET |
| request_traceid | ID unik yang dihasilkan WAF untuk permintaan klien. | 7837b11715410386943437009***** |
| real_client_ip | Alamat IP klien yang sebenarnya, sebagaimana ditentukan WAF dari header permintaan. | 192.0.XX.XX |
| request_path | Path permintaan, yaitu bagian URL setelah nama domain dan sebelum tanda tanya (?). Nilai ini tidak termasuk query string. | /news/search.php |
| server_protocol | Protokol antara klien dan WAF. | HTTP/1.1 |
| timestamp | Waktu permintaan diproses oleh mesin DPI. Nilainya berupa UNIX timestamp. Satuan: detik. | 1742197109 |
Contoh respons
{
"SecurityEventLogsTotalCount": 1,
"SecurityEventLogs": [
{
"remote_region_id": "110000",
"plugin_matched_detail_waf_group": "{\"uri\":{\"hit\":[\"/.git/\"],\"raw\":\"/.git/\"}}",
"plugin_matched_block_rule_detail": "[{\"RuleId\":\"12***5\",\"Action\":\"block\",\"DefenseScene\":\"waf_base\",\"RuleType\":\"other\"}]",
"querystring": "-",
"matched_host": "i-8vbaazr2tboqsq******-443-ecs",
"remote_country_id": "CN",
"remote_isp_id": "100098",
"request_method": "GET",
"plugin_matched_test_rule_detail": "[]",
"request_traceid": "0b6261221742197109309484******",
"dst_port": "0",
"host": "39.99.***.109",
"real_client_ip": "47.92.***.14",
"request_path": "/.git/HEAD",
"server_protocol": "HTTP/1.1",
"timestamp": "1742197109"
}
],
"SecurityEventMetaData": {
"DateRange": {
"StartDate": 1742196600,
"EndDate": 1742197500
}
}
}
Contoh
Respons sukses
JSONformat
{
"RequestId": "D827FCFE-90A7-4330-9326-******4C7726\n",
"SecurityEventLogs": [
"{\n\t\"remote_region_id\": \"11***0\",\n\t\"plugin_matched_detail_waf_group\": \"****\",\n\t\"plugin_matched_block_rule_detail\": \"****\",\n\t\"querystring\": \"-\",\n\t\"matched_host\": \"i-8vbaazr2tboqsq******-443-ecs\",\n\t\"remote_country_id\": \"CN\",\n\t\"remote_isp_id\": \"100**8\",\n\t\"request_method\": \"GET\",\n\t\"plugin_matched_test_rule_detail\": \"[]\",\n\t\"request_traceid\": \"0b6261221742197109309484******\",\n\t\"dst_port\": \"0\",\n\t\"host\": \"39.99.***.109\",\n\t\"real_client_ip\": \"47.92.***.14\",\n\t\"request_path\": \"/.git/HEAD\",\n\t\"server_protocol\": \"HTTP/1.1\",\n\t\"timestamp\": \"1742197109\"\n}"
],
"SecurityEventMetaData": {
"DateRange": {
"StartDate": 1713888000,
"EndDate": 1713888600
},
"Units": "requests"
},
"SecurityEventLogsTotalCount": 1000
}
Kode kesalahan
|
HTTP status code |
Error code |
Error message |
Description |
|---|---|---|---|
| 400 | Waf.Report.%s | Invalid parameter:%s. | |
| 400 | Waf.Report.InternalError | Server error occurred in report service. |
Lihat Error Codes untuk daftar lengkap.
Catatan rilis
Lihat Release Notes untuk daftar lengkap.