Menutup pemberitahuan secara massal menggunakan API

Didukung di:

Dokumen ini menjelaskan cara menutup sejumlah besar pemberitahuan secara terprogram menggunakan Google Security Operations REST API. Google merekomendasikan penggunaan metode ini untuk situasi saat menutup pemberitahuan di platform akan terlalu memakan waktu.

Prasyarat

Sebelum memulai, pastikan Anda memiliki hal berikut:

  • Lingkungan Python: Anda harus menginstal Python untuk menjalankan skrip contoh.
  • Contoh API: Akses ke repositori GitHub api-samples-python.
  • Kredensial: File kredensial yang valid (misalnya .chronicle_credentials.json).
  • jq: Pemroses JSON command line yang digunakan untuk mengurai output API.

Menelusuri Deteksi

Pertama, Anda harus mengidentifikasi pemberitahuan (deteksi pemberitahuan) yang ingin Anda tutup. Anda menggunakan skrip list_detections.py untuk menemukan deteksi yang terkait dengan ID Aturan tertentu.

  1. Temukan ID Aturan dan Detail project Anda.
  2. Jalankan skrip untuk menampilkan deteksi ke file JSON. Nama file JSON dapat berupa detections.json atau temp.json.

Perintah:

python -m detect.v1alpha.list_detections \
  --project_id=$PROJECT_ID \
  --project_instance=$PROJECT_INSTANCE \
  --credentials_file=$CREDENTIALS_FILE \
  --rule_id=$RULE_ID \
  > ip_in_abuseipdb_out.json

Mengekstrak ID Deteksi

Skrip update massal memerlukan file teks biasa yang berisi satu ID deteksi per baris. Langkah sebelumnya membuat file JSON, yang sekarang harus Anda konversi menjadi file teks.

  1. Gunakan jq untuk mengekstrak ID deteksi (yang dimulai dengan de_) dari array JSON.
  2. Simpan output ke file teks.

Perintah:

cat ip_in_abuseipdb_out.json | jq -r '.detections[].id' \
  > ip_in_abuseipdb_out.txt

Tindakan ini akan membuat file yang mencantumkan ID, misalnya de_ad9d2771-a567....

Konfigurasi Masukan (Tindakan "tutup")

Saat Anda menutup peringatan, status "masukan" disetel ke CLOSED.

  • Perilaku Default: Skrip bulk_update_alerts.py menggunakan payload masukan default yang di-hardcode:
    • Status: CLOSED
    • Alasan: REASON_MAINTENANCE
    • Komentar: automated cleanup.
  • Penyesuaian: Jika Anda perlu mengubah putusan (misalnya menjadi FALSE_POSITIVE) atau komentar, Anda dapat:
    • Edit langsung kamus DEFAULT_FEEDBACK dalam file Python.
    • Meneruskan parameter CLI (misalnya, --verdict="FALSE_POSITIVE") untuk mengganti nilai tertentu.

Menjalankan Penutupan Massal

Jalankan skrip update massal menggunakan file teks yang Anda buat sebelumnya (Lihat Mengekstrak ID Deteksi). Skrip ini memanggil metode UpdateAlert untuk setiap ID dalam daftar Anda.

Perintah:

python -m detect.v1alpha.bulk_update_alerts \
  --project_id=$PROJECT_ID \
  --project_instance=$PROJECT_INSTANCE \
  --credentials_file=$CREDENTIALS_FILE \
  --alert_ids_file="$(pwd)/ip_in_abuseipdb_out.txt"

Verifikasi Penutupan (Opsional)

Untuk memverifikasi bahwa pemberitahuan berhasil ditutup, Anda dapat memeriksa detail satu pemberitahuan menggunakan modul get_alert.py.

Perintah:

python -m detect.v1alpha.get_alert \
  --project_id=$PROJECT_ID \
  --project_instance=$PROJECT_INSTANCE \
  --credentials_file=$CREDENTIALS_FILE \
  --alert_id=$ALERT_ID

Hasil yang Diharapkan: Output JSON berisi objek feedbackSummary yang menampilkan "status": "CLOSED" dan komentar yang Anda tentukan (misalnya "pembersihan otomatis").

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.