All Products
Search
Document Center

Web Application Firewall:Konfigurasi kebijakan keamanan API

Last Updated:Apr 01, 2026

API Security memungkinkan Anda mengonfigurasi kebijakan bawaan dan kustom di sembilan area: deteksi risiko, event keamanan, data sensitif, kredensial autentikasi, tujuan bisnis, daftar izin (allowlist), manajemen siklus hidup, langganan log, dan objek efektif. Kebijakan ini meningkatkan akurasi deteksi, mengurangi false positive, serta membantu Anda merespons ancaman terhadap aset API Anda.

Konsep utama

KonsepDeskripsi
RiskKerentanan pada API yang disebabkan oleh cacat dalam pengembangan, manajemen, atau konfigurasi. Risiko tidak berarti serangan telah terjadi.
Security eventPemanggilan abnormal atau serangan terhadap API, seperti serangan brute-force pada API login atau serangan pembanjiran pesan pada API SMS.

1. Konfigurasi deteksi risiko

Kebijakan deteksi risiko bawaan mencakup kategori kerentanan umum. Untuk setiap kebijakan bawaan, Anda dapat mengaktifkan atau menonaktifkannya serta mengatur tingkat risikonya menjadi Low, Medium, atau High.

Selain kebijakan bawaan, Anda dapat membuat hingga 20 kebijakan deteksi risiko kustom.

Buat kebijakan deteksi risiko kustom

  1. Pada halaman API Security, buka Policy Configurations > Risk Detection Configurations.

  2. Pada bagian Custom Policy di sebelah kiri, klik New.

  3. Pada panel yang muncul, konfigurasikan parameter berikut.

    ParameterDeskripsi
    Risk statusAtur status kebijakan. Nilai default-nya adalah On.
    Risk nameTentukan nama untuk risiko kustom. Nama dapat berisi karakter Tionghoa, huruf besar dan kecil, angka, titik (.), garis bawah (_), dan tanda hubung (-).
    SuggestionsTentukan tindakan yang direkomendasikan untuk kebijakan risiko kustom sesuai kebutuhan bisnis Anda.
    Risk levelAtur tingkat risiko. Nilai yang valid: Low, Medium, dan High.
    Check configurationsAtur kondisi deteksi. Anda dapat menambahkan hingga 10 kondisi.
  4. Klik OK.

Konten pencocokan untuk Risk Detection Configurations bersifat case-sensitive. Anda dapat memasukkan hingga 50 nilai per bidang. Tekan Enter setelah setiap nilai.

Referensi kondisi deteksi

Tabel berikut mencantumkan semua bidang pencocokan yang didukung beserta operator logikanya.

Match fieldSub-conditionLogical operatorsMatch content
Domain NameTidak didukungIs one of / Contains no value / Is one of (exact match) / Is not one of (exact match)Masukkan hingga 50 nilai. Tekan Enter setelah setiap nilai.
APITidak didukungIs one of / Is not one of / Is one of (exact match) / Is not one of (exact match)Masukkan hingga 50 nilai. Tekan Enter setelah setiap nilai.
Request MethodTidak didukungIs one of (exact match) / Is not one of (exact match)Pilih satu atau beberapa metode: GET, POST, DELETE, PUT.
User-AgentTidak didukungCan be one of / Contains no value / Is one of (exact match) / Is not one of (exact match)Masukkan hingga 50 nilai. Tekan Enter setelah setiap nilai.
RefererTidak didukungContains one or more values / Contains no value / Is one of (exact match) / Is not one of (exact match)Masukkan hingga 50 nilai. Tekan Enter setelah setiap nilai.
Communication ProtocolTidak didukungEqualsPilih HTTP atau HTTPS.
Request Content-TypeTidak didukungIs one of / Contains no valueMasukkan hingga 50 nilai. Tekan Enter setelah setiap nilai.
Request LengthTidak didukungEquals / Is less than / Is greater thanMasukkan bilangan bulat dari 0 hingga 8192.
Response Content-TypeTidak didukungIs one of / No valueMasukkan hingga 50 nilai. Tekan Enter setelah setiap nilai.
Response LengthTidak didukungEquals / Is less than / Is greater thanMasukkan bilangan bulat dari 0 hingga 8192.
HTTP Status CodeTidak didukungIs one of (exact match) / Is not one of (exact match)Masukkan hingga 50 nilai. Tekan Enter setelah setiap nilai.
Request HeaderCustom HeaderExists / Does not exist / Length is / Length is less than / Length is greater than / Is one of / Contains no value
Cookie ParameterCustom Cookie-ExactExists / Does not exist / Length is / Length is less than / Length is greater than / Is one of / Contains no value
GET ParameterCustom ParameterExists / Does not exist / Length is / Length is less than / Length is greater than / Is one of / Is not one of
POST ParameterCustom Post-ArgExists / Does not exist / Length is / Length is less than / Length is greater than / Contains one or more values / Is not one of
Response HeaderResponse HeaderExists / Does not exist / Length is / Length is less than / Length is greater than / Is one of / Contains no value
Response ParameterResponse ParameterExists / Does not exist / Length is / Length is less than / Length is greater than / Is one of / Contains no value
PurposeTidak didukungIs one of / Contains no valuePilih satu atau beberapa tujuan bisnis. Untuk jenis yang tersedia, lihat Cara API Security mengklasifikasikan tujuan bisnis API.
Service ObjectTidak didukungContains any of / Contains no valuePilih satu atau beberapa objek layanan. Untuk jenis yang tersedia, lihat Cara API Security mengklasifikasikan objek layanan API.
AuthenticationTidak didukungIsYES atau NO
Request Sensitive Data TypeTidak didukungContains any of / Contains no value / Number of types is greater thanPilih satu atau beberapa jenis data sensitif. Untuk kondisi "number of types is greater than", masukkan bilangan bulat dari 0 hingga 8192.
Sensitivity Level of Request Sensitive DataTidak didukungContains any of / Contains no valuePilih satu atau beberapa level dari S1 hingga S4.
Response Sensitive Data TypeTidak didukungContains any of / Is not one of / Number of types is greater thanPilih satu atau beberapa jenis data sensitif. Untuk kondisi "number of types is greater than", masukkan bilangan bulat dari 0 hingga 8192.
Sensitivity Level of Response Sensitive DataTidak didukungContains any of / Is not one ofPilih satu atau beberapa level dari S1 hingga S4.
Response Sensitive DataPilih satu atau beberapa jenis data sensitif respons.Count is greater thanMasukkan bilangan bulat dari 0 hingga 8192.
Source LocationTidak didukungEqualsCN / NOT-CN
IPTidak didukungBelongs to / Does not belong toMasukkan alamat IP atau Blok CIDR (misalnya, 1.1.X.X/24). Ekspresi reguler tidak didukung. Masukkan hingga 50 nilai, dipisahkan dengan koma atau Enter.
Account (security events only)Tidak didukungIs one of (exact match) / Is not one of (exact match)Masukkan hingga 50 nilai. Tekan Enter setelah setiap nilai.

