Sichere Legacy-Anwendungen mit OCI IAM App Gateway
Einführung
Das Oracle App Gateway ist eine Software-Appliance, mit deren Hilfe Sie Anwendungen integrieren können, die auf einer Compute-Instanz, in einer Cloud-Infrastruktur oder auf einem On-Premise-Server gehostet sind, zu Authentifizierungszwecken in Oracle Cloud Infrastructure.
Das App-Gateway fungiert als Reverse-Proxy, der Webanwendungen schützt, indem er nicht autorisierten Netzwerkzugriff auf diese einschränkt. Das App-Gateway fängt alle HTTP-Anforderungen an diese Anwendungen an und stellt sicher, dass die Benutzer mit OCI Identity and Access Management (IAM) authentifiziert wurden, bevor die Anforderung an diese Anwendungen weitergeleitet wird. Das App-Gateway propagiert die Identität des authentifizierten Benutzers an die Anwendungen.
Wenn der Benutzer nicht bei OCI IAM authentifiziert ist, leitet das App-Gateway den Benutzer zur Zugangsdatenvalidierung auf der Anmeldeseite von OCI IAM um.
Zielsetzung
In diesem Tutorial wird gezeigt, wie Sie mit Oracle App Gateway eine Legacy-Anwendung sichern, indem Sie eine in OCI IAM integrierte Authentifizierungs- und Autorisierungsebene hinzufügen. Dies bietet eine zentrale Kontrolle über den Zugriff auf die Legacy-Umgebung und gewährleistet Sicherheit, Governance und Transparenz für autorisierte Benutzer.
Voraussetzungen
Bevor Sie das App-Gateway in Oracle Cloud Infrastructure (OCI) konfigurieren, stellen Sie sicher, dass Folgendes vorhanden ist:
- Ein OCI-Account mit Administratorberechtigungen
- Eine Identitätsdomain vom Typ "Enterprise"
- Zugriff auf die in OCI IAM konfigurierte Identitätsdomain
- Berechtigung zum Erstellen und Verwalten von Unternehmensanwendungen in OCI IAM
- Eine konfigurierte Netzwerkumgebung
- Ein Subnetz im virtuellen Cloud-Netzwerk (VCN) zum Hosten des App-Gateways
- Sicherheitsregeln in Sicherheitslisten oder einer Netzwerksicherheitsgruppe (NSG), um Traffic auf Port 443 (HTTPS) und dem Backend-Anwendungsport zuzulassen
- Ein Server mit App-Gateway
- Eine virtuelle Maschine (VM) oder ein Host, auf dem Linux ausgeführt wird, um den Cloud Gate Agent zu installieren (NGINX + OCI IAM-Modul)
- Ein gültiges oder selbstsigniertes TLS-Zertifikat zur Aktivierung von HTTPS im App-Gateway
- Eine verfügbare Legacy-Anwendung
- Muss auf einem Backend-Host (HTTP oder HTTPS) ausgeführt werden
- Die Adresse und der Port der Anwendung müssen über das VCN bekannt und erreichbar sein
- Benutzer und Gruppen in OCI IAM
- In der Identitätsdomain bereitgestellte Benutzer
- Gruppen oder Zuweisungen, die konfiguriert sind, um zu definieren, wer auf die Legacy-Anwendung zugreifen kann
Aufgabe 1: Oracle App Gateway OVA herunterladen und in VMDK konvertieren
-
Klicken Sie für Ihre Domain auf Domains, Einstellungen, und scrollen Sie dann nach unten zum Abschnitt "Downloads". Klicken Sie auf die 3 Punkte, um das Menü "App-Gateway für Identity Cloud Service" zu öffnen, und klicken Sie auf Herunterladen:

-
Nachdem der Download abgeschlossen ist, extrahieren Sie die .ova-Datei (virtuelle Appliance-Datei VirtualBox) aus der ZIP-Datei auf Ihren Computer.

