Informationen zum Schutz von Microservices-ased Web-Anwendungen vor Cyberangriffen
Wenn Anwendungen in der Public Cloud bereitgestellt werden, müssen sie auf jeder Ebene geschützt und gesichert werden. Der WAF-Service auf Oracle Cloud Infrastructure stellt eine Layered-Lösung bereit, mit der Anwendungen vor Cyberangriffen gesichert werden. Einige Funktionen umfassen:
- Über 250 vordefinierte Open Web Access Security Project-(OWASP-), anwendungs- und compliance-spezifische Schutzregeln
- Aggregierte Threadinformationen aus mehreren Quellen, einschließlich Webroot BrightCloud®
- Erweitertes Botmanagement mit JavaScript-Prüfung, CAPTCHA-Challenge, Whiteisting, Geräte-Fingerprinting und menschlichen Interaktionsalgorithmen
- Regelbasierte Zugriffskontrolle, einschließlich HTTP-Headern, URL-Muster, Geolokation und IP-Adresseigenschaften
- Schutz von Layer 7 verteiltem Denial-of-Service-(DDoS-) Angriffen
In der folgenden Abbildung sind die Sicherheitsfunktionen von WAF auf Oracle Cloud Infrastructure aufgeführt.
Bevor Sie beginnen
Architektur
In diesem Architekturdiagramm wird die abgeschlossene RESTful Java Microservices-Anwendung dargestellt, die mit WAF gesichert wird.
Jeder Mikroservice besteht aus der Anwendung, die in mehreren Docker-Containern in einem Kubernetes-Cluster ausgeführt wird. Der Anwendungsdatenverkehr wird über den Internet-Service, WAF-Service, im Allgemeinen über ein Domain Name System (DNS), weitergeleitet. WAF ist so konfiguriert, dass Datenverkehr über einen Load Balancer an die Anwendung weitergeleitet wird. Der Load Balancer wählt aus, welche Anwendungsinstanz zur Verarbeitung einer Anforderung verwendet wird. Die Anzahl der Anwendungsinstanzen wird vom Kubernetes-Cluster gesteuert und kann automatisch vertikal oder horizontal skaliert werden. Verwenden Sie diese Architektur, um ähnliche Microservices-Anwendungen bereitzustellen.
- Die RESTFul-Webservice-Clientanwendung, die in HTML/CSS/JavaScript geschrieben ist, wird für den Zugriff auf die Anwendung verwendet.
- Der Client stellt über den Internet-Service, den WAF-Service, im Allgemeinen über eine DNS, eine Verbindung mit der Anwendung her.
- WAF ist so konfiguriert, dass Datenverkehr über einen Load Balancer mit der IP-Adresse des Load Balancers an die Anwendung weitergeleitet wird. In diesem Fall ist dies der Fall.
- Die Backend-Anwendung besteht aus einer Gruppe von Docker-Containern in einem Kubernetes-Cluster. In der Regel wird mehr als eine Kopie der Anwendung bereitgestellt, und der Load Balancer wird verwendet, um zu wählen, mit welcher Anwendungsinstanz der Client kommuniziert.
- Die Anwendung verwendet Oracle Cloud Infrastructure Database zur Persistenz. Alle gespeicherten Daten werden in die Datenbank übertragen. Im Kubernetes-Cluster ist kein Status gespeichert.
Erforderliche Services und Rollen
Diese Lösung erfordert die folgenden Services:
- Oracle Cloud Infrastructure Database
- Oracle Cloud Infrastructure Container Engine for Kubernetes
- Oracle Cloud Infrastructure Registry
Zur Verwendung von Oracle Cloud Infrastructure WAF benötigen Sie ausreichende Berechtigungen, die in waas-policy
definiert sind. Wenn Sie versuchen, eine Aktion auszuführen und eine Meldung erhalten, dass Sie keine Berechtigung haben oder nicht autorisiert sind, bestätigen Sie den Zugriffstyp, den Sie erteilt haben und für das Compartment, mit dem Sie arbeiten möchten.
So lassen Sie eine bestimmte Benutzergruppe Policys in WAF verwalten:
Allow group <GroupName> to manage waas-policy in compartment <CompartmentName>
Allow group <GroupName> to read waas-work-request in compartment <CompartmentName>
In wird beschrieben, wie Sie Oracle Cloud-Services für Oracle-Lösungen erhalten, um die benötigten Cloud-Services zu erhalten.