2. Konfigurasi event keamanan

Kebijakan event keamanan bawaan mendeteksi serangan berdasarkan dimensi alamat IP dan akun. Ketika kebijakan bawaan memicu peringatan, serangan berikutnya dengan jenis yang sama akan memperbarui waktu serangan pada peringatan awal alih-alih membuat peringatan baru. Tingkat peringatan dapat berubah berdasarkan faktor seperti volume serangan.

Kebijakan bawaan bersifat read-only. Anda tidak dapat mengedit atau menghapusnya.

Selain kebijakan bawaan, Anda dapat membuat hingga 10 kebijakan event keamanan kustom.

Buat kebijakan event keamanan kustom

  1. Pada halaman API Security, buka Policy Configurations > Security Event Configurations.

  2. Pada bagian Custom Policy di sebelah kiri, klik New.

  3. Pada panel yang muncul, konfigurasikan parameter berikut.

    ParameterDeskripsi
    Event statusAtur status kebijakan. Nilai default-nya adalah On.
    Event nameTentukan nama untuk event kustom. Nama dapat berisi karakter Tionghoa, huruf besar dan kecil, angka, titik (.), garis bawah (_), dan tanda hubung (-).
    SuggestionsTentukan tindakan yang direkomendasikan sesuai kebutuhan bisnis Anda.
    Event levelAtur tingkat risiko. Nilai yang valid: Low, Medium, dan High.
    Match conditionAtur kondisi deteksi. Anda dapat menambahkan hingga 10 kondisi. Jika Anda menentukan beberapa kondisi, aturan hanya dipicu ketika semua kondisi terpenuhi.
    Rate limitingAtur Statistical Object menjadi IP atau Account. Atur Statistical Period dalam menit, maksimal 15 menit. Atur Requests menjadi bilangan bulat positif.
    Data statisticsAtur kondisi statistik. Anda dapat menambahkan hingga 10 kondisi.
  4. Klik OK.

Konten pencocokan untuk Security Event Configurations bersifat case-sensitive. Anda dapat memasukkan hingga 50 nilai per bidang. Tekan Enter setelah setiap nilai.

Untuk bidang dan operator kondisi pencocokan, lihat referensi kondisi deteksi di bagian deteksi risiko.

Referensi kondisi statistik data

Match fieldSub-conditionLogical operatorsMatch content
Status Code StatisticsKode status (bilangan bulat dari 100 hingga 600)Value greater thanMasukkan bilangan bulat dari 0 hingga 8192.
Request HeaderCustom HeaderDistinct less than / Distinct equals / Distinct greater thanMasukkan bilangan bulat dari 0 hingga 8192.
Cookie ParameterCustom Cookie-ExactDistinct less than / Distinct equals / Distinct greater thanMasukkan bilangan bulat dari 0 hingga 8192.
GET ParameterCustom ParameterDistinct less than / Distinct equals / Distinct greater thanMasukkan bilangan bulat dari 0 hingga 8192.
POST ParameterCustom Post-ArgDistinct less than / Distinct equals / Distinct greater thanMasukkan bilangan bulat dari 0 hingga 8192.
Response Sensitive Data TypePilih satu atau beberapa jenis data sensitif respons.Distinct less than / Distinct equals / Distinct greater thanMasukkan bilangan bulat dari 0 hingga 8192.
Sensitivity Level of Response Sensitive DataPilih satu atau beberapa level data sensitif respons.Distinct greater thanMasukkan bilangan bulat dari 0 hingga 8192.
Source IP CountAtur nilai untuk statistik jumlah IP sumber.Value greater thanMasukkan bilangan bulat dari 0 hingga 8192.