-
Um diese Datei zu verarbeiten, importieren Sie die . OVA-Datei in VirtualBox. Importieren von . OVA-Datei erstellt ein virtuelles Datenträgerimage (. VDI) Datei.
-
Laden Sie diese VDI-Datei in einen Bucket in OCI hoch.

Aufgabe 2: Benutzerdefiniertes Image des App-Gateways in OCI erstellen
-
Nach dem . VDI-Datei ist im Bucket verfügbar. Erstellen Sie ein benutzerdefiniertes Image zur Verwendung auf Instanzen in Ihrem Mandanten. Klicken Sie auf Compute, benutzerdefinierte Images:

-
Klicken Sie auf Image importieren:

-
Füllen Sie die Einstellungen aus, und wählen Sie sie aus, um das benutzerdefinierte Bild zu erstellen:

Dabei gilt:
- Erstellen in Compartment: Wählen Sie das Compartment hier aus, in dem das benutzerdefinierte Image erstellt wird
- Name: Name des zu erstellenden benutzerdefinierten Images
- Betriebssystem: Wählen Sie Oracle Linux aus
- Bucket: Wählen Sie Aus einem Object Storage-Ecket importieren aus
- Object Storage-Informationen: Wählen Sie im vorherigen Schritt das Objekt-Torage- und das VDI-Image aus
- Imagetyp: Klicken Sie auf VMDK
- Startmodus: Klicken Sie auf Emulierter Modus
Nachdem Sie diese Informationen ausgefüllt haben, klicken Sie auf Bild importieren. Nachdem der Import abgeschlossen ist, können Sie eine OCI-Instanz mit dem neu erstellten benutzerdefinierten Image erstellen.
Aufgabe 3: App-Gatewayinstanz erstellen
-
Um die Instanz zu erstellen, klicken Sie auf Compute, Instanzen:

-
Klicken Sie auf Instanz erstellen:

-
Geben Sie die Informationen zur Instanzerstellung ein, und klicken Sie auf Image ändern, um das benutzerdefinierte Image auszuwählen, das in den vorherigen Schritten erstellt wurde.

-
Wählen Sie die Felder aus, in denen das benutzerdefinierte Bild verwendet werden soll:

Dabei gilt:
- Meine Bilder: Wählen Sie dieses Element aus, um Ihr benutzerdefiniertes Bild zu verwenden
- Benutzerdefinierte Bilder: Lassen Sie dieses Element ausgewählt
- Compartment: Wählen Sie das Compartment aus, in dem das benutzerdefinierte Image erstellt wurde
- Name des benutzerdefinierten Images: Wählen Sie das zuvor erstellte App-Gatewayimage aus
Aufgabe 4: App-Gatewayservereinstellungen validieren
Um Ihre App-Gatewayservereinstellungen nach dem Erstellen zu validieren, melden Sie sich mit SSH bei einem Terminal an:
ssh -i <path_private_key> oracle@<IP_servidor_app_gateway>
Stellen Sie mit dem Benutzer "oracle" eine SSH-Verbindung her. Das Kennwort für diesen Benutzer finden Sie in der offiziellen Produktdokumentation zum App-Gateway unter diesem Link.
Hinweis: Das Kennwort muss bei der ersten Anmeldung geändert werden.
Aufgabe 5: Zertifikat und privaten Schlüssel für den App-Gatewayserver erstellen
Nachdem Sie auf die Instanz zugegriffen haben, erstellen Sie eine server.crt und eine server.key zur Verwendung durch das App-Gateway, da sie über HTTPS ausgeführt werden. Führen Sie dazu die folgenden Befehle auf dem Server aus:
-
So erstellen Sie die server.key:
openssl genrsa -out server.key 2048 -
So erstellen Sie server.crt:
openssl req -new -x509 -days 365 -key server.key -out server.crt
Wichtig: Notieren Sie sich den Pfad, in dem die Dateien server.crt und server.key auf Ihrem App-Gatewayserver gespeichert sind. Sie benötigen diese Informationen, um die App-Gatewaykonfiguration in der OCI-Webkonsole abzuschließen:
ssl_certificate /home/oracle/server.crt; ssl_certificate_key /home/oracle/server.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5;
Nachdem Sie die Dateien server.crt und server.key erstellt haben, können Sie das App-Gateway in der OCI-Konsole registrieren.
Hinweise:
- In dieser Übung werden selbstsignierte SSL-Zertifikate verwendet. Daher wird beim Testen des Zugriffs auf die Legacy-Anwendung mit dem App-Gateway sicher eine Fehlermeldung bei der Zertifikatsvalidierung im Browser angezeigt.
- Wenn Ihre Umgebung gültiges SSL verwendet, finden Sie weitere Informationen in der Dokumentation zum Oracle-App-Gateway.
Aufgabe 6: App-Gateway in der OCI-Konsole registrieren
-
Um das App-Gateway zu registrieren, klicken Sie in der OCI-Webkonsole auf Identität und Sicherheit, Domains:

