Hinweis:
- Dieses Tutorial erfordert Zugriff auf Oracle Cloud. Informationen zum Registrieren eines kostenlosen Accounts finden Sie unter Erste Schritte mit Oracle Cloud Infrastructure Free Tier.
- Es verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, -Mandanten und -Compartments. Wenn Sie Ihre Übung abgeschlossen haben, ersetzen Sie diese Werte durch spezifische Werte für Ihre Cloud-Umgebung.
Vollständig kompatible JSON-Vorlagen aus benutzerdefinierten PEM-Zertifikaten für OCI Network Firewall erstellen
Einführung
Oracle Cloud Infrastructure Network Firewall (OCI Network Firewall), eine robuste Netzwerksicherheitslösung, bietet erweiterte Sicherheitsfunktionen, einschließlich Entschlüsselungsprofilen. Mit diesen Profilen kann die Firewall den SSL-/TLS-Traffic für verbesserte Sicherheit entschlüsseln und prüfen.
In diesem Tutorial vereinfachen wir das Generieren vollständig kompatibler JSON-Vorlagen basierend auf PEM-(Privacy Enhanced Mail-)Zertifikaten. So können Sie Entschlüsselungsprofile effektiv in OCI Network Firewall konfigurieren, ohne unnötige Parsingfehler bei zugeordneten Secrets zu erhalten (d.h. zugeordnetes Secret "Mapped-secret" nicht erfolgreich). Secret kann nicht abgerufen werden).
Um Entschlüsselungsregeln effektiv zu verwenden, müssen Sie zugeordnete Secrets für die Verwendung in einem Entschlüsselungsprofil einrichten. Diese zugeordneten Secrets werden zunächst in Oracle Cloud Infrastructure Vault erstellt und anschließend mit dem Eingehende SSL-Prüfung- oder SSL-Forward-Proxy-Modus verknüpft.
Was ist OCI Network Firewall
Die Oracle Cloud Infrastructure Network Firewall stellt einen hochmodernen verwalteten Firewall-Service dar, der mit der Next-Generation Firewall Technology (NGFW) von Palo Alto Networks erstellt wird. Sie bietet auf maschinellem Lernen basierende Firewallfunktionen zum Schutz Ihrer OCI-Workloads und ist auf OCI einfach zu nutzen. Als natives OCI-Firewall-as-a-Service-Angebot können Sie mit OCI Network Firewall die Vorteile der Firewallfunktionen nutzen, ohne zusätzliche Sicherheitsinfrastruktur konfigurieren und verwalten zu müssen. Die OCI Network Firewall-Instanz ist mit integrierter High Availability hoch skalierbar und kann in einem virtuellen Cloud-Netzwerk (VCN) und Subnetz Ihrer Wahl erstellt werden
Der Network Firewall-Service bietet tiefe Einblicke in den Datenfluss, der in Ihre Cloud-Umgebungen eintritt, und adressiert sowohl eingehende als auch die Kommunikation zwischen Subnetzen und VCN. Im Wesentlichen bietet es Einblick in den Nord-Süd-Netzwerkverkehr und den Ost-West-Netzwerkverkehr.
Wenn Sie dieses Tutorial befolgen, können Sie die JSON-Vorlagen basierend auf CA-Zertifikaten (einschließlich Zwischenzertifikaten) sowie den öffentlichen und privaten Zertifikatspaaren erstellen, die für die Entschlüsselung erforderlich sind.
Ziele
-
Herunterladen und Installieren von Perl.
-
Download und Installation von OpenSSL.
-
Geben Sie einen einfachen Skriptcode an, um die Erstellung von JSON-Vorlagen einschließlich der angeforderten PEM-Zertifikate zu vereinfachen, um den SSL-Entschlüsselungsprozess zu aktivieren.
-
Testen Sie die Skripte.
Voraussetzungen
-
Ein aktiver OCI-Mandant. Sie benötigen die erforderlichen Berechtigungen zum Erstellen und Verwalten von Netzwerkressourcen in OCI.
-
Ein grundlegendes Verständnis von Linux OS, OCI und Oracle Linux, einschließlich der Installation und Konfiguration von Software in Linux.
-
Ein gutes Verständnis für die Verwendung der OCI-Konsole oder OCI-CLI zum Erstellen und Verwalten von Netzwerkressourcen.
-
Ein gutes Verständnis für die Verwendung und Konfiguration von OCI Network Firewall.
Aufgabe 1: JSON-Vorlage zum Einrichten der Zertifikatsauthentifizierung konfigurieren
Wir haben ein Linux-Skript erstellt, um eine gut formatierte JSON-Datei aus Ihren eigenen Zertifikaten zu erstellen. Weitere Informationen finden Sie unter Zertifikatsauthentifizierung einrichten.
So sieht die JSON-Datei aus.
{
"caCertOrderedList" : [
"ROOT_CERT01_PEM_CONTENT",
"INTERMEDIATE_CERT01_PEM_CONTENT",
"INTERMEDIATE_CERT02_PEM_CONTENT",
],
"certKeyPair": {
"cert" : "LEAF_CERT_01_PEM_CONTENT",
"key": "PRIVATE_KEY_01_PEM_CONTENT"
}
}
Je nach Entschlüsselungsmodus können Sie die JSON-Datei aus den obligatorischen Zertifikaten wie folgt erstellen:
-
caCertOrderedList, Certificate Authority-Zertifikate (CAs):
-
Eingehende SSL-Prüfung: In diesem Modus schützen Sie den SSL-/TLS-Datenverkehr von Clients zu Ziel-Netzwerkservern (jeder Server, für den Sie das Zertifikat besitzen und den Sie in die Netzwerkfirewall importieren können) und blockieren verdächtige Sitzungen. Wenn Ihr Serverzertifikat, auch Blattzertifikat genannt, von CA-Zwischenzertifikaten signiert ist, empfehlen wir das Hochladen des gesamten Kettenzertifikats ["CA root","intermediate CA 1", "intermediate CA 2" ...].
Hinweis: Laden Sie in
caCertOrderedListdie gesamten CA-Kettenzertifikate hoch, um Probleme bei der Client-seitigen Serverzertifikatauthentifizierung zu vermeiden, da bei einigen Clients möglicherweise nicht die vollständige CA-Kette in ihrem vertrauenswürdigen Speicher installiert ist. -
SSL-Weiterleitungsproxy: Dies ist der Modus, in dem Sie SSL-/TLS-Traffic schützen, der zu externen Sites geht. Er fungiert als SSL-Weiterleitungsproxy. Verwenden Sie diesen Modus, wenn Sie Datenverkehr von internen Benutzern zum Web entschlüsseln und prüfen. Aus offensichtlichen Gründen besitzen Sie keine privaten Schlüssel für die Zertifikate externer Sites. Daher kann die Firewall den Session-Masterschlüssel während der TLS-Aushandlung (RSA) nicht wie bei der eingehenden SSL-Prüfung entschlüsseln und erfassen. In diesem Modus fungiert die Firewall als "Man-in-the-Middle", wodurch eine Kopie der empfangenen Zertifikate von externen Webservern mit einer CA signiert wird, die sich in unserem Besitz befindet (idealerweise eine Enterprise CA). Dieses "kopierte" Zertifikat, genannt Impersonierungszertifikat. Aktivieren Sie Punktnummer 5.
Hinweis: Laden Sie in
caCertOrderedListdas gesamte verkettete Enterprise CA-Zertifikat hoch ["Enterprise CA root", "Enterprise CA intermedi 1", "Enterprise CA intermedi 2" ...").
-
-
certKeyPair, Serverzertifikat und der zugehörige Private Key:
-
Eingehende SSL-Prüfung: Im Modus "Eingehende Prüfung" sind dies die Zielserver, die Sie mit der Netzwerkfirewall (d. h. dem App-Load Balancer) vor externen Clients schützen möchten. Wie oben erwähnt, handelt es sich bei diesen Zielservern um Server, für die Sie das gesamte Zertifikat (Private Key + Zertifikat) besitzen und die Sie kontrollieren können. Hier installieren Sie das öffentliche Zertifikat des Servers im Feld "cert" und den privaten Schlüssel im Feld "key".
-
SSL-Weiterleitungsproxy: In einem SSL-Weiterleitungsproxy-Modus schützen Sie den SSL-/TLS-Datenverkehr interner Clients, der zu externen Sites/Webseiten geleitet wird. Wie oben erwähnt, sind Sie nicht Eigentümer der externen Sites-Zertifikate (privates + öffentliches Zertifikat). Daher muss die Firewall die Identität der empfangenen Zertifikate annehmen, um als Man-in-the-Middle-Proxy zu fungieren. Dazu müssen wir eine benutzerdefinierte CA oder Unternehmens-CA (Root oder Nicht-Root) zusammen mit ihrem Private Key in der Firewall installieren, damit die Firewall die Kopie der empfangenen Serverzertifikate (Impersonation) mit dem CA-Private Key signieren kann. Installieren Sie in certKeyPair das Enterprise CA-Zertifikat im Feld "cert" und seinen privaten Schlüssel im Feld "key".
Hinweis: Das Problem, das wir beobachtet haben, ist, dass viele Kunden ihre Texteditoren verwenden, ihre Zertifikate mit dem vorgeschlagenen JSON-Format kopieren und einfügen. Dies führt zu einer falschen JSON. Dieses Problem hängt mit den Unterschieden zwischen Windows und Linux Zeilenumbrüchen "\r\n" zusammen.
Der Fehler, der beim Erstellen der Netzwerkfirewall von der OCI-Konsole aus auftreten kann, lautet "Zugeordnetes Secret 'Mapped-secret' nicht erfolgreich. Secret kann nicht abgerufen werden".
-
-
Erstellen Sie die erwähnte JSON-Datei mit Ihren Zertifikaten.
-
Kopieren Sie den folgenden Code.
cat > certificates.json << EOF { "caCertOrderedList" : [ "$(perl -pe 's/\n/\\n/' ca.cert.pem)" $(for ((i=1; i<=10; i++)); do intermediate_file="ca.intermediate${i}.pem" if [ -f "$intermediate_file" ]; then echo -n ", \"$(perl -pe 's/\n/\\n/' "$intermediate_file")\"" fi done) ], "certKeyPair": { "cert" : "$(perl -pe 's/\n/\\n/' cert.pem)", "key": "$(perl -pe 's/\n/\\n/' key.pem)" } } EOF -
Fügen Sie die Linux VM-Datei mit der Erweiterung
shein.vi create_json.sh -
Drücken Sie die ESC-Taste, geben Sie den Doppelpunkt
:ein, und geben Siewqein. Drücken Sie die Eingabetaste, um die Datei zu schreiben und den Editor zu beenden. -
Nachdem die Datei erstellt wurde, müssen Sie das Skript ausführbar machen.
chmod +x create_json.sh -
Nachdem das Skript fertig ist, müssen wir die erforderlichen Zertifikate einbringen, um die endgültige JSON-Datei zu erstellen. Das Skript benötigt die folgenden
PEM-Dateinamen:-
CA.cert.pem: Dies ist das ROOT-CA-Zertifikat, mit dem das Zertifikat Ihres internen Webservers in einem eingehenden SSL-Modus signiert wurde. Darüber hinaus kann es sich um die Root-Enterprise-CA handeln, die in einem Forward Proxy-Modus verwendet wird. -
ca.intermediateX.pem: Wenn die verwendete CA zwischengeschaltete/verkettete Zertifikate enthält, fügen Sie sie alsca.intermediate1.pem,ca.intermediate2.pemusw. hinzu (bis zu zehn). Dadurch wird sichergestellt, dass Clients keine Authentifizierungsprobleme haben, da sie nicht in ihrem Trusted CA-Speicher installiert sind. -
cert.pem: Dies ist das (öffentliche) Zertifikat des Servers, das Sie im eingehenden SSL-Modus schützen. Alternativ kann es sich um das Enterprise CA-Zertifikat im Forward Proxy-Modus handeln. -
key.pem: Dies ist der Private Key für das Zertifikat des Servers, den Sie im eingehenden SSL-Modus schützen. Alternativ kann es sich um den Private Key des Enterprise CA-Zertifikats im Forward Proxy-Modus handeln.
-
-
Führen Sie das Skript aus.
./create_json.shEs wird eine Datei mit dem Namen
certificates.jsongeneriert, die Sie einfach kopieren und in Ihren Vault/Secret einfügen können, um sie in Ihrer OCI-Netzwerkfirewall-Policy zu verwenden.
Verwandte Links
Danksagungen
- Autoren - Luis Catalán Hernández (OCI Cloud Network Specialist und Multi Cloud), Sachin Sharma (OCI Cloud Network Specialist)
Weitere Lernressourcen
Lernen Sie andere Übungen auf docs.oracle.com/learn kennen, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube Channel zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.
Produktdokumentation finden Sie im Oracle Help Center.
Create Fully Compatible JSON Templates from Custom PEM Certificates for OCI Network Firewall
F89630-01
November 2023
Copyright © 2023, Oracle and/or its affiliates.