3. Konfigurasi data sensitif

Pada tab Sensitive Data-related Configurations halaman Policy Configurations, Anda dapat mencari, memfilter, dan melihat kebijakan data sensitif.

Penyembunyian data

Sakelar De-identification Display mengontrol apakah data sensitif disembunyikan di Konsol. Secara default, sakelar ini dinonaktifkan.

Jika diaktifkan, data berikut akan disembunyikan:

  • Di Risk Details dan API Details: data sensitif di semua bidang sampel request dan response diganti dengan placeholder seperti {{Phone}}.

  • Di Event Details: sampel data request dan response yang berisi data sensitif disembunyikan sebagai {}.

  • Di informasi sampel: Request Cookie disembunyikan sebagai {{Cookie}}, Request Header yang berisi token disembunyikan sebagai {{XXXToken}}, dan Response Set-Cookie disembunyikan sebagai {{SetCookie}}.

Penyembunyian diterapkan sebagai berikut:

  • Risk Details dan API Details: hanya berlaku untuk sampel data request dan response baru.

  • Event Details: berlaku untuk sampel data request dan response baru maupun yang sudah ada.

Kebijakan bawaan

Kebijakan data sensitif bawaan bersifat read-only. Anda dapat mengaktifkan atau menonaktifkannya, tetapi tidak dapat mengedit atau menghapusnya.

Buat kebijakan data sensitif kustom

Jika bisnis Anda menggunakan jenis data sensitif kustom, buat aturan deteksi kustom. Anda dapat membuat hingga 20 kebijakan kustom.

  1. Pada halaman API Security, buka Policy Configuration > Sensitive Data-related Configurations.

  2. Klik Create Policy.

  3. Pada panel yang muncul, konfigurasikan parameter berikut. Anda dapat menggunakan mode Basic atau Expert.

    ParameterDeskripsi
    NameTentukan nama untuk aturan. Nama dapat berisi karakter Tionghoa, huruf besar dan kecil, angka, titik (.), garis bawah (_), dan tanda hubung (-).
    ModeBasic: Menyediakan antarmuka sederhana. Atur Characters (satu atau beberapa jenis karakter: angka, huruf besar, huruf kecil) dan Length (rentang: 6–64, nilai awal dan akhir bilangan bulat). Expert: Mendukung ekspresi reguler. Masukkan ekspresi reguler untuk deteksi. Untuk menghindari false positive, pastikan ekspresi tersebut mencocokkan minimal 6 karakter.
    Sensitivity levelAtur tingkat sensitivitas. Nilai yang valid: S1, S2, S3, dan S4. Untuk detailnya, lihat Jenis data sensitif apa saja yang dapat dideteksi API Security.
  4. Klik OK.

4. Konfigurasi kredensial autentikasi

Jika API Anda menggunakan bidang non-standar atau bidang dengan pola penamaan lemah (seperti nama yang seluruhnya numerik) untuk autentikasi, deteksi kredensial bawaan mungkin melewatkannya. Buat kebijakan kredensial autentikasi kustom untuk menentukan nama parameter yang membawa kredensial. Hal ini meningkatkan akurasi deteksi risiko tanpa autentikasi.

Buat kebijakan kredensial autentikasi kustom

  1. Pada halaman API Security, buka Policy Configuration > Authentication Credential Configurations.

  2. Klik Create Policy.

  3. Konfigurasikan parameter berikut, lalu klik OK.

    ParameterDeskripsi
    NameTentukan nama untuk kebijakan. Nama dapat berisi karakter Tionghoa, huruf besar dan kecil, angka, titik (.), garis bawah (_), dan tanda hubung (-).
    Match conditionSetiap kondisi terdiri dari Match Field, Logical Operator, dan Match Content. Tambahkan hingga 10 kondisi, termasuk minimal satu untuk Request Header, Request Cookie, Request Query, atau Request Body. Jika Anda menentukan beberapa kondisi, aturan hanya dipicu ketika semua kondisi terpenuhi.
Konten pencocokan untuk Authentication Credential Configurations bersifat case-sensitive. Anda dapat memasukkan hingga 50 nilai per bidang. Tekan Enter setelah setiap nilai.

Referensi kondisi pencocokan

