Cloudflare
Dokumen ini menjelaskan cara mengintegrasikan Cloudflare dengan Google Security Operations.
Kasus Penggunaan Produk
Melakukan pengayaan entity
Mengonfigurasi integrasi Cloudflare di Google Security Operations
Untuk mendapatkan petunjuk mendetail tentang cara mengonfigurasi integrasi di Google SecOps, lihat Mengonfigurasi integrasi.
Parameter integrasi
Gunakan parameter berikut untuk mengonfigurasi integrasi:
| Nama Tampilan Parameter | Jenis | Nilai Default | Wajib | Deskripsi |
|---|---|---|---|---|
| Root API | String | https://api.cloudflare.com |
Ya | Root API instance Cloudflare. |
| Token API | Sandi | T/A | Ya | Token API instance Cloudflare. |
| Nama Akun | String | T/A | Ya | Nama akun yang perlu digunakan dalam integrasi. |
| Verifikasi SSL | Kotak centang | Dicentang | Tidak | Jika diaktifkan, akan memverifikasi bahwa sertifikat SSL untuk koneksi ke server Cloudflare valid. |
Cara mengonfigurasi token
- Buka Setelan Profil, lalu klik Token API.
- Buka Create Token > Create Custom Token dan pilih izin berikut:
| Akun | WAF Akun | Baca |
| Akun | Kebijakan Aturan | Baca |
| Akun | Daftar Filter Akun | Edit |
| Akun | Akses Firewall Akun | Edit |
| Akun | DNS Firewall | Baca |
| Akun | Setelan Akun | Baca |
| Zona | WAF Zona | Edit |
| Zona | Setelan Zona | Baca |
| Zona | Zona | Baca |
| Zona | Log | Baca |
| Zona | Layanan Firewall | Edit |
| Zona | Layanan Firewall | Baca |
| Zona | Analytics | Baca |

Tindakan
Menambahkan IP ke Daftar Aturan
Deskripsi
Tambahkan alamat IP ke daftar aturan di Cloudflare. Entitas yang Didukung: Alamat IP.
Parameter
| Nama Tampilan Parameter | Jenis | Nilai Default | Wajib | Deskripsi |
|---|---|---|---|---|
| Nama Aturan | String | T/A | Ya | Tentukan nama daftar aturan yang ingin Anda tambahi item daftar aturan. |
| Deskripsi | String | T/A | Tidak | Tentukan deskripsi untuk item daftar aturan yang baru ditambahkan. |
Dijalankan pada
Tindakan ini dijalankan pada entity Alamat IP.
Hasil Tindakan
Hasil Skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| is_success | Benar/Salah | is_success:False |
Hasil JSON
{
"result": {
"operation_id": "f16b978552ca49f88b36fe628de31142"
},
"success": true,
"errors": [],
"messages": []
}
Repositori Kasus
| Jenis hasil | Nilai / Deskripsi | Jenis |
|---|---|---|
| Pesan output* | Tindakan tidak boleh gagal atau menghentikan eksekusi playbook: Jika kode status 200 dilaporkan untuk satu entitas (is_success=true): "Successfully added the following entities to the {name} rule list in Cloudflare: {entity.identifier}." Jika tidak berhasil untuk satu entitas (is_success=true): "Action wasn't able to add the following entities to the {name} rule list in Cloudflare: {entity.identifier}." Jika tidak berhasil untuk semua (is_success=false): "None of the provided entities were added to the {name} rule list." Tindakan akan gagal dan menghentikan eksekusi playbook: Jika error fatal, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya dilaporkan: "Error executing action "Add IP To Rule List". Reason: {0}''.format(error.Stacktrace) Jika daftar tidak ditemukan: "Error executing action "Add IP To Rule List". Alasan: daftar aturan {name} tidak ditemukan di Cloudflare.'' Jika daftar bukan jenis yang valid: "Error executing action "Add IP To Rule List". Alasan: daftar aturan {name} bukan berjenis "IP"." |
Umum |
Menambahkan URL Ke Daftar Aturan
Deskripsi
Tambahkan URL ke daftar aturan di Cloudflare. Entitas yang Didukung: URL.
Parameter
| Nama Tampilan Parameter | Jenis | Nilai Default | Wajib | Deskripsi |
|---|---|---|---|---|
| Nama Aturan | String | T/A | Ya | Tentukan nama daftar aturan yang ingin Anda tambahi item daftar aturan. |
| URL Sumber | String | T/A | Ya | Tentukan URL sumber untuk item daftar aturan. |
| Deskripsi | String | T/A | Tidak | Tentukan deskripsi untuk item daftar aturan yang baru ditambahkan. |
| Kode Status | DDL | 301 Nilai yang Mungkin:
|
Tidak | Tentukan status untuk item daftar aturan. |
| Mempertahankan String Kueri | Kotak centang | Tidak dicentang | Tidak | Jika diaktifkan, item daftar aturan akan mempertahankan string kueri. |
| Sertakan Subdomain | Kotak centang | Tidak dicentang | Tidak | Jika diaktifkan, item daftar aturan akan menyertakan subdomain. |
| Pencocokan Subjalur | Kotak centang | Tidak dicentang | Tidak | Jika diaktifkan, item daftar aturan cocok dengan subjalur. |
| Pertahankan Akhiran Jalur | Kotak centang | Tidak dicentang | Tidak | Jika diaktifkan, item daftar aturan akan mempertahankan sufiks jalur. |
Dijalankan pada
Tindakan ini dijalankan pada entity Alamat IP.
Hasil Tindakan
Hasil Skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| is_success | Benar/Salah | is_success:False |
Hasil JSON
{
"result": {
"operation_id": "f16b978552ca49f88b36fe628de31142"
},
"success": true,
"errors": [],
"messages": []
}
Repositori Kasus
| Jenis hasil | Nilai / Deskripsi | Jenis |
|---|---|---|
| Pesan output* | Tindakan tidak boleh gagal atau menghentikan eksekusi playbook: Jika kode status 200 untuk satu entitas (is_success=true): "Successfully added the following entities to the {name} rule list in Cloudflare: {entity.identifier}." Jika tidak berhasil untuk satu entitas (is_success=true): "Action wasn't able to add the following entities to the {name} rule list in Cloudflare: {entity.identifier}." Jika tidak berhasil untuk semua entitas (is_success=false): "None of the provided entities were added to the {name} rule list." Tindakan akan gagal dan menghentikan eksekusi playbook: Jika error fatal, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya dilaporkan: "Error executing action "Add URL To Rule List". Reason: {0}''.format(error.Stacktrace) Jika daftar tidak ditemukan: "Error saat menjalankan tindakan "Tambahkan URL Ke Daftar Aturan". Alasan: daftar aturan {name} tidak ditemukan di Cloudflare.'' Jika daftar bukan jenis yang valid: "Error executing action "Add URL To Rule List". Alasan: daftar aturan {name} bukan berjenis "Pengalihan".' |
Umum |
Buat Aturan Firewall
Deskripsi
Buat aturan firewall di Cloudflare.
Parameter
| Nama Tampilan Parameter | Jenis | Nilai Default | Wajib | Deskripsi |
|---|---|---|---|---|
| Nama Zona | String | T/A | Ya | Tentukan nama zona yang berisi aturan firewall. |
| Nama | String | T/A | Tidak | Tentukan nama untuk aturan firewall. |
| Tindakan | DDL | Blokir Nilai yang Mungkin:
|
Tidak | Tentukan tindakan untuk aturan firewall. Jika "Block" dipilih, Anda harus memberikan nilai dalam parameter "Products". |
| Ekspresi | String | T/A | Ya | Tentukan ekspresi untuk aturan firewall. |
| Produk | CSV | T/A | Tidak | Tentukan daftar produk yang dipisahkan koma untuk aturan firewall. Catatan: Parameter ini hanya wajib diisi jika "Bypass" dipilih untuk parameter "Action". Nilai yang mungkin: zoneLockdown, uaBlock, bic, hot, securityLevel, rateLimit, waf |
| Prioritas | Bilangan bulat | T/A | Tidak | Tentukan prioritas untuk aturan firewall. |
| Tag Referensi | String | T/A | Tidak | Tentukan tag referensi untuk aturan firewall. Catatan: Panjangnya maksimal 50 karakter. |
Dijalankan pada
Tindakan ini tidak dijalankan pada entitas.
Hasil Tindakan
Hasil Skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| is_success | Benar/Salah | is_success:False |
Hasil JSON
{
{
"id": "b520c154bdeb4fe2a1f647b2c6b35829",
"paused": false,
"description": "Blocks traffic identified during investigation for MIR-31",
"action": "block",
"priority": 50,
"filter": {
"id": "fc6dfad848c24a42ae5be0114db09fb9",
"expression": "(ip.geoip.continent eq \"ASIA\")",
"paused": false
},
"created_on": "2022-07-25T11:19:22Z",
"modified_on": "2022-07-25T11:19:22Z",
"index": 0
}
}
Repositori Kasus
| Jenis hasil | Nilai / Deskripsi | Jenis |
|---|---|---|
| Pesan output* | Tindakan tidak boleh gagal atau menghentikan eksekusi playbook: Jika kode status 200 dilaporkan (is_success=true): "Successfully created a new firewall rule in "{zone_name}" zone in Cloudflare.". Tindakan akan gagal dan menghentikan eksekusi playbook: Jika error fatal, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya dilaporkan: "Error executing action "Create Firewall Rule". Reason: {0}''.format(error.Stacktrace) Jika daftar error tidak kosong: "Error executing action "Create Firewall Rule". Alasan: {0}''.format(errors/message) Jika zona tidak ditemukan: "Error executing action "Create Firewall Rule". Alasan: zone {zone_name} tidak ditemukan di Cloudflare.'' |
Umum |
Buat Daftar Aturan
Deskripsi
Buat daftar aturan di Cloudflare.
Parameter
| Nama Tampilan Parameter | Jenis | Nilai Default | Wajib | Deskripsi |
|---|---|---|---|---|
| Nama | String | T/A | Ya | Tentukan nama untuk daftar aturan. |
| Jenis | DDL | Alamat IP Nilai yang Mungkin:
|
Tidak | Tentukan jenis untuk daftar aturan. |
| Deskripsi | String | T/A | Tidak | Tentukan deskripsi untuk daftar aturan. |
Dijalankan pada
Tindakan ini tidak dijalankan pada entitas.
Hasil Tindakan
Hasil Skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| is_success | Benar/Salah | is_success:False |
Hasil JSON
{
"id": "d19589d629f140c0b961c467feadf99d",
"name": "123",
"kind": "ip",
"num_items": 0,
"description": "description",
"num_referencing_filters": 0,
"created_on": "2022-07-25T12:13:46Z",
"modified_on": "2022-07-25T12:13:46Z"
}
Repositori Kasus
| Jenis hasil | Nilai / Deskripsi | Jenis |
|---|---|---|
| Pesan output* | Tindakan tidak boleh gagal atau menghentikan eksekusi playbook: Jika kode status 200 dilaporkan (is_success = true): "Successfully create a rule list in Cloudflare." (Berhasil membuat daftar aturan di Cloudflare). Tindakan akan gagal dan menghentikan eksekusi playbook: Jika error fatal, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya dilaporkan: "Error executing action "Create Rule List". Reason: {0}''.format(error.Stacktrace) Jika daftar error tidak kosong: "Error executing action "Create Rule List". Alasan: {0}''.format(errors/message) |
Umum |
Mencantumkan Aturan Firewall
Deskripsi
Mencantumkan aturan firewall yang tersedia di Cloudflare.
Parameter
| Nama Tampilan Parameter | Jenis | Nilai Default | Wajib | Deskripsi |
|---|---|---|---|---|
| Nama Zona | String | T/A | Ya | Tentukan nama zona yang akan berisi aturan firewall. |
| Kunci Filter | DDL | Pilih Satu Nilai yang Mungkin:
|
Tidak | Tentukan kunci yang perlu digunakan untuk memfilter {item type}. |
| Logika Filter | DDL | Pilih Satu Nilai yang Mungkin:
|
Tidak | Tentukan logika filter yang harus diterapkan. Logika pemfilteran didasarkan pada nilai yang diberikan dalam parameter "Kunci Filter". |
| Nilai Filter | String | T/A | Tidak | Tentukan nilai yang harus digunakan dalam filter. Jika "Sama dengan" dipilih, tindakan akan mencoba menemukan kecocokan persis di antara hasil. Jika "Berisi" dipilih, tindakan akan mencoba menemukan hasil yang berisi substring tersebut. Jika tidak ada yang diberikan dalam parameter ini, filter tidak akan diterapkan. Logika pemfilteran didasarkan pada nilai yang diberikan dalam parameter "Kunci Filter". |
| Jumlah Maksimum Data yang Akan Ditampilkan | Bilangan bulat | 50 | Tidak | Tentukan jumlah data yang akan ditampilkan. Jika tidak ada yang diberikan, tindakan akan menampilkan 50 data. |
Dijalankan pada
Tindakan ini tidak dijalankan pada entitas.
Hasil Tindakan
Hasil Skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| is_success | Benar/Salah | is_success:False |
Hasil JSON
{
"id": "55ec8db30f9e4640b5d0d13cff6b5429",
"paused": false,
"description": "rulle2",
"action": "allow",
"filter": {
"id": "2bb05df8c4f547bd9792d8dc38a86b81",
"expression": "(ip.geoip.country eq \"BG\")",
"paused": false
},
"created_on": "2022-07-05T13:53:39Z",
"modified_on": "2022-07-05T13:53:39Z"
}
Repositori Kasus
| Jenis hasil | Nilai / Deskripsi | Jenis |
|---|---|---|
| Pesan output* | Tindakan tidak boleh gagal atau menghentikan eksekusi playbook: Jika data tersedia (is_success=true): "Successfully found {item name} for the provided criteria in {product name}". Jika data tidak tersedia (is_success=false): "No {item name} were found for the provided criteria in {product name}" Jika parameter "Nilai Filter" kosong (is_success=true): "Filter tidak diterapkan, karena parameter "Nilai Filter" memiliki nilai kosong." Tindakan akan gagal dan menghentikan eksekusi playbook: Jika parameter "Kunci Filter" ditetapkan ke "Pilih Satu" dan parameter "Logika Filter" ditetapkan ke "Sama dengan" atau "Berisi": "Error saat menjalankan tindakan "{action name}". Alasan: Anda harus memilih kolom dari parameter "Kunci Filter"." Jika nilai yang tidak valid diberikan untuk parameter "Jumlah Maksimum Data yang Akan Ditampilkan": "Error saat menjalankan tindakan "{nama tindakan}". Alasan: "Nilai tidak valid diberikan untuk "Jumlah Maksimum Data yang Akan Ditampilkan": . Bilangan positif harus diberikan." Jika error fatal, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya dilaporkan: "Error executing action "{action name}". Reason: {0}''.format(error.Stacktrace) |
Umum |
| Tabel Repositori Kasus | Nama Tabel: {item group} Tersedia Kolom Tabel: {fields} |
Umum |
Ping
Deskripsi
Uji konektivitas ke Cloudflare dengan parameter yang disediakan di halaman konfigurasi integrasi di tab Google Security Operations Marketplace.
Parameter
T/A
Dijalankan pada
Tindakan tidak menggunakan entitas cakupan Google SecOps, dan tidak memiliki parameter input wajib.
Hasil Tindakan
Hasil Skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| is_success | Benar/Salah | is_success:False |
Hasil JSON
N/A
Repositori Kasus
| Jenis hasil | Nilai / Deskripsi | Jenis |
|---|---|---|
| Pesan output* | Tindakan tidak boleh gagal atau menghentikan eksekusi playbook: Jika berhasil: "Successfully connected to the SpyCloud server with the provided connection parameters!" Tindakan akan gagal dan menghentikan eksekusi playbook: Jika tidak berhasil: "Failed to connect to the SpyCloud server! Error is {0}".format(exception.stacktrace) Jika akun tidak ditemukan: "Failed to connect to the Cloudflare server! Nama akun yang diberikan tidak valid. Periksa ejaan." |
Umum |
Memperbarui Aturan Firewall
Deskripsi
Perbarui aturan firewall di Cloudflare.
Dijalankan pada
Tindakan ini tidak dijalankan pada entitas.
Parameter
| Nama Tampilan Parameter | Jenis | Nilai Default | Wajib | Deskripsi |
|---|---|---|---|---|
| Nama Aturan | String | T/A | Ya | Tentukan nama aturan yang perlu diperbarui. |
| Nama Zona | String | T/A | Ya | Tentukan nama zona yang berisi aturan firewall. |
| Tindakan | DDL | Blokir Nilai yang Mungkin:
|
Tidak | Tentukan tindakan untuk aturan firewall. Jika "Block" dipilih, Anda harus memberikan nilai dalam parameter "Products". |
| Ekspresi | String | T/A | Ya | Tentukan ekspresi untuk aturan firewall. |
| Produk | CSV | T/A | Tidak | Tentukan daftar produk yang dipisahkan koma untuk aturan firewall. Catatan: Parameter ini hanya wajib diisi jika "Bypass" dipilih untuk parameter "Action". Nilai yang mungkin: zoneLockdown, uaBlock, bic, hot, securityLevel, rateLimit, waf |
| Prioritas | Bilangan bulat | T/A | Tidak | Tentukan prioritas untuk aturan firewall. |
| Tag Referensi | String | T/A | Tidak | Tentukan tag referensi untuk aturan firewall. Catatan: Panjangnya maksimal 50 karakter. |
Dijalankan pada
Hasil Tindakan
Hasil Skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| is_success | Benar/Salah | is_success:False |
Hasil JSON
{
{
"id": "b520c154bdeb4fe2a1f647b2c6b35829",
"paused": false,
"description": "Blocks traffic identified during investigation for MIR-31",
"action": "block",
"priority": 50,
"filter": {
"id": "fc6dfad848c24a42ae5be0114db09fb9",
"expression": "(ip.geoip.continent eq \"ASIA\")",
"paused": false
},
"created_on": "2022-07-25T11:19:22Z",
"modified_on": "2022-07-25T11:19:22Z",
"index": 0
}
}
Repositori Kasus
| Jenis hasil | Nilai / Deskripsi | Jenis |
|---|---|---|
| Pesan output* | Tindakan tidak boleh gagal atau menghentikan eksekusi playbook: Jika kode status 200 dilaporkan (is_success=true): "Successfully updated a firewall rule in "{zone_name}" zone in Cloudflare." Tindakan akan gagal dan menghentikan eksekusi playbook: Jika error fatal, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya dilaporkan: "Error executing action "Update Firewall Rule". Reason: {0}''.format(error.Stacktrace) Jika daftar error tidak kosong: "Error executing action "Update Firewall Rule". Alasan: {0}''.format(errors/message) Jika zona tidak ditemukan: "Error executing action "Update Firewall Rule". Alasan: zone {zone_name} tidak ditemukan di Cloudflare.'' |
Umum |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.