Schützen Sie das AWS API Gateway mithilfe der NetScaler Web App Firewall
Sie können eine NetScaler Appliance vor Ihrem AWS API Gateway bereitstellen und das API-Gateway vor externen Bedrohungen schützen. NetScaler Web App Firewall (WAF) kann Ihre API vor den 10 wichtigsten OWASP-Bedrohungen und Zero-Day-Angriffen schützen. NetScaler Web App Firewall verwendet eine einzige Codebasis für alle ADC-Formfaktoren. Daher können Sie Sicherheitsrichtlinien in jeder Umgebung konsequent anwenden und durchsetzen. NetScaler Web App Firewall ist einfach zu implementieren und als Einzellizenz erhältlich. Die NetScaler Web App Firewall bietet Ihnen die folgenden Funktionen:
- Vereinfachte Konfiguration
- Bot-Verwaltung
- Ganzheitliche Sichtbarkeit
- Sammeln Sie Daten aus mehreren Quellen und zeigen Sie die Daten in einem einheitlichen Bildschirm an
Zusätzlich zum API-Gateway-Schutz können Sie auch die anderen NetScaler-Funktionen verwenden. Weitere Informationen finden Sie in der NetScaler-Dokumentation. Um Ausfallzeiten von Rechenzentren zu vermeiden und die Herunterfahrzeit zu minimieren, können Sie ADC in oder über Availability Zones hinweg in Hochverfügbarkeit versetzen. Sie können auch Clustering mit der Autoscale-Funktion verwenden oder konfigurieren.
Zuvor unterstützte AWS API Gateway den erforderlichen Schutz nicht, um die dahinter stehenden Anwendungen zu sichern. Ohne den Schutz der Web Application Firewall (WAF) waren APIs anfällig für Sicherheitsbedrohungen.
Stellen Sie die NetScaler Appliance vor dem AWS API-Gateway bereit
Im folgenden Beispiel wird eine NetScaler Appliance vor dem AWS-API-Gateway bereitgestellt.
Nehmen wir an, es gibt eine echte API-Anforderung für den AWS Lambda-Service. Diese Anforderung kann für jeden der API-Dienste gelten, wie in der Amazon API Gateway-Dokumentationerwähnt. Wie im vorhergehenden Diagramm gezeigt, ist der Verkehrsfluss wie folgt:
- Der Client sendet eine Anfrage an die AWS Lambda-Funktion (XYZ). Diese Clientanforderung wird an den virtuellen NetScaler-Server (192.168.1.1) gesendet.
- Der virtuelle Server prüft das Paket und prüft auf schädliche Inhalte.
- Die NetScaler Appliance löst eine Rewrite-Richtlinie aus, um den Hostnamen und die URL in einer Clientanforderung zu ändern. Zum Beispiel möchten Sie
https://restapi.citrix.com/default/LamdaFunctionXYZ
zuhttps://citrix.execute-api.<region>.amazonaws.com/default/LambdaFunctionXYZ
ändern. - Die NetScaler Appliance leitet diese Anforderung an das AWS-API-Gateway weiter.
- Das AWS API Gateway sendet die Anforderung weiter an den Lambda-Dienst und ruft die Lambda-Funktion “XYZ” auf.
- Wenn ein Angreifer gleichzeitig eine API-Anfrage mit schädlichem Inhalt sendet, landet die böswillige Anfrage auf der NetScaler Appliance.
- Die NetScaler Appliance untersucht die Pakete und verwirft die Pakete basierend auf der konfigurierten Aktion.
Konfigurieren der NetScaler Appliance mit aktivierter WAF
Führen Sie die folgenden Schritte aus, um WAF auf einer NetScaler Appliance zu aktivieren:
- Fügen Sie einen Content Switching oder einen virtuellen Lastausgleichsserver hinzu. Nehmen wir an, die IP-Adresse des virtuellen Servers ist 192.168.1.1, was zu einem Domainnamen (restapi.citrix.com) aufgelöst wird.
- Aktivieren Sie die WAF-Richtlinie auf dem virtuellen NetScaler-Server. Weitere Informationen finden Sie unter Konfigurieren der Web App Firewall.
- Aktivieren Sie Rewrite-Richtlinie, um den Domainnamen zu ändern. Nehmen wir an, Sie möchten die eingehende Anforderung für den Load Balancer unter “restapi.citrix.com” -Domänennamen ändern, um in das Back-End-AWS-API-Gateway unter “citrix.execute-api” neu geschrieben zu werden.
<region>
.amazonaws” Domänenname. -
Aktivieren Sie den L3-Modus auf der NetScaler Appliance, damit sie als Proxy fungiert. Verwenden Sie den folgenden Befehl:
enable ns mode L3 <!--NeedCopy-->
Nehmen wir in Schritt 3 des vorherigen Beispiels an, der Website-Administrator möchte, dass die NetScaler Appliance den Domänennamen “restapi.citrix.com” durch “citrix.execute-api” ersetzt.<region>
.amazonaws.com” und die URL mit “Default/Lambda/XYZ”.
Das folgende Verfahren beschreibt, wie Sie den Hostnamen und die URL in einer Clientanforderung mithilfe der Rewrite-Funktion ändern:
- Melden Sie sich mit SSH bei der NetScaler Appliance an.
-
Aktionen zum Umschreiben 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-->
-
Fügen Sie Richtlinien zum Umschreiben für die Umschreibaktionen hinzu.
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-->
-
Binden Sie die Umschreibungsrichtlinien 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 des Umschreibens, um den Hostnamen und die URL in der Clientanforderung auf der NetScaler Appliance zu ändern.
NetScaler Funktionen und Funktionen
Die NetScaler Appliance kann neben der Sicherung der Bereitstellung auch die Anforderung basierend auf den Benutzeranforderungen verbessern. Die NetScaler Appliance bietet die folgenden Hauptfunktionen.
-
Lastausgleich für das API-Gateway: Wenn Sie über mehr als ein API-Gateway verfügen, können Sie mithilfe der NetScaler Appliance mehrere API-Gateways ausgleichen und das Verhalten der API-Anforderung definieren.
-
Es sind verschiedene Lastausgleichsmethoden verfügbar. Beispielsweise verhindert die Methode Least Connection eine Überlastung des API-Gateway-Limits, die benutzerdefinierte Lademethode behält eine bestimmte Last auf einem bestimmten API-Gateway bei und so weiter. Weitere Informationen finden Sie unter Lastausgleichsalgorithmen.
- SSL-Offloading ist konfiguriert, ohne den Verkehr zu unterbrechen.
- Der Modus Quell-IP (USIP) verwenden 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 haben.
- Virtueller Backup-Server: Wenn das API-Gateway nicht erreichbar ist, können Sie die Anforderung für weitere Aktionen an einen virtuellen Sicherungsserver senden.
- Viele andere Lastausgleichsfunktionen sind verfügbar. Weitere Informationen finden Sie unter Lastausgleich des Datenverkehrs auf einer NetScaler Appliance.
-
-
Authentifizierung, Autorisierung und Überwachung: Sie können Ihre eigenen Authentifizierungsmethoden wie LDAP, SAML, RADIUS definieren und die API-Anforderungen autorisieren und überwachen.
-
Responder: Sie können API-Anforderungen während des Herunterfahrens 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 Ihren AWS-API-Datenverkehr besser verfügbar zu machen.
-
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 als Referenz.
Die NetScaler Appliance bietet viel mehr Funktionen, die in das AWS-API-Gateway integriert werden können. Weitere Informationen finden Sie in der NetScaler-Dokumentation.