Match fieldSub-conditionLogical operators
Domain NameTidak didukungContains one of multiple values / Does not contain any value / Equals one of multiple values / Does not equal any value
APITidak didukungContains one of multiple values / Does not contain any value / Equals one of multiple values / Does not equal any value
Request HeaderCustom HeaderExists / Length equal to / Length less than / Length greater than
Request CookieCustom Cookie-ExactExists / Length equal to / Length less than / Length greater than
Request QueryCustom ParameterExists / Length equal to / Length less than / Length greater than
Request BodyCustom Post-ArgExists / Length equal to / Length less than / Length greater than

5. Konfigurasi tujuan bisnis

Kebijakan tujuan bisnis mengklasifikasikan API berdasarkan fungsinya—misalnya, login, registrasi, pengiriman SMS, atau unduh file. Klasifikasi yang akurat meningkatkan deteksi dalam skenario spesifik bisnis.

API Security menyediakan dua jenis kebijakan tujuan bisnis:

  • Kebijakan bawaan: Mencakup skenario umum seperti pembaruan data, berbagi data, pengiriman pesan teks, dan pengiriman informasi. Anda dapat mengaktifkan atau menonaktifkan kebijakan bawaan, tetapi tidak dapat memodifikasi atau menghapusnya.

  • Kebijakan kustom: Memungkinkan Anda menentukan pola URL dan nama parameter kustom untuk skenario yang tidak dicakup kebijakan bawaan.

Buat kebijakan tujuan bisnis kustom

  1. Pada halaman API Security, buka Policy Configuration > Business Purpose.

  2. Klik tab Custom Policy, lalu klik Create Policy.

  3. Konfigurasikan kondisi pencocokan, lalu klik OK.

Konten pencocokan untuk Business Purpose bersifat case-sensitive. Anda dapat memasukkan hingga 50 nilai per bidang. Tekan Enter setelah setiap nilai.

Referensi kondisi pencocokan

Match fieldLogical operatorsMatch content
Domain NameContains one of multiple values / Does not contain any value / Equals one of multiple values / Does not equal any valueMasukkan hingga 50 nilai. Tekan Enter setelah setiap nilai.
APIContains one of multiple values / Does not contain any value / Equals one of multiple values / Does not equal any valueMasukkan hingga 50 nilai. Tekan Enter setelah setiap nilai.
Request Header Parameter NameContains one of multiple values / Equals one of multiple valuesMasukkan hingga 50 nilai. Tekan Enter setelah setiap nilai.
Request Cookie Parameter NameContains one of multiple values / Equals one of multiple valuesMasukkan hingga 50 nilai. Tekan Enter setelah setiap nilai.
Request Query Parameter NameContains one of multiple values / Equals one of multiple valuesMasukkan hingga 50 nilai. Tekan Enter setelah setiap nilai.
Request Body Parameter NameContains one of multiple values / Equals one of multiple valuesMasukkan hingga 50 nilai. Tekan Enter setelah setiap nilai.
Request Sensitive Data TypeEquals one of multiple values / Does not equal any valuePilih satu atau beberapa jenis data sensitif request.
Response Sensitive Data TypeEquals one of multiple values / Does not equal any valuePilih satu atau beberapa jenis data sensitif response.
Response Parameter NameContains one of multiple values / Equals one of multiple valuesMasukkan hingga 50 nilai. Tekan Enter setelah setiap nilai.

6. Konfigurasi daftar izin (allowlist)

Daftar izin memungkinkan Anda menekan peringatan dari sumber yang diketahui aman—misalnya, traffic dari alamat IP egress jaringan kantor Anda. Anda dapat membuat daftar izin secara terpisah untuk deteksi risiko dan event keamanan.

Buat kebijakan daftar izin

  1. Pada halaman API Security, buka Policy Configuration > Configure Whitelist.

  2. Klik Create Policy, masukkan nama, dan pilih jenis fitur: Risk Detection atau Security Events.

  3. Atur kondisi pencocokan berdasarkan jenis fitur, lalu pilih jenis risiko atau event yang akan diabaikan, dan klik OK.

Anda dapat menambahkan hingga 10 kondisi pencocokan. Kondisi pencocokan untuk Configure Whitelist bersifat case-sensitive. Anda dapat memilih beberapa jenis bawaan dan kustom untuk diabaikan.

Kondisi pencocokan daftar izin deteksi risiko

Match fieldLogical operatorsMatch content
Domain NameContains one of multiple values / Does not contain any value / Equals one of multiple values / Does not equal any valueMasukkan hingga 50 nilai. Tekan Enter setelah setiap nilai.
APIContains one of multiple values / Does not contain any value / Equals one of multiple values / Does not equal any valueMasukkan hingga 50 nilai. Tekan Enter setelah setiap nilai.

Kondisi pencocokan daftar izin event keamanan

Match fieldLogical operatorsMatch content
Domain NameContains one of multiple values / Does not contain any value / Equals one of multiple values / Does not equal any valueMasukkan hingga 50 nilai. Tekan Enter setelah setiap nilai.
APIContains one of multiple values / Does not contain any value / Equals one of multiple values / Does not equal any valueMasukkan hingga 50 nilai. Tekan Enter setelah setiap nilai.
IPBelongs to / Does not belong toMasukkan alamat IP atau Blok CIDR (misalnya, 1.1.X.X/24). Ekspresi reguler tidak didukung. Masukkan hingga 50 nilai, dipisahkan dengan koma atau Enter.
AccountContains one of multiple values / Does not contain any value / Equals one of multiple values / Does not equal any valueMasukkan hingga 50 nilai. Tekan Enter setelah setiap nilai.

7. Manajemen siklus hidup

Manajemen siklus hidup API memungkinkan Anda menentukan apa yang dianggap sebagai API tidak aktif, sehingga Anda dapat mengidentifikasi dan bertindak terhadap API yang tidak lagi digunakan secara aktif. API yang tidak aktif dapat dieksploitasi jika dibiarkan tanpa penanganan.

Konfigurasi kriteria API tidak aktif

  1. Pada halaman API Security, buka Policy Configuration > Lifecycle Management.

  2. Atur kriteria untuk API tidak aktif, lalu klik OK.

    • Built-in model: API dianggap tidak aktif jika belum diakses atau volumenya turun signifikan selama 8 hari terakhir.

    • Custom: Atur ambang batas volume akses harian dan durasi (maksimal 31 hari). API dianggap tidak aktif jika jumlah akses harian tetap di bawah nilai yang ditentukan selama seluruh durasi tersebut.

Penting

Jika Last Active Time suatu aset melebihi 30 hari, sistem secara otomatis menghapus aset tersebut beserta data risiko dan catatan event keamanan terkaitnya.

8. Langganan log

Langganan log mengirimkan log API Security ke penyimpanan log di Simple Log Service (SLS), tempat Anda dapat mengelola, mengkueri, dan menganalisisnya secara terpusat.

Tersedia tiga jenis log: informasi aset, informasi risiko, dan informasi event serangan.

Instans WAF di Tiongkok daratan hanya dapat mengirimkan log ke Logstore SLS di Tiongkok daratan. Instans WAF di luar Tiongkok daratan hanya dapat mengirimkan log ke Logstore SLS di luar Tiongkok daratan. Pengiriman log lintas wilayah antara Tiongkok daratan dan wilayah lain tidak didukung.

Prasyarat

Sebelum memulai, pastikan Anda telah:

  • Mengaktifkan peran terkait layanan untuk WAF (lewati langkah ini jika Anda sudah memberikan otorisasi ini saat mengaktifkan Simple Log Service untuk WAF). Untuk detailnya, lihat Peran Terkait Layanan.

  • Membuat Project dan Logstore di Konsol Simple Log Service untuk menerima log.

Fitur langganan log tidak mendukung Logstore yang dibuat secara otomatis oleh SLS atau Logstore dengan nama waf-logstore, wafng-logstore, atau wafnew-logstore.

Konfigurasi tugas langganan log

  1. Pada halaman API Security, buka Policy Configuration > Log Subscription.

  2. Pilih jenis log, lalu klik Configure.

  3. Pilih Region, Project name, dan Logstore name, lalu klik OK. Setelah dikonfigurasi, log dikirimkan ke Logstore ketika kondisi pemicu terpenuhi. Untuk mengkueri dan menganalisis log di SLS, aktifkan pengindeksan seperti yang diminta. Untuk detailnya, lihat Buat indeks.

  4. Untuk menonaktifkan tugas langganan log dan menghindari biaya Logstore berkelanjutan, nonaktifkan tugas tersebut pada tab Log Subscription dan hapus Logstore terkait. Untuk detailnya, lihat Bagaimana cara menonaktifkan Simple Log Service atau menghentikan penagihan?.

Penting

Kondisi pemicu log dan bidangnya

Log informasi aset

Kondisi pemicu:

  • Dikirimkan segera ketika aset API baru ditambahkan.

  • Jika tidak ada aset API baru yang ditambahkan, dikirimkan setiap jam secara default.

Bidang:

Nama bidangDeskripsiFormatContoh
user_idUID pelangganstring123456
service_hostNama domainstringapi.aliyun.com
api_formatPath APIstring/api/v1/getuserbyid/${param}
request_methodMetode requeststringGET
api_tagTujuan bisnisobject []['QueryInfo']
api_typeObjek layananobject []['PublicAPI']
auth_keyBidang autentikasiobject []['id_token', 'access_token']
api_statusSiklus hidupstringNewbornInterface
api_sensitive_levelTingkat sensitivitas APIstringL1
api_sensitive_reqJenis data sensitif requestobject []['1014', '1017', '1002']
api_sensitive_resJenis data sensitif responseobject []['1009', '1013', '1003', '1014', '1002']
farthest_tsWaktu pertama kali ditemukanlong1713237135
lastest_tsWaktu aktif terakhirlong1716452318
abnormal_numJumlah risikointeger1
event_numJumlah eventinteger2
struct_baselineStruktur parameterobject['{"key":"Trace-Id","location":"request_header","format":"string","required":"true"}', ...]
matched_hostsObjek yang dilindungiobject []['*.aliyun.com-waf']
hostsNama domainobject []['api.aliyun.com']
server_portPortobject []['443']
server_locationNegara server originobject []['CN']
api_idID API unikstringaf418cb31036015fddea71b48d06aa4b
log_typeJenis logstringasset
request_headerRequest HeaderJSON{"Connection":"Keep-Alive","Host":"api.aliyun.com","eagleeye-rpcid":"0.1"}
querystringParameter URL Permintaanstring?token=7464f593205896e23b1286ba7532dcff
request_bodyRequest Bodystringxxx=1
response_headerResponse HeaderJSON{"Accept-Ranges":["bytes","bytes"],"Cache-Control":"private, max-age=21600, no-transform"}
response_bodyResponse Bodystringxxxx
example_timestampTimestamp sampellong1718546694
example_traceidID jejak sampelstring784e2ca717213678365778292e58de

