NetScaler VPX 14.1

AWS API Gateway mithilfe der NetScaler Web App Firewall schützen

Sie können eine NetScaler Appliance vor Ihrem AWS API Gateway bereitstellen und das API Gateway vor externen Bedrohungen schützen. Die NetScaler Web App Firewall (WAF) kann Ihre API vor OWASP Top 10 Bedrohungen und Zero-Day-Angriffen schützen. Die NetScaler Web App Firewall verwendet eine einzige Codebasis über alle ADC-Formfaktoren hinweg. Daher können Sie Sicherheitsrichtlinien konsistent in jeder Umgebung anwenden und durchsetzen. Die NetScaler Web App Firewall ist einfach bereitzustellen und als Einzellizenz verfügbar. Die NetScaler Web App Firewall bietet Ihnen die folgenden Funktionen:

  • Vereinfachte Konfiguration
  • Bot-Verwaltung
  • Ganzheitliche Transparenz
  • Daten aus mehreren Quellen zusammenführen und die Daten auf einem einheitlichen Bildschirm anzeigen

Zusätzlich zum API-Gateway-Schutz können Sie auch die anderen NetScaler-Funktionen nutzen. Weitere Informationen finden Sie unter NetScaler-Dokumentation. Um Rechenzentrumsausfälle zu vermeiden und Ausfallzeiten zu minimieren, können Sie ADC in Hochverfügbarkeit innerhalb oder über Verfügbarkeitszonen hinweg platzieren. Sie können auch Clustering mit der Autoscale-Funktion verwenden oder konfigurieren.

Früher unterstützte AWS API Gateway nicht die erforderlichen Schutzmaßnahmen, um die dahinter liegenden Anwendungen zu sichern. Ohne die Schutzmaßnahmen der Web Application Firewall (WAF) waren APIs anfällig für Sicherheitsbedrohungen.

NetScaler Appliance vor dem AWS API Gateway bereitstellen

Im folgenden Beispiel wird eine NetScaler Appliance vor dem AWS API Gateway bereitgestellt.

ADC vor dem AWS API Gateway bereitstellen

Nehmen wir an, es gibt eine echte API-Anfrage für den AWS Lambda-Dienst. Diese Anfrage kann für jeden der API-Dienste sein, wie in der Amazon API Gateway-Dokumentation erwähnt. Wie im vorhergehenden Diagramm gezeigt, ist der Datenverkehrsfluss wie folgt:

  1. Der Client sendet eine Anfrage an die AWS Lambda-Funktion (XYZ). Diese Client-Anfrage wird an den virtuellen NetScaler-Server (192.168.1.1) gesendet.
  2. Der virtuelle Server inspiziert das Paket und prüft auf bösartigen Inhalt.
  3. Die NetScaler Appliance löst eine Rewrite-Richtlinie aus, um den Hostnamen und die URL in einer Client-Anfrage zu ändern. Zum Beispiel möchten Sie https://restapi.citrix.com/default/LamdaFunctionXYZ in https://citrix.execute-api.<region>.amazonaws.com/default/LambdaFunctionXYZ ändern.
  4. Die NetScaler Appliance leitet diese Anfrage an das AWS API Gateway weiter.
  5. Das AWS API Gateway sendet die Anfrage dann an den Lambda-Dienst und ruft die Lambda-Funktion „XYZ“ auf.
  6. Gleichzeitig, wenn ein Angreifer eine API-Anfrage mit bösartigem Inhalt sendet, landet die bösartige Anfrage auf der NetScaler Appliance.
  7. Die NetScaler Appliance inspiziert die Pakete und verwirft sie basierend auf der konfigurierten Aktion.

NetScaler Appliance mit aktiviertem WAF konfigurieren

Um WAF auf einer NetScaler Appliance zu aktivieren, führen Sie die folgenden Schritte aus:

  1. Fügen Sie einen Content Switching- oder einen Lastausgleichs-Virtual Server hinzu. Nehmen wir an, die IP-Adresse des virtuellen Servers ist 192.168.1.1, die zu einem Domänennamen (restapi.citrix.com) aufgelöst wird.
  2. Aktivieren Sie die WAF-Richtlinie auf dem NetScaler Virtual Server. Weitere Informationen finden Sie unter Konfigurieren der Web App Firewall.
  3. Aktivieren Sie die Rewrite-Richtlinie, um den Domänennamen zu ändern. Nehmen wir an, Sie möchten, dass die eingehende Anfrage an den Load Balancer unter dem Domänennamen „restapi.citrix.com“ auf das Backend AWS API Gateway unter dem Domänennamen „citrix.execute-api.<region>.amazonaws“ umgeschrieben wird.
  4. Aktivieren Sie den L3-Modus auf der NetScaler Appliance, damit sie als Proxy fungiert. Verwenden Sie den folgenden Befehl:

    enable ns mode L3
    <!--NeedCopy-->
    

In Schritt 3 des vorhergehenden Beispiels möchte der Website-Administrator, dass die NetScaler Appliance den Domänennamen „restapi.citrix.com“ durch „citrix.execute-api.<region>.amazonaws.com“ und die URL durch „default/lambda/XYZ“ ersetzt.

Die folgende Prozedur beschreibt, wie der Hostname und die URL in einer Client-Anfrage mithilfe der Rewrite-Funktion geändert werden:

  1. Melden Sie sich über SSH bei der NetScaler Appliance an.
  2. Rewrite-Aktionen hinzufügen.

    add rewrite action rewrite_host_hdr_act replace "HTTP.REQ.HEADER(\"Host\")" "\"citrix.execute-api.<region>.amazonaws.com\""
    
    add rewrite action rewrite_url_act replace HTTP.REQ.URL.PATH_AND_QUERY "\"/default/lambda/XYZ\""
    <!--NeedCopy-->
    
  3. Rewrite-Richtlinien für die Rewrite-Aktionen hinzufügen.

    add rewrite policy rewrite_host_hdr_pol "HTTP.REQ.HEADER(\"Host\").CONTAINS(\"restapi.citrix.com\") "rewrite_host_hdr_act
    
    add rewrite policy rewrite_url_pol "HTTP.REQ.HEADER(\"Host\").CONTAINS(\"restapi.citrix.com\") "rewrite_url_act
    <!--NeedCopy-->
    
  4. Binden Sie die Rewrite-Richtlinien an einen virtuellen Server.

    bind lb vserver LB_API_Gateway -policyName rewrite_host_hdr_pol -priority 10 -gotoPriorityExpression 20 -type REQUEST
    
    bind lb vserver LB_API_Gateway -policyName rewrite_url_pol -priority 20 -gotoPriorityExpression END -type REQUEST
    <!--NeedCopy-->
    

Weitere Informationen finden Sie unter Konfigurieren von Rewrite zum Ändern des Hostnamens und der URL in Clientanforderungen auf der NetScaler Appliance.

NetScaler-Funktionen und -Möglichkeiten

Die NetScaler Appliance sichert nicht nur die Bereitstellung, sondern kann die Anforderung auch basierend auf den Benutzeranforderungen verbessern. Die NetScaler Appliance bietet die folgenden Hauptfunktionen.

  • Lastverteilung des API-Gateways: Wenn Sie mehr als ein API-Gateway haben, können Sie mehrere API-Gateways mit der NetScaler Appliance lastverteilen und das Verhalten der API-Anforderung definieren.

    • Es stehen verschiedene Lastverteilungsmethoden zur Verfügung. Zum Beispiel vermeidet die Methode der geringsten Verbindungen eine Überlastung des API-Gateway-Limits, die benutzerdefinierte Lastmethode hält eine bestimmte Last auf einem bestimmten API-Gateway aufrecht und so weiter. Weitere Informationen finden Sie unter Lastverteilungsalgorithmen.

    • SSL-Offloading wird ohne Unterbrechung des Datenverkehrs konfiguriert.
    • Der USIP-Modus (Use Source IP) ist aktiviert, um die Client-IP-Adresse beizubehalten.
    • Benutzerdefinierte SSL-Einstellungen: Sie können Ihren eigenen virtuellen SSL-Server mit Ihren eigenen signierten Zertifikaten und Algorithmen verwenden.
    • Backup-Virtual-Server: Wenn das API-Gateway nicht erreichbar ist, können Sie die Anforderung zur weiteren Bearbeitung an einen Backup-Virtual-Server senden.
    • Viele weitere Lastverteilungsfunktionen sind verfügbar. Weitere Informationen finden Sie unter Lastverteilung des Datenverkehrs auf einer NetScaler Appliance.
  • Authentifizierung, Autorisierung und Auditierung: Sie können Ihre eigenen Authentifizierungsmethoden wie LDAP, SAML, RADIUS definieren und die API-Anfragen autorisieren und auditieren.

  • Responder: Sie können API-Anfragen während der Stillstandszeit an ein anderes API-Gateway umleiten.

  • Ratenbegrenzung: Sie können die Ratenbegrenzungsfunktion konfigurieren, um eine Überlastung eines API-Gateways zu vermeiden.

  • Bessere Verfügbarkeit: Sie können eine NetScaler Appliance in einem Hochverfügbarkeits-Setup oder einem Cluster-Setup konfigurieren, um eine bessere Verfügbarkeit für Ihren AWS API-Datenverkehr zu gewährleisten.

  • REST-API: Unterstützt die REST-API, die zur Automatisierung der Arbeit in Cloud-Produktionsumgebungen verwendet werden kann.

  • Datenüberwachung: Überwacht und protokolliert die Daten zu Referenzzwecken.

Die NetScaler Appliance bietet viele weitere Funktionen, die in das AWS API Gateway integriert werden können. Weitere Informationen finden Sie unter NetScaler-Dokumentation.

AWS API Gateway mithilfe der NetScaler Web App Firewall schützen