Optimierungsregeln migrieren

Sie können Tuning-Regeln von einer migrieren Sensor oder Konsole zu einem anderen über die REST-API. Dies kann nützlich sein, wenn Sie eine große Anzahl von Optimierungsregeln erstellt haben und diese nicht manuell neu erstellen möchten. In diesem Thema zeigen wir Methoden für die manuelle Migration einer Regel über den REST API Explorer und für die Migration von Regeln mit Python-Skripten. Ein Beispielskript migriert Regeln zwischen zwei ECA-VMs und ein Beispielskript migriert Regeln von einer ECA-VM zu Reveal (x) 360.

Before you begin

  • Auf beiden Sensoren oder Konsolen muss die Firmware-Version 8.4 oder höher ausgeführt werden.
  • Wenn Sie Optimierungsregeln migrieren, die auf Gerätegruppen verweisen, sollten Sie erwägen, diese Gerätegruppen mit einem Paket zu migrieren. Du kannst ein Paket erstellen mit den Gerätegruppen auf dem Quellsystem und installiere das Paket auf dem Zielsystem.

Migrieren Sie eine Optimierungsregel über den REST API Explorer

  1. Ruft die Tuning-Regel-Metadaten aus dem Quellsystem ab.
    1. Navigieren Sie in einem Browser zum REST API Explorer.
      Die URL ist der Hostname oder die IP-Adresse Ihres Sensor oder Konsole, gefolgt von /api/v1/explore/. Wenn Ihr Hostname beispielsweise seattle-eda ist, lautet die URL https://seattle-eda/api/v1/explore/.
    2. klicken API-Schlüssel eingeben und fügen Sie dann Ihren API-Schlüssel ein oder geben Sie ihn in das API-Schlüssel Feld.
    3. klicken Autorisieren und klicken Sie dann Schliessen.
    4. klicken Erkennungen.
    5. klicken GET /Erkennungen/Regeln/Verbergen.
    6. klicken Probiere es aus.
    7. klicken Anfrage senden.
    8. Kopieren Sie im Feld Antworttext das JSON-Objekt, das die Optimierungsregel darstellt, die Sie kopieren möchten.
  2. Erstellen Sie die Tuning-Regel auf dem Zielsystem neu.
    1. Navigieren Sie in einem Browser zum REST API Explorer.
    2. klicken API-Schlüssel eingeben und fügen Sie dann Ihren API-Schlüssel ein oder geben Sie ihn in das API-Schlüssel Feld.
    3. klicken Autorisieren und klicken Sie dann Schliessen.
    4. klicken Erkennungen.
    5. klicken POST /Erkennungen/Regeln/Verbergen.
    6. klicken Probiere es aus.
    7. Fügen Sie das JSON-Objekt, das Sie aus der Quelle kopiert haben, in das Textfeld ein Sensor oder Konsole.

      Der Eintrag sollte dem folgenden Text ähneln:

      {
          "id": 1,
          "enabled": false,
          "detection_type": "cifs_round_trip_time",
          "offender": {
            "object_type": "device",
            "object_id": 123
          },
          "victim": {
            "object_type": "device",
            "object_id": 321
          },
          "author": "example_user",
          "create_time": 1615588932838,
          "expiration": 1615675096000,
          "detections_hidden": 0
      }
      Hinweis:Wenn der description oder properties Feld ist auf Null gesetzt null, Sie müssen diese Felder aus dem JSON entfernen, bevor Sie die Anfrage senden.
    8. klicken Anfrage senden.
  3. Optional: Deaktivieren Sie die Tuning-Regel auf dem Zielsystem.

    Wenn die Optimierungsregel auf dem Quellsystem deaktiviert war, wird dies durch das aktivierte Feld angezeigt, das auf gesetzt ist false, setzen Sie das aktivierte Feld auf dem Zielsystem auf falsch.

    1. Navigieren Sie in einem Browser zum REST API Explorer.
    2. klicken API-Schlüssel eingeben und fügen Sie dann Ihren API-Schlüssel ein oder geben Sie ihn in das API-Schlüssel Feld.
    3. klicken Autorisieren und klicken Sie dann Schliessen.
    4. klicken Erkennungen.
    5. klicken PATCH /Erkennungen/Regeln/Verbergen.
    6. klicken Probiere es aus.
    7. Fügen Sie in das Textfeld den folgenden JSON-Code ein:
      {
          "enabled": false
      }
    8. klicken Anfrage senden.

Rufen Sie das Python-Beispielskript für Reveal (x) 360 ab und führen Sie es aus

Das ExtraHop GitHub-Repository enthält ein Python-Beispielskript, das alle Tuning-Regeln auf einer ECA-VM zu Reveal (x) 360 migriert.

Hinweis:Das Skript migriert nur Regeln, die aktiviert sind.
  1. Gehe zum ExtraHop Codebeispiele GitHub-Repository und laden Sie das herunter migrate_detection_hiding/migrate_detection_hiding.py Datei auf Ihrem lokalen Computer.
  2. Öffnen Sie in einem Texteditor den migrate_detection_hiding.py archivieren und ersetzen Sie die folgenden Konfigurationsvariablen durch Informationen aus Ihrer Umgebung:

    QUELLE_HOST: Der Hostname der ECA-VM, von der Sie Tuning-Regeln migrieren

    QUELLE_API_KEY: Der API-SCHLÜSSEL auf der ECA-VM, von der Sie Tuning-Regeln migrieren

    ZIELHOST: Der Hostname der Reveal (x) 360-API, zu der Sie Tuning-Regeln migrieren. Dieser Hostname wird auf der Reveal (x) 360 API Access-Seite unter API-Endpunkt angezeigt. Der Hostname enthält nicht die /oauth2/token.

    ZIEL-ID: Die ID der REST-API-Anmeldeinformationen für Reveal (x) 360

    TARGET_SECRET: Das Geheimnis der REST-API-Anmeldeinformationen für Reveal (x) 360

  3. Führen Sie den folgenden Befehl aus:
    python3 migrate_detection_hiding.py

    Wenn Tuning-Regeln Teilnehmergeräte oder Gerätegruppen anhand einer ID spezifizieren, versucht das Skript, die IDs der entsprechenden Teilnehmer auf Reveal (x) 360 zu finden, indem es nach Geräte-IP-Adressen und Gerätegruppennamen sucht.

    Wenn das Skript die IDs für gleichwertige Teilnehmer auf Reveal (x) 360 nicht finden kann, fordert das Skript Sie auf, die anderen Regeln zu migrieren, für die entsprechende Teilnehmer gefunden wurden. Um fortzufahren, geben Sie y und drücken Sie ENTER.

    Hinweis:Wenn das Skript eine Fehlermeldung zurückgibt, dass die SSL-Zertifikatsüberprüfung fehlgeschlagen ist, stellen Sie sicher, dass Ihrem Sensor oder Ihrer Konsole wurde ein vertrauenswürdiges Zertifikat hinzugefügt. Alternativ können Sie das hinzufügen verify=False Option zur Umgehung der Zertifikatsüberprüfung. Diese Methode ist jedoch nicht sicher und wird nicht empfohlen. Der folgende Code sendet eine HTTP GET-Anfrage ohne Zertifikatsüberprüfung:
    requests.get(url, headers=headers, verify=False)

Rufen Sie das Python-Beispielskript für Reveal (x) Enterprise ab und führen Sie es aus

Das ExtraHop GitHub-Repository enthält ein Python-Beispielskript, das alle Optimierungsregeln von einer ECA-VM auf eine andere ECA-VM migriert.

Hinweis:Das Skript migriert nur Regeln, die aktiviert sind.
  1. Gehe zum GitHub-Repository mit ExtraHop-Codebeispielen und laden Sie das herunter migrate_detection_hiding/migrate_detection_hiding_enterprise.py Datei auf Ihrem lokalen Computer.
  2. Öffnen Sie in einem Texteditor migrate_detection_hiding_enterprise.py archivieren und ersetzen Sie die folgenden Konfigurationsvariablen durch Informationen aus Ihrer Umgebung:

    QUELLHOST: Der Hostname der ECA-VM, von der Sie die Tuning-Regeln migrieren

    QUELL-API-SCHLÜSSEL: Der API-SCHLÜSSEL auf der ECA-VM, von der Sie die Tuning-Regeln migrieren

    ZIELHOST: Der Hostname der ECA-VM, auf die Sie die Tuning-Regeln migrieren

    TARGET_API_KEY: Der API-SCHLÜSSEL auf der ECA-VM, auf die Sie die Tuning-Regeln migrieren

  3. Führen Sie den folgenden Befehl aus:
    python3 migrate_detection_hiding_enterprise.py

    Wenn Abstimmung Optimierungsregeln Teilnehmergeräte oder Gerätegruppen anhand einer ID angegeben werden, versucht das Skript, die IDs der entsprechenden Teilnehmer auf der ECA-Ziel-VM zu finden, indem es nach Geräte-IP-Adressen und Gerätegruppennamen sucht.

    Wenn das Skript die IDs für äquivalente Teilnehmer auf der ECA-Ziel-VM nicht finden kann, fordert das Skript Sie auf, die anderen Regeln zu migrieren, für die äquivalente Teilnehmer gefunden wurden. Um fortzufahren, geben Sie y und drücken Sie die EINGABETASTE.

    Hinweis:Wenn das Skript eine Fehlermeldung zurückgibt, dass die SSL-Zertifikatsüberprüfung fehlgeschlagen ist, stellen Sie sicher, dass Ihrem Sensor oder Ihrer Konsole wurde ein vertrauenswürdiges Zertifikat hinzugefügt. Alternativ können Sie das hinzufügen verify=False Option zur Umgehung der Zertifikatsüberprüfung. Diese Methode ist jedoch nicht sicher und wird nicht empfohlen. Der folgende Code sendet eine HTTP GET-Anfrage ohne Zertifikatsüberprüfung:
    requests.get(url, headers=headers, verify=False)
Last modified 2024-03-20