ADC

Validierung der API-Spezifikation

Die API-Spezifikation gewährleistet eine nahtlose Datenübertragung zwischen Systemen über eine API (Application Programming Interface). Es garantiert, dass die ausgetauschten Daten einer vordefinierten Struktur oder einem vordefinierten Format folgen, wodurch die allgemeine Zuverlässigkeit und Sicherheit des Systems verbessert wird.

Eine API-Spezifikation definiert den Endpunkt, das Schema und die Parameter. Die Schemavalidierung ist ein Prozess, mit dem Sie überprüfen können, ob der eingehende Datenverkehr dem Schema entspricht, das Sie in der API-Spezifikation angegeben haben. Indem Sie einem Web App Firewall-Profil eine API-Spezifikation zuordnen, können Sie angeben, welcher eingehende Datenverkehr zulässig ist und welcher entweder blockiert oder protokolliert wird. Die Überprüfung des eingehenden Datenverkehrs anhand der importierten API-Spezifikationen trägt dazu bei, sicherzustellen, dass der Netzwerkverkehr sicher und konform ist.

Es gibt mehrere API-Typen, die häufig in der Softwareentwicklung verwendet werden. Diese Typen bestimmen, wie Daten strukturiert und zwischen verschiedenen Softwaresystemen ausgetauscht werden. NetScaler unterstützt die folgenden API-Typen:

  • Representational State Transfer (REST)
  • Google Remote Procedure Call (gRPC)

API-Spezifikationen definieren das Design einer API, einschließlich Endpunkten, Methoden, Parametern und Datenformaten. Diese Spezifikationen gewährleisten Konsistenz, Interoperabilität und Benutzerfreundlichkeit bei der Entwicklung und Nutzung von APIs. NetScaler unterstützt die folgenden Spezifikationsformate:

  • Open API (früher bekannt als Swagger)
  • ProtoBuf (Protokollpuffer)

Hinweis: Sie können API-Spezifikationsdateien mithilfe der GUI oder der CLI importieren, hinzufügen, aktualisieren und löschen. Weitere Informationen finden Sie unter Importe.

Weisen Sie einem Profil die API-Spezifikation mithilfe der CLI zu

Konfigurieren Sie ein Web App Firewall-Profil mit einer API-Spezifikationsdatei, um den Datenverkehr zu validieren. Mit dem Parameter RestAction (für REST-APIs) oder GrpCAction (für gRPC-APIs) können Sie eine Aktion konfigurieren, die verwendet wird, wenn die Überprüfung fehlschlägt.

Geben Sie in der Befehlszeile Folgendes ein: set appfw profile <Profile Name> -apispec <API spec entity name>

-  Profile name - The name of the profile.
-  API spec entity name - The name of the entity that is created from the uploaded API specification.

Weisen Sie einem Profil mithilfe der GUI eine API-Spezifikation zu

  1. Navigieren Sie zu Sicherheit > NetScaler Web App Firewall > Profile und klicken Sie auf Hinzufügen.
  2. Wählen Sie die erforderliche Datei für ein API-Spezifikationsschema aus und klicken Sie auf OK.

Weisen Sie einem vorhandenen Profil die API-Spezifikation mithilfe der GUI zu

  1. Navigieren Sie zu Sicherheit > NetScaler Web App Firewall > Profile
  2. Wählen Sie ein benutzerdefiniertes Profil aus und klicken Sie auf Bearbeiten.
  3. Klicken Sie auf der NetScaler Web App Firewall-Profilseite auf das Symbol Bearbeiten .
  4. Wählen Sie die erforderliche Datei für ein API-Spezifikationsschema aus und klicken Sie auf Ok.

Konfigurieren Sie die REST- und gRPC-API-Schemavalidierung mithilfe der CLI

Geben Sie in der Befehlszeile Folgendes ein:

set appfw profile <profile name> -restAction [block log   none  stats]
set appfw profile <profile name> -grpcAction [block log   none  stats]
<!--NeedCopy-->

Konfigurieren Sie die REST- und gRPC-API-Schemavalidierung mithilfe der GUI

So konfigurieren oder ändern Sie die REST- und gRPC-API-Schemavalidierung:

  1. Navigieren Sie zu SeeSecurity > NetScaler Web App Firewall > Profile.**
  2. Wählen Sie ein benutzerdefiniertes Profil aus und klicken Sie auf Bearbeiten.
  3. Klicken Sie auf der NetScaler Web App Firewall-Profilseite im Abschnitt Erweiterte Einstellungen auf Sicherheitschecks.
  4. Wählen Sie im Abschnitt Sicherheitsprüfungen die Option REST-API-Schemavalidierung oder gRPC-API-Schemavalidierung aus und klicken Sie auf Aktionseinstellungen.
  5. Stellen Sie auf der Seite Aktionen den Aktionsparameterein. Sie können die Option entweder auswählen oder deaktivieren.
  6. Klicken Sie auf OK.

Hinweis:

Deaktivieren Sie die Option Start-URL, bevor Sie die Sicherheitsüberprüfung für die API-Schemavalidierung konfigurieren.

Konfigurieren Sie die Entspannungsregel für die API-Schemavalidierung mithilfe der CLI

Konfigurieren Sie eine Entspannungsregel, Bypass zu verhindern, dass bestimmter Datenverkehr anhand des Schemas validiert wird, das in der mit dem Web App Firewall-Profil verknüpften API-Spezifikation angegeben ist.

Um die Entspannungsregel für die REST-API-Schemavalidierung zu konfigurieren, geben Sie an der Befehlszeile Folgendes ein:

bind appfw profile <profile name> -restValidation <REST relaxation pattern> -ruleAction <Log|None>

  • REST-Entspannungsmuster — Das URL-Muster, für das die Entspannung angewendet wird. Muster können sowohl Variablen als auch Platzhalterdefinitionen enthalten, wie im Proto des aktuellen Links von Google APIs beschrieben: https://github.com/googleapis/googleapis/blob/master/google/api/http.proto

    Die angegebene URL muss nicht Teil der API-Spezifikation sein.

    Hinweis: Das Präfix des Musters sollte eine HTTP-Methode haben (d. h. GET, PUT, POST, DELETE, PATCH) gefolgt von einem Doppelpunkt (:). Beispiel:

    • GET: /v1/ {name=messages/*} — Erlaubt URLs mit drei Segmenten, die mit /v1/messages beginnen, und die Methode ist GET.
    • PATCH: /v1/messages/ {message_id=**} — Erlaubt alles mit dem Präfix /v1/messages und die Methode ist PATCH.
    • POST: /v1/lists/** — Erlaubt alles mit dem Präfix /v1/lists und die Methode ist POST.
    • ://engineering/**- Erlaubt jede URL, die das zweite Segment als Engineering hat, unabhängig von der Methode.
  • Log oder None — Gibt an, ob Protokolle für umgangenen Datenverkehr generiert werden, der der Regel entspricht. Wenn die Aktion auf Protokoll gesetzt ist, werden entspannte URLs und entsprechende Regeln in die Systemprotokolle geschrieben. Wenn die Aktion auf Protokoll eingestellt ist, werden die entspannten URLs und die entsprechende Regel in den Systemprotokollen aufgezeichnet.

Um die Entspannungsregel für die gRPC-API-Schemavalidierung zu konfigurieren, geben Sie an der Befehlszeile Folgendes ein:

bind appfw profile <profile name> -grpcValidation <gRPC pattern> -ruleAction <Log|None>

  • gRPC-Muster — Das Muster der gRPC-Endpunkte, für die die Relaxation angewendet wird. Die angegebene gRPC-Methode muss nicht Teil der API-Spezifikation sein.

    Beispiel:

    • Citrix.api.doc.AddBook — Erlaubt das RPC-AddBook im Paket citrix.api.doc.
    • test.api.** - Erlaubt alle RPCs in Paketen, beginnend mit test.api.
    • *.ingenieurwesen.** - Erlaubt alle RPCs, die Engineering als zweites Segment des Paketnamens haben.
  • Protokoll Keine — Gibt an, ob Protokolle für umgangenen Datenverkehr generiert werden, der der Regel entspricht.

Konfigurieren Sie die Entspannungsregel für die API-Schemavalidierung mithilfe der GUI

REST-API-Schemavalidierung

  1. Navigieren Sie zu Sicherheit > NetScaler Web App Firewall > Profile.
  2. Wählen Sie ein benutzerdefiniertes Profil aus und klicken Sie auf Bearbeiten.
  3. Klicken Sie auf der NetScaler Web App Firewall-Profilseite im Abschnitt Erweiterte Einstellungen auf Entspannungsregel.
  4. Wählen Sie die REST-API-Schemavalidierung aus und klicken Sie auf Bearbeiten.
  5. Klicken Sie auf der Seite Entspannungsregeln für die REST-API-Schemavalidierung auf Hinzufügen.
  6. Geben Sie auf der Seite „ Entspannungsregel für die REST-API-Schemavalidierung “ die folgenden Details an:

    1. Aktiviert — Wählen Sie die Option aus, um die Entspannungsregel zu aktivieren.
    2. Rest-URL-Muster — Geben Sie das URL-Muster ein, für das die Entspannung angewendet wird.
    3. REST-URL-Entspannungsaktion — Wählen Sie eine Aktion aus.
    4. Kommentare — Beschreibung des Ausdrucks.
    5. Ressourcen-ID — Eindeutige ID zur Identifizierung der Ressource.
    6. Klicken Sie auf Erstellen. Die neu hinzugefügte Entspannungsregel für die REST-API-Schemavalidierung ist auf der Seite Entspannungsregeln für die REST-API-Schemavalidierung aufgeführt.

gRPC-API-Schemavalidierung

  1. Navigieren Sie zu Sicherheit > NetScaler Web App Firewall > Profile.
  2. Wählen Sie auf der Seite Profile ein Profil aus, und klicken Sie auf Bearbeiten.
  3. Klicken Sie auf der NetScaler Web App Firewall-Profilseite im Abschnitt Erweiterte Einstellungen auf Entspannungsregel.
  4. Wählen Sie die gRPC-API-Schemavalidierung aus und klicken Sie auf Bearbeiten.
  5. Klicken Sie auf der Seite Entspannungsregeln für die gRPC-API-Schemavalidierung auf Hinzufügen.
  6. Geben Sie auf der Seite „Relaxationsregel zur gRPC-API-Schemavalidierung “ die folgenden Details an:
    1. Aktiviert — Wählen Sie die Option aus, um die Entspannungsregel zu aktivieren.
    2. gRPC-Methodenmuster — Geben Sie das gRPC-Methodenmuster ein, für das die Relaxation angewendet wird
    3. REST-URL-Entspannungsaktion — Wählen Sie eine der Aktionen aus.
    4. Kommentare — Beschreibung des Ausdrucks.
    5. Ressourcen-ID — Eindeutige ID zur Identifizierung der Ressource.
    6. Klicken Sie auf Erstellen. Die neu hinzugefügte Entspannungsregel für die gRPC-API-Schemavalidierung ist auf der Seite Entspannungsregeln für die gRPC-API-Schemavalidierung aufgeführt.