Log informasi risiko

Kondisi pemicu: Dikirimkan ketika informasi risiko baru terdeteksi.

Bidang:

Nama bidangDeskripsiFormatContoh
user_idUID pelangganstring123456
service_hostNama domainstringapi.aliyun.com
api_formatAPI pathstring/api/v1/login
request_methodMetode requeststringPOST
api_tagTujuan bisnisobject []['LoginAPI']
abnormal_tagNama risikostringRisk_DefaultPasswd
abnormal_typeJenis risiko (Kustom/Bawaan)stringdefault
abnormal_levelTingkat risikostringmedium
abnormal_discover_tsWaktu penemuan risikolong1716343432
abnormal_infoInformasi risikoobject{'default_passwd':'aliyun123'}
api_idID API unikstring2c0f97e10b586208039e60671150bd9b
abnormal_idID risiko unikstring8cfccc0e8c3d41aa1221e94a2fdeffe3
log_typeJenis logstringrisk
matched_hostsObjek yang dilindungiobject []['*.aliyun.com-waf']
request_headerRequest HeaderJSON{"Connection":"Keep-Alive","Host":"api.aliyun.com","eagleeye-rpcid":"0.1"}
querystringParameter URL requeststring?token=7464f593205896e23b1286ba7532dcff
request_bodyRequest Bodystringxxx=1
response_headerResponse HeaderJSON{"Accept-Ranges":["bytes","bytes"],"Cache-Control":"private, max-age=21600, no-transform"}
response_bodyResponse Bodystringxxxx
example_timestampTimestamp sampellong1718546694
example_traceidID jejak sampelstring784e2ca717213678365778****58de

Log informasi event serangan

Kondisi pemicu:

  • Dikirimkan segera ketika event serangan baru terdeteksi.

  • Jika serangan berlanjut, log dikirimkan setiap 10 menit.

Bidang:

Nama bidangDeskripsiFormatContoh
user_idUID pelangganstring123456
service_hostNama domainstringapi.aliyun.com
matched_hostObjek yang dilindungistringapi.aliyun.com-waf
hostNama domainstringapi.aliyun.com
api_formatPath APIstring/api/admin/login
request_methodMetode requeststringPOST
api_tagTujuan bisnisobject []['AdminService', 'LoginService']
event_tagNama eventstringEvent_LoginCollision
event_originJenis event (Kustom/Bawaan)stringdefault
event_levelTingkat eventstringhigh
start_tsWaktu mulai seranganlong1713886210
end_tsWaktu akhir seranganlong1713887817
attack_cntTotal seranganinteger147
attack_ip_infoInformasi IP penyerangobject [][{'ip':'103.44.XX.XXX', 'country_id':'HK', 'region_id':'-', 'cnt':'147'}]
api_idID API unikstring4dfc73b37d2d645fe2ca7f45c08f7398
event_idID eventstringf09f6802e9b57a58ebb9f1bea212027e
log_typeJenis logstringevent
request_dataSampel data requestJSON{'1002':['John Doe','Jane Smith','Chen Liu'],'1004':['13200000001','15200000002']}
response_dataSampel data responseJSON{'postarg.userId':['lisi111','zhangsan123'],'postarg.corpId':['wx1111111'],'postarg.externalUserid':['wm7_KpDgOm6Bm-BGA']}

Referensi nilai bidang log

Gunakan referensi ini saat menganalisis log atau menghubungkan nilai bidang dengan tampilan di Konsol WAF.

Siklus hidup (api_status)

Gunakan api_status untuk memfilter API tidak aktif dalam aturan peringatan SLS.

Nilai bidangDeskripsi
NewbornInterfaceBaru
OfflineInterfaceTidak aktif
normalNormal

Objek layanan (api_type)

Nilai bidangDeskripsi
PublicAPILayanan publik
ThirdpartAPIKerja sama pihak ketiga
InternalAPIKantor internal

Tujuan bisnis (api_tag)

Gunakan api_tag untuk memfilter kategori API tertentu dalam kueri dan aturan peringatan SLS.

