Benachrichtigungen im Bulk schließen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie eine große Anzahl von Benachrichtigungen mithilfe der Google Security Operations REST API programmatisch schließen. Google empfiehlt, diese Methode zu verwenden, wenn das Schließen von Benachrichtigungen in der Plattform zu zeitaufwendig wäre.

Vorbereitung

Folgendes wird benötigt:

  • Python-Umgebung: Sie müssen Python installiert haben, um die Beispielskripts auszuführen.
  • API-Beispiele: Zugriff auf das api-samples-python GitHub-Repository.
  • Anmeldedaten: Eine gültige Datei mit Anmeldedaten (z. B. .chronicle_credentials.json).
  • jq: Ein JSON-Prozessor für die Befehlszeile, mit dem die API-Ausgabe geparst wird.

Nach Erkennungen suchen

Zuerst müssen Sie die Benachrichtigungen (Benachrichtigungserkennungen) identifizieren, die Sie schließen möchten. Mit dem Script list_detections.py können Sie Erkennungen finden, die mit einer bestimmten Regel-ID verknüpft sind.

  1. Suchen Sie die Regel-ID und die Projektdetails.
  2. Führen Sie das Script aus, um die Erkennungen in eine JSON-Datei auszugeben. Der JSON-Dateiname kann entweder detections.json oder temp.json sein.

Befehl:

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

Erkennungs-IDs extrahieren

Für das Script zur Bulk-Aktualisierung ist eine Nur-Text-Datei mit einer Erkennungs-ID pro Zeile erforderlich. Im vorherigen Schritt wurde eine JSON-Datei erstellt, die Sie jetzt in eine Textdatei konvertieren müssen.

  1. Verwenden Sie jq, um die Erkennungs-IDs (die mit de_ beginnen) aus dem JSON-Array zu extrahieren.
  2. Speichern Sie die Ausgabe in einer Textdatei.

Befehl:

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

Dadurch wird eine Datei mit IDs erstellt, z. B. de_ad9d2771-a567....

Feedback konfigurieren (Aktion „Schließen“)

Wenn Sie eine Benachrichtigung schließen, wird der Status „Feedback“ auf CLOSED gesetzt.

  • Standardverhalten: Das Script bulk_update_alerts.py verwendet eine hartcodierte Standard-Feedback-Nutzlast:
    • Status: CLOSED
    • Grund: REASON_MAINTENANCE
    • Kommentar: automated cleanup.
  • Anpassung: Wenn Sie das Ergebnis (z. B. in FALSE_POSITIVE) oder den Kommentar ändern möchten, können Sie Folgendes tun:
    • Bearbeiten Sie das DEFAULT_FEEDBACK-Wörterbuch direkt in der Python-Datei.
    • Übergeben Sie CLI-Parameter (z.B. --verdict="FALSE_POSITIVE"), um bestimmte Werte zu überschreiben.

Bulk-Schließung ausführen

Führen Sie das Script für die Bulk-Aktualisierung mit der zuvor erstellten Textdatei aus (siehe Erkennungs-IDs extrahieren). Dieses Skript ruft die Methode UpdateAlert für jede ID in Ihrer Liste auf.

Befehl:

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"

Schließung bestätigen (optional)

Wenn Sie prüfen möchten, ob die Benachrichtigungen geschlossen wurden, können Sie die Details einer einzelnen Benachrichtigung mit dem Modul get_alert.py aufrufen.

Befehl:

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

Erwartetes Ergebnis: Die JSON-Ausgabe enthält ein feedbackSummary-Objekt mit "status": "CLOSED" und dem von Ihnen angegebenen Kommentar (z. B. „automated cleanup“).

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten