Richtlinien zu einer API-Bereitstellung hinzufügen
Sie können verschiedene Sicherheitsrichtlinien für Ihren API-Datenverkehr konfigurieren. Diese Konfiguration erfordert, dass Sie die Kriterien für die Datenverkehrsauswahl und die für eine Richtlinie erforderlichen Parameter angeben. Führen Sie die folgenden Schritte aus, um einer API-Definition eine Richtlinie hinzuzufügen:
-
Navigieren Sie zu Security > API Security > Policies.
-
Klicken Sie auf Add.
-
Geben Sie den Namen für eine Richtliniengruppe an.
-
Wählen Sie ein Deployment aus der Liste aus.
-
Wählen Sie einen Upstream Service aus der Liste aus, für den Sie Richtlinien konfigurieren möchten.
-
Klicken Sie auf Add, um Datenverkehrsselektoren und einen Richtlinientyp auszuwählen.Traffic selector – Die Kriterien für die Datenverkehrsauswahl umfassen API-Ressourcenpfade oder Pfadpräfixe, Methoden und Richtlinien.Sie können eine der folgenden Optionen verwenden, um Kriterien für die Datenverkehrsauswahl anzugeben:
-
API Resources – Wählen Sie eine API-Ressource und ihre Methoden aus, für die Sie eine Richtlinie anwenden möchten. Sie können API-Ressourcen und -Methoden mit einem Schlüsselwort suchen.
In diesem Beispiel werden die API-Ressourcen mit/useraufgelistet, die die MethodePOSThaben. -
Custom Rule – Auf dieser Registerkarte können Sie benutzerdefinierte Pfadpräfixe und mehrere Methoden angeben.Die konfigurierte Richtlinie gilt für eine eingehende API-Anfrage, die der benutzerdefinierten Regel für die API-Datenverkehrsauswahl entspricht.
In diesem Beispiel gilt die Richtlinie No-Auth für die API-Ressourcen, die das Präfix/billund die MethodeGEThaben.
Wählen Sie unter Richtlinie eine Richtlinie aus der Liste aus, die Sie auf die ausgewählte API-Ressource und -Methode anwenden möchten. Weitere Informationen zu den einzelnen Richtlinien finden Sie unter Richtlinientypen. -
-
Optional können Sie Richtlinientypen verschieben, um eine Priorität festzulegen. Die Richtlinientypen mit höherer Priorität werden zuerst angewendet.
-
Klicken Sie auf Speichern, um eine Richtlinie hinzuzufügen. Wenn Sie die Richtlinie sofort anwenden möchten, klicken Sie auf Speichern & Anwenden.
Richtlinientypen
Beim Konfigurieren einer API-Richtlinie können Sie die folgenden Richtlinien auswählen, die Sie auf die API-Ressource und -Methode anwenden möchten:
Hinweis:
Informationen zur Verwaltung der API-Sicherheit mithilfe von APIs finden Sie unter Verwenden von APIs zur Verwaltung der API-Sicherheit.
Authentifizierung und Autorisierung
API-Ressourcen werden auf einem Anwendungs- oder API-Server gehostet. Wenn Sie Zugriffsbeschränkungen für solche API-Ressourcen erzwingen möchten, können Sie die Authentifizierungs- und Autorisierungsrichtlinien verwenden. Diese Richtlinien überprüfen, ob die eingehende API-Anfrage über die erforderliche Berechtigung für den Zugriff auf die Ressource verfügt.
Verwenden Sie die folgenden Richtlinien, um die Authentifizierung und Autorisierung für die ausgewählten API-Ressourcen zu definieren:
No-Auth
Verwenden Sie diese Richtlinie, um die Authentifizierung für den ausgewählten Datenverkehr zu überspringen.
Auth-Basic
Diese Richtlinie gibt an, dass die lokale Authentifizierung mit dem HTTP-Standardauthentifizierungsschema verwendet werden soll. Um die lokale Authentifizierung zu verwenden, müssen Sie Benutzerkonten auf dem NetScaler erstellen.
OAuth
OAuth erfordert einen externen Identitätsanbieter, um einen Client mithilfe von OAuth2 zu authentifizieren und ein Zugriffstoken auszustellen. Wenn der Client dieses Token als Zugangsdaten an ein API-Gateway übermittelt, wird das Token basierend auf den konfigurierten Werten validiert.
-
JWKS URI – Die URL eines Endpunkts, der JWKs (JSON Web Key) zur JWT-Verifizierung (JSON Web Token) enthält
-
Aussteller – Die Identität (normalerweise eine URL) des Authentifizierungsservers.
-
Zielgruppe – Die Identität des Dienstes oder der Anwendung, für die das Token gültig ist.
-
Zu speichernde Claims – Die Zugriffsberechtigungen werden als eine Reihe von Claims und erwarteten Werten dargestellt. Geben Sie die Claim-Werte im CSV-Format an.
-
Introspect URI – Eine Introspektions-Endpunkt-URL des Authentifizierungsservers. Diese URL wird verwendet, um undurchsichtige Zugriffstoken zu überprüfen. Weitere Informationen zu diesen Token finden Sie unter OAuth configuration for opaque access tokens.Nachdem Sie die Introspect URI angegeben haben, geben Sie die Client Id und das Client Secret an, um auf den Authentifizierungsserver zuzugreifen.
-
Zulässige Algorithmen – Diese Option ermöglicht es Ihnen, bestimmte Algorithmen in den eingehenden Token einzuschränken. Standardmäßig sind alle unterstützten Methoden erlaubt. Sie können jedoch die erforderlichen Algorithmen für den ausgewählten Datenverkehr überprüfen.
Bei erfolgreicher Validierung gewährt API Security dem Client Zugriff.
Wichtig:
Wenn Sie eine OAuth- oder Auth-Basic-Richtlinie für die ausgewählten API-Ressourcen konfigurieren, konfigurieren Sie die No Auth-Richtlinie für die verbleibenden API-Ressourcen. Diese Konfiguration zeigt explizit an, dass Sie die Authentifizierung für die verbleibenden Ressourcen überspringen möchten.
Autorisierung
Diese Richtlinie überprüft die erforderlichen Berechtigungen für den Zugriff auf eine API-Ressource. Die Zugriffsrechte werden als eine Reihe von Claims und erwarteten Werten dargestellt. Um diese Richtlinie zu konfigurieren, wählen Sie Add a new Claim und geben Sie Folgendes an:
-
Claim-Name
-
Claim-Werte
Wichtig:
API Security erfordert sowohl Authentifizierungs- als auch Autorisierungsrichtlinien für den API-Verkehr. Daher müssen Sie eine Autorisierungsrichtlinie mit einer Authentifizierungsrichtlinie konfigurieren. Die Authentifizierungsrichtlinie kann OAuth oder
Auth-Basic sein.
Auch wenn Sie keine Autorisierungsprüfungen haben, müssen Sie eine Autorisierungsrichtlinie mit leeren Claims erstellen. Andernfalls wird die Anfrage mit einem 403-Fehler abgelehnt.
Ratenbegrenzung
Geben Sie die maximale Last an, die der ausgewählten API-Ressource zugewiesen wird. Mit dieser Richtlinie können Sie die API-Verkehrsrate überwachen und vorbeugende Maßnahmen ergreifen. Um diese Richtlinie zu konfigurieren, geben Sie Folgendes an:
-
HTTP-Header-Name – Dies ist ein Datenverkehrsselektorschlüssel, der den Datenverkehr filtert, um die API-Anfragen zu identifizieren. Die Ratenbegrenzungsrichtlinie wird nur auf solche API-Anfragen angewendet und überwacht diese.
-
Header-Werte – Diese Header-Werte werden für den genannten Headernamen durch Kommas getrennt.
-
Schwellenwert – Die maximale Anzahl von Anfragen, die im angegebenen Intervall zugelassen werden können. Wenn Sie Header-Werte angegeben haben, gilt dieser Schwellenwert für jeden Header-Wert.Beispiel-1:Wenn Sie Header-Werte (
"key1","key2","key3") für den Headernamenx-api-keyangeben und den Schwellenwert auf80festlegen, gilt der festgelegte Schwellenwert für jeden Header-Wert.Beispiel-2:Wenn Sie unterschiedliche Schwellenwerte für jeden Header-Wert angeben möchten, erstellen Sie separate Ratenbegrenzungsrichtlinien mit demselben HTTP-Headernamen.-
Richtlinie-1: Geben Sie Header-Werte (
"key1","key2") für den Headernamenx-api-keyan und legen Sie den Schwellenwert auf80fest. -
Richtlinie-2: Geben Sie Header-Werte (
"key3") für den Headernamenx-api-keyan und legen Sie den Schwellenwert auf30fest.
Wenn Sie keinen Header-Wert angeben, gilt der Schwellenwert für den angegebenen HTTP-Headernamen. -
-
Zeitscheibe – Das in Mikrosekunden angegebene Intervall. Während dieses Intervalls werden die Anfragen anhand der konfigurierten Grenzwerte überwacht. Standardmäßig ist sie auf 1000 Mikrosekunden (1 Millisekunde) eingestellt.
-
Begrenzungstyp – Der Modus, wie Sie die Ratenbegrenzungsrichtlinie anwenden möchten. Sie können den Begrenzungstyp Burst oder Smooth auswählen.
-
Aktion – Definiert eine Aktion, die Sie für den Datenverkehr ausführen möchten, der den Schwellenwert überschreitet. Sie können eine der folgenden Aktionen angeben:
-
DROP: Löscht die Anfragen, die die konfigurierten Datenverkehrsgrenzwerte überschreiten.
-
RESET: Setzt die Verbindung für die Anfragen zurück.
-
REDIRECT: Leitet den Datenverkehr an die konfigurierte redirect_url um.
-
RESPOND: Antwortet mit der Standardantwort (
429 Too many requests).
-
WAF
Diese Richtlinie verhindert Sicherheitsverletzungen, Datenverlust und mögliche unbefugte Änderungen an Websites, die auf sensible Geschäfts- oder Kundeninformationen zugreifen.
Bevor Sie eine WAF-Richtlinie konfigurieren, erstellen Sie ein WAF-Profil in NetScaler Console mithilfe von StyleBooks.
Unter WAF-Profilname wählen oder geben Sie das von Ihnen erstellte WAF-Profil an.
Bot
Diese Richtlinie identifiziert schlechte Bots und schützt Ihre Appliance vor fortgeschrittenen Sicherheitsangriffen.
Bevor Sie eine BOT-Richtlinie konfigurieren, erstellen Sie ein BOT-Profil in NetScaler Console mithilfe von StyleBooks.
Unter Bot-Profilname geben Sie das von Ihnen erstellte BOT-Profil an.
Header-Umschreibung
Diese Richtlinie hilft Ihnen, den Header von API-Anfragen und -Antworten zu ändern. Wenn Sie den Wert im HTTP-Header ersetzen möchten, geben Sie Folgendes an:
-
HTTP-Header-Name: Der Feldname, den Sie im Anforderungsheader ändern möchten.Beispiel:
Host -
Header-Wert: Optional, die Wertzeichenfolge, die Sie im angegebenen Headernamen ändern möchten.Beispiel:
sample.com -
Neuer Header-Wert: Der neue Wert, der den angegebenen Header-Wert ersetzt.Wenn kein Header-Wert angegeben ist, ersetzt er jeden empfangenen Wert durch den angegebenen Wert für den HTTP-Header-Namen.Beispiel:
example.com
In diesem Beispiel ersetzt die Header-Rewrite-Richtlinie
sample.com durch example.com im Feld Host einer API-Anfrage.
URI-Pfad-Umschreibung
Diese Richtlinie hilft Ihnen, den URI-Pfad von API-Anfragen und -Antworten zu ändern. Wenn Sie ein Segment im URI-Pfad ersetzen möchten, fügen Sie eine Regel hinzu, um eines der folgenden Dinge zu tun:
-
Pfadsegment ersetzen – Wenn Sie diesen Aktionstyp auswählen, geben Sie Folgendes an:
-
Aktuelles Pfadsegment – Das Pfadsegment, das Sie ersetzen möchten.
-
Neues Pfadsegment – Neues Pfadsegment, das nur das aktuelle Pfadsegment ersetzt.
Um beispielsweise ein Gebietsschema im URI-Pfad von Englisch nach Chinesisch zu ändern, geben Sie/de-de/unter Aktuelles Pfadsegment an. Und geben Sie/zh-zhunter Neues Pfadsegment an. Es ersetzt nur das Pfadsegment und behält den restlichen URI-Pfad bei. -
-
Vollständigen Pfad ersetzen – Dieser Aktionstyp ersetzt den URI-Pfad von API-Anfragen und -Antworten vollständig durch den angegebenen Pfad. Wenn Sie
/example.htmlunter Neues Pfadsegment angeben, wird der URI-Pfad einer API-Anfrage oder -Antwort in den angegebenen Pfad geändert. -
Pfadsegment entfernen – Diese Aktion entfernt das angegebene Segment aus dem URI. Um beispielsweise das englische Gebietsschema aus dem URI-Pfad zu entfernen, geben Sie
/de-de/unter Aktuelles Pfadsegment an. -
Pfadsegment einfügen – Diese Aktion fügt das angegebene Segment in den URI-Pfad ein. Um diese Regel anzuwenden, geben Sie die Position an, an der Sie das Segment einfügen möchten. Und welches Segment Sie einfügen möchten.Wenn Sie beispielsweise ein Segment direkt nach einem Text einfügen möchten, gehen Sie wie folgt vor:
-
Geben Sie die Position an, an der Sie ein neues Segment einfügen möchten.
-
Geben Sie unter Aktuelles Pfadsegment den Text an, nach dem ein neues Segment hinzugefügt werden soll.
-
Geben Sie unter Neues Pfadsegment das Segment an, das Sie hinzufügen möchten.
-
Verweigern
Diese Richtlinie hilft Ihnen, API-Anfragen daran zu hindern, Ihre API-Ressourcen zu erreichen.