Nilai bidangDeskripsi
LoginByUserPasswdLogin dengan username dan password
LoginByPhoneCodeLogin dengan kode verifikasi telepon
LoginByMailCodeLogin dengan kode verifikasi email
WeChatLoginLogin dengan WeChat
AliPayLoginLogin dengan Alipay
OAuthLoginAutentikasi OAuth
OIDCLoginAutentikasi OIDC
SAMLLoginAutentikasi SAML
SSOLoginAutentikasi SSO
LoginAPILayanan logon
LogoutAPILog off
RegisterByUserPasswdRegistrasi dengan username dan password
RegisterByPhoneCodeRegistrasi dengan kode verifikasi telepon
RegisterByMailCodeRegistrasi dengan kode verifikasi email
WeChatRegisterRegistrasi dengan WeChat
AliPayRegisterRegistrasi dengan Alipay
RegisterAPILayanan registrasi
SendSMSKirim pesan teks
SendMailKirim email
ResetPasswdReset password
CheckVerifyCodeVerifikasi kode verifikasi
CheckStatusPeriksa status
QueryOrderKueri pesanan
ExportOrderEkspor pesanan
UpdateOrderPerbarui pesanan
PayOrderBayar pesanan
QueryLogKueri log
UploadLogUnggah log
DownloadLogEkspor log
LogServiceLayanan log
GraphQLGraphQL
SqlServiceLayanan SQL
FileUploadUnggah file
FileDownloadUnduh file
FileServiceLayanan file
AdminServiceManajemen backend
DashBoardDashboard
MonitorServiceLayanan pemantauan
SendInfoKirim informasi
CheckInfoPeriksa data
QueryInfoKueri data
UploadInfoUnggah data
DownloadInfoUnduh data
AddInfoTambah data
EditInfoEdit data
UpdateInfoPerbarui data
ShareInfoBagikan data
DeleteInfoHapus data
SyncInfoSinkronkan data
SubmitInfoKirim data
CopyInfoSalin data
AuditInfoAudit data
SaveInfoSimpan data
CancelOpBatalkan
StartOpMulai
BatchOpPemrosesan batch
PauseOpJeda
BindOpIkat
DebugOpDebug
SetOpPengaturan
ShutDownMatikan

Jenis data sensitif request/response (api_sensitive_req, api_sensitive_res)

Gunakan kode ini untuk mengidentifikasi jenis data sensitif yang terdeteksi dalam muatan request dan response.

Nilai bidangDeskripsi
1000KTP (Tiongkok daratan)
1001Kartu debit
1002Nama (Bahasa Tionghoa Sederhana)
1003Alamat (Tiongkok daratan)
1004Nomor ponsel (Tiongkok daratan)
1005Kotak surat
1006Nomor paspor (Tiongkok daratan)
1007Izin Keluar-Masuk untuk Hong Kong dan Makau
1008Nomor plat kendaraan (Tiongkok daratan)
1009Nomor telepon (Tiongkok daratan)
1010Kartu identitas perwira
1011Jenis kelamin
1012Etnis
1013Provinsi (Tiongkok daratan)
1014Kota (Tiongkok daratan)
1015KTP (Hong Kong (Tiongkok))
1016Nama (Bahasa Tionghoa Tradisional)
1017Nama (Bahasa Inggris)
1018Kartu Identitas (Malaysia)
1019Kartu ID (Singapura)
1020Kartu kredit atau debit
1022Kode SWIFT
1023SSN
1024Nomor telepon (Amerika Serikat)
1025Keyakinan agama
2000Alamat IP
2001Alamat MAC
2002String koneksi Konektivitas Basis Data Java (JDBC)
2003Sertifikat PEM
2004Kunci privat
2005ID AccessKey
2006AccessKeySecret
2007Alamat IPv6
2009Tanggal
2010IMEI
2011Identifikasi Perangkat Seluler (MEID)
2013File passwd Linux
2014File shadow Linux
2015URL
4000Nomor izin usaha
4001Nomor registrasi pajak
4002Kode organisasi
4003Kode Kredit Sosial Terpadu
4004Nomor Identifikasi Kendaraan (VIN)

Jenis risiko (risk)

Gunakan abnormal_tag untuk memfilter jenis risiko tertentu dalam aturan peringatan SLS.