-
Klicken Sie auf Ihren Domainnamen:

Hinweis: Um das App-Gateway verwenden zu können, muss Ihre Identitätsdomain als Typ "Enterprise" erstellt werden.
-
Klicken Sie auf App-Gateways und dann auf App-Gateway erstellen:

-
Geben Sie die erforderlichen Informationen im Erstellungsworkflow des App-Gateways ein, und klicken Sie auf App-Gateway erstellen. Nach der Erstellung werden Ihre App-Gatewaydetails auf dem Bildschirm angezeigt:

-
Nachdem Sie das App-Gateway erstellt haben, klicken Sie auf Hosts und dann auf Host hinzufügen:

-
Geben Sie Informationen zum App-Gatewayserver ein, der in den vorherigen Schritten erstellt wurde:
Dabei gilt:
1: Host-ID: Geben Sie einen Namen für das App-Gateway ein
2: Host: Dies ist der FQDN der zuvor erstellten App-Gatewayinstanz. Um diese Informationen zu erfassen, gehen Sie zu Ihrer Instanz, klicken Sie auf die Registerkarte Networking, und erfassen Sie den internen FQDN 3: Port: Geben Sie den Port ein, auf dem das App-Gateway ausgeführt wird (in diesem Beispiel wird Port 4443 verwendet)
4: SSL aktiviert: In dieser Übung verwendet das App-Gateway SSL. Klicken Sie daher auf SSL aktiviert
5: Zusätzliche Eigenschaften: Geben Sie die SSL-Einstellungen wie zuvor erstellt ein
ssl_certificate /home/oracle/server.crt; ssl_certificate_key /home/oracle/server.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; -
Klicken Sie auf Host hinzufügen.

-
Nachdem das App-Gateway erstellt wurde, wird es nach der Konfiguration auf dem Bildschirm angezeigt:

-
Klicken Sie auf die Registerkarte Details, und aktivieren Sie das App-Gateway, indem Sie auf Aktionen, App-Gateway aktivieren klicken:

-
Bestätigung der Aktivierung:

-
Bestätigen Sie beim Aktivieren Ihre Aktivierung, und notieren Sie sich die Client-ID und das Client Secret Ihres App-Gateways (an einem sicheren Ort) zur Verwendung in den nächsten Schritten.

Aufgabe 7: App-Gatewayserver konfigurieren
Nachdem Sie das App-Gateway in der OCI-Konsole konfiguriert haben, müssen Sie den App-Gatewayserver konfigurieren. Der nächste Schritt besteht darin, dass der App-Gatewayserver mit dem OCI-Domainendpunkt kommunizieren kann.
-
Um die Konnektivität mit dem Identitätsdomainendpunkt zu testen, erfassen Sie den zugehörigen FQDN. Um sie zu erfassen, klicken Sie in der OCI-Konsole auf der Seite "Details" der Identitätsdomain in der Zeile "Domain-URL" auf Kopieren:

-
Bearbeiten Sie die Datei
cloudgate-env, um die Identitätsdomaineinstellungen in das App-Gateway einzufügen, indem Sie die EinstellungIDCS_INSTANCE_URLändern. In dieser Einstellung müssen Sie den FQDN Ihres Domainendpunkts (denjenigen, mit dem der Zugriffstest über curl oben durchgeführt wurde) einfügen:
-
Die nächsten zu konfigurierenden Parameter sind:
- CG_APP_TENANT: Geben Sie die Mandanten-OCID in dieses Feld ein.
- CG_APP_NAME: Geben Sie die Client-ID des App-Gateways ein
- CG_APP_SECRET: Geben Sie das Client Secret des App-Gateways ein
-
Als letzten Schritt müssen Sie prüfen, ob der Resolver des App-Gatewayservers die IP-Adresse des Endpunkts Ihrer Identitätsdomain in OCI identifizieren kann. Führen Sie dazu den Befehl unten aus:
nslookup <id_domain_endpoint_domain>
Aufgabe 8: App-Server konfigurieren
-
Nachdem Sie alle erforderlichen Änderungen an den App-Gatewaydateien vorgenommen haben, müssen Sie den Befehl ausführen, um Ihr App-Gateway zu konfigurieren. Führen Sie dazu den Befehl
setup-cloudgateim Verzeichnis/scratch/oracle/cloudgate/ova/bin/setupaus:
-
Befolgen Sie die Anweisungen vollständig. Bestätigen Sie die in den App-Gatewaydateien konfigurierten Informationen, und geben Sie das Kennwort ein, wenn Sie dazu aufgefordert werden. Nachdem die Konfiguration abgeschlossen ist, prüfen Sie, ob das App-Gateway mit dem folgenden Befehl funktioniert:
/scratch/oracle/cloudgate/home/bin/cg-status
-
Nachdem Sie validiert haben, ob der Server hochgefahren und gestartet ist, können Sie mit der Konfiguration der Anwendung beginnen, die die App-Gatewayfeatures verwendet.
Aufgabe 9: Legacy-Anwendungen mit Oracle-App-Gateway sichern
-
Um eine Legacy-Anwendung mit Oracle App Gateway zu schützen, müssen Sie den Zugriff auf die Identitätsdomain konfigurieren, in der das App-Gateway konfiguriert ist. Klicken Sie dann auf Integrierte Anwendungen und dann auf Anwendung hinzufügen:

-
Wählen Sie Unternehmensanwendung aus, und klicken Sie auf Workflow starten:

-
Füllen Sie alle angeforderten Informationen aus, einschließlich:
- Name: Der Name der Unternehmensanwendung, die für die Anwendung erstellt wird, die durch das App-Gateway geschützt werden soll.
- Beschreibung: Geben Sie eine Beschreibung für die Legacy-Anwendung ein, die durch das App-Gateway geschützt werden soll.
- Anwendungs-URL: Fügen Sie die URL hinzu, die Ihre Benutzer derzeit für den Zugriff auf Ihre Legacy-Anwendung verwenden. Dies ist die URL der Anwendung, die durch das App-Gateway geschützt wird.

-
Klicken Sie auf Weiterleiten.
Wenn Sie die Enterprise-Anwendung erstellt haben, wird das Fenster mit den zugehörigen Details angezeigt.
-
Klicken Sie auf SSO-Konfiguration und dann auf SSO-Konfiguration bearbeiten, um mit der Konfiguration fortzufahren:

-
Klicken Sie auf Aktionen und dann auf Ressource hinzufügen:

-
Konfigurieren Sie, welche Legacy-Anwendungsressourcen durch das Oracle-App-Gateway geschützt werden. Sie können Ressourcen einzeln erstellen, sie einzeln zu den URLs Ihrer Legacy-Anwendung hinzufügen und reguläre Ausdrücke verwenden, um die Sammlungen von URLs darzustellen, die Ihre Anwendung hat.

-
Klicken Sie auf Ressource hinzufügen.
-
Um den Resource Manager zu konfigurieren, klicken Sie auf SSO-Konfiguration bearbeiten, scrollen Sie zur Seite "SSO-Konfiguration", wählen Sie Verwaltete Ressourcen hinzufügen aus, klicken Sie auf Aktionen, und klicken Sie auf Verwaltete Ressourcen hinzufügen:

-
Gehen Sie auf der angezeigten Seite wie folgt vor:
1: Ressource: Wählen Sie die neu erstellte Ressource aus (in diesem Tutorial ist es Legacy-app-resource)
2: Authentifizierungsmethode: Wählen Sie die Authentifizierungsmethode für Ihre Legacy-Anwendung aus (hier wird beispielsweise Formular oder Zugriffstoken verwendet)
3: Name/Wert: Geben Sie den Namen und Wert der HTTP-Header ein, die Sie an die Legacy-Anwendung senden möchten

-
Klicken Sie schließlich auf Verwaltete Ressource hinzufügen und dann auf Änderungen speichern. Damit ist die Erstellung der Unternehmensanwendung in OCI IAM abgeschlossen. Diese Unternehmensanwendung stellt Ihre Legacy-Anwendung dar, die durch das Oracle-App-Gateway geschützt wird.
-
Nachdem die Enterprise-Anwendung erstellt wurde, aktivieren Sie sie, indem Sie auf das Menü Aktion und dann auf Aktivieren klicken:

-
Bestätigen Sie Ihre Aktivierung:

Aufgabe 10: Unternehmensanwendung mit Oracle-App-Gateway verknüpfen
-
Um Ihre Unternehmensanwendung mit dem Oracle-App-Gateway zu verknüpfen, müssen Sie sie in der OCI-Konsole mit dem App-Gateway konfigurieren, das in der Identitätsdomain in den vorherigen Schritten konfiguriert wurde.
-
Kehren Sie zum Hauptbildschirm der Identitätsdomain zurück, klicken Sie auf App-Gateways, und klicken Sie auf den Namen des von Ihnen konfigurierten App-Gateways:

-
Klicken Sie auf Apps und dann auf App hinzufügen:

-
Geben Sie im Konfigurationsbildschirm die erforderlichen Informationen ein:

Dabei gilt:
1: Anwendung: Wählen Sie die zuvor erstellte Anwendung aus
2: Host auswählen: Wählen Sie den Host, den Sie für die Anwendung erstellt haben
3: Ressourcenpräfix: Geben Sie die Route ein, über die über das App-Gateway auf die Anwendung zugegriffen werden soll
4: Ursprungsserver: Geben Sie den FQDN des Servers ein, auf dem die Legacy-Anwendung ausgeführt wird, gefolgt vom Port, auf dem die Anwendung ausgeführt wird
-
Klicken Sie schließlich auf App hinzufügen.
Nachdem alle Konfigurationen abgeschlossen sind, können Sie den Zugriff auf die Legacy-Anwendung mit dem Oracle-App-Gateway testen.
Aufgabe 11: Zugriff auf Legacy-Anwendungen mit Oracle-App-Gateway testen
-
Nachdem Sie das App-Gateway und die Unternehmensanwendung konfiguriert haben, können Sie einen Zugriffstest ausführen. Öffnen Sie dazu einen Browser, und geben Sie die öffentliche Adresse des App-Gateways zusammen mit dem Port ein, an dem es konfiguriert wurde:

-
Beim Zugriff leitet das App-Gateway den Benutzer zu OCI IAM um, sodass die OCI-Anmeldung erfolgen kann.

-
Nach der Anmeldung erfolgt eine Umleitung, und der Zugriff auf die Anwendung erfolgt über das App-Gateway:

Bestätigungen
- Autor: Rodrigo Pace de Barros (Oracle LAD A-Team Cloud Security Solution Engineer)
Weitere Lernressourcen
Sehen Sie sich weitere Übungen zu docs.oracle.com/learn an, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube-Kanal zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um ein Oracle Learning Explorer zu werden.
Die Produktdokumentation finden Sie im Oracle Help Center.
Secure Legacy Applications by Using OCI IAM App Gateway
G43058-01