NetScaler VPX

AWS API Gateway mit 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 den Top-10-Bedrohungen von OWASP und Zero-Day-Angriffen schützen. Die NetScaler Web App Firewall verwendet eine einzige Codebasis für alle ADC-Formfaktoren. 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 auf einem einheitlichen Bildschirm anzeigen

Zusätzlich zum API-Gateway-Schutz können Sie auch die anderen NetScaler-Funktionen nutzen. Weitere Informationen finden Sie in der 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 Schutzmaßnahmen, die zur Sicherung der dahinter liegenden Anwendungen erforderlich waren. 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 dargestellt, 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. Sie möchten beispielsweise 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 weiter 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 virtuellen Content Switching- oder Lastenausgleichsserver 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 virtuellen NetScaler-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 die eingehende Anfrage an den Load Balancer unter dem Domänennamen „restapi.citrix.com“ so umschreiben, dass sie an das Backend AWS API Gateway unter dem Domänennamen „citrix.execute-api.<region>.amazonaws“ gesendet 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.

Das folgende Verfahren beschreibt, wie der Hostname und die URL in einer Clientanfrage mithilfe der Rewrite-Funktion geändert werden:

  1. Melden Sie sich über SSH an 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 Rewrite konfigurieren, um den Hostnamen und die URL in der Clientanforderung auf der NetScaler Appliance zu ändern.

NetScaler-Funktionen und -Möglichkeiten

Die NetScaler Appliance kann neben der Sicherung der Bereitstellung 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 Methode der benutzerdefinierten Last 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 Datenverkehr auf einer NetScaler Appliance lastverteilen.
  • 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 Abschaltzeit 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 überwachen: Überwacht und protokolliert die Daten zur Referenz.

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

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