Nilai bidangDeskripsi
RiskType_SpecificationSpesifikasi keamanan
Risk_UnsafeHttpMethodMetode HTTP tidak aman
Risk_WeakSignAlgorithmAlgoritma tanda tangan JWT lemah
Risk_UrlParamParameter berupa URL
RiskType_AccountKeamanan akun
Risk_PasswdUnencryptPassword dikirimkan dalam teks biasa
Risk_WeakPasswdPassword lemah diizinkan
Risk_InternalWeakPasswdPassword lemah dalam aplikasi internal
Risk_DefaultPasswdPassword default ada
Risk_PasswdResponseMengembalikan password dalam teks biasa
Risk_PasswdCookiePassword disimpan dalam cookie
Risk_LoginRestrictAPI logon tidak memiliki batasan
Risk_LoginPromptPrompt kegagalan logon tidak wajar
Risk_PasswdUrlUsername dan password dikirimkan dalam URL
RiskType_ControlKontrol akses
Risk_InternalAPIAplikasi internal dapat diakses dari Internet
Risk_SourceRestrictAPI tidak membatasi sumber akses
Risk_ClientRestrictAPI tidak membatasi tool akses
Risk_SpeedRestrictAPI tidak membatasi laju akses
RiskType_PermissionManajemen izin
Risk_WeakTokenKredensial autentikasi lemah
Risk_UnauthSensitiveAPI sensitif tidak diautentikasi
Risk_UnauthInternalAPIAPI internal mengizinkan akses tanpa autentikasi
Risk_TokenUrlInformasi kredensial dikirimkan dalam URL
Risk_AkLeakKebocoran informasi AccessKey
RiskType_SensitiveProteksi data
Risk_SensitiveTypeExcessiveMengembalikan jenis data sensitif berlebihan
Risk_SensitiveNumExcessiveMengembalikan jumlah data sensitif berlebihan
Risk_InvalidDesensitizeData sensitif tidak disembunyikan secara efektif
Risk_ServerInfoLeakKebocoran informasi sensitif server
Risk_InternalIPLeakKebocoran alamat IP jaringan internal
Risk_SensitiveURLData sensitif dikirimkan dalam URL
RiskType_DesignDesain API
Risk_ParamTraverseParameter permintaan dapat ditelusuri
Risk_PageSizeVolume data yang dikembalikan dapat dimodifikasi
Risk_SqlAPIKueri database
Risk_RceAPIAPI eksekusi perintah
Risk_SmsContentPengiriman konten pesan teks arbitrer
Risk_MailContentPengiriman konten email arbitrer
Risk_SmsVerifyCodeLeakKebocoran kode verifikasi pesan teks
Risk_MailVerifyCodeLeakKebocoran kode verifikasi email
Risk_FileDownloadUnduh file tertentu
Risk_ExceptionLeakKebocoran informasi pengecualian aplikasi
Risk_ExceptionSqlKebocoran informasi pengecualian database

Jenis event (event)

Gunakan event_tag untuk mengidentifikasi jenis serangan dalam log event dan membuat aturan peringatan SLS untuk pola serangan tertentu.

Nilai bidangDeskripsi
Event_AbnormalFrequencyAkses frekuensi sangat tinggi secara abnormal
Event_ExceptionIPInvokeIP abnormal mengakses API internal
Event_ExceptionRegionInvokeWilayah abnormal mengakses API internal
Event_ExceptionClientInvokeAkses menggunakan tool abnormal
Event_ExceptionTimeInvokeAkses selama periode waktu abnormal
Event_AbnormalParamValueAkses dengan nilai parameter abnormal
Event_InternalLoginWeakPasswdLogon aplikasi internal dengan password lemah
Event_LoginAccountBruteForceBrute-force username
Event_LoginPasswdBruteForceBrute-force kata sandi logon
Event_LoginCollisionSerangan kamus
Event_MobileVerifyBruteForceBrute-force kode verifikasi pesan teks
Event_MailVerifyBruteForceBrute-force kode verifikasi email
Event_AbnormalRegisterRegistrasi batch
Event_SMSInterfaceAbuseKonsumsi sumber daya pesan teks secara jahat
Event_EmailInterfaceAbuseKonsumsi sumber daya email secara jahat
Event_AbnormalExportUnduh batch
Event_DataTraverseMenjelajahi dan meng-scraping data API
Event_WebAttackAPISerangan jahat terhadap API
Event_ObtainSensitiveUnauthorizedAkses tidak sah ke data sensitif
Event_ObtainSensitiveExcessiveMemperoleh data sensitif dalam jumlah besar
Event_CrossborderIPSensitiveExcessiveIP luar negeri memperoleh data sensitif dalam jumlah besar
Event_ExceptionResponseAPI mengembalikan pesan error abnormal
Event_ExceptionSqlAPI mengembalikan pesan error database
Event_SystemInfoResponseAPI mengembalikan informasi sensitif sistem
Event_AbnormalStatusStatus respons API abnormal

9. Konfigurasi objek efektif

Konfigurasi objek efektif mengontrol kebijakan deteksi mana yang berlaku untuk objek yang dilindungi mana.

Subscription WAF

API Security menyediakan tiga sakelar di tingkat objek yang dilindungi atau grup objek yang dilindungi:

  • Basic Detection: Diaktifkan secara default. Mengontrol apakah semua kebijakan deteksi bawaan dan kustom aktif.

  • Compliance Check: Dinonaktifkan secara default. Hanya dapat diaktifkan setelah Basic Detection aktif. Mengontrol apakah fitur Compliance Check aktif.

  • Tracing and Auditing: Dinonaktifkan secara default. Hanya dapat diaktifkan setelah Basic Detection aktif. Mengontrol apakah fitur Tracing and Auditing aktif.

Pay-as-you-go WAF

API Security menyediakan satu sakelar di tingkat objek yang dilindungi atau grup objek yang dilindungi:

  • Basic Detection: Mengontrol apakah semua kebijakan deteksi bawaan dan kustom aktif. Untuk menonaktifkan API Security sepenuhnya, matikan Basic Detection untuk semua objek yang dilindungi dan grup objek yang dilindungi.