Authenticated-Origin-Pull
Authenticated Origin Pull ist eine Sicherheitsfunktion, die eine sichere Kommunikation zwischen IBM Cloud® Internet Services und Ihrem Ursprungsserver gewährleistet. Es verwendet gegenseitiges TLS ( mTLS ), um sowohl den CIS als auch den Ursprungsserver zu authentifizieren, so dass nur Anfragen von dem vertrauenswürdigen IBM Cloud® Internet Services auf Ihren Server zugreifen können. Diese Einrichtung schützt Ihren Ursprungsserver vor unberechtigtem Zugriff und erhöht die allgemeine Sicherheit Ihrer Webanwendungen.
Origin-Webserver überprüfen, dass eine Webanforderung von IBM Cloud® Internet Services durch authentifizierte Origin-Pulls kommt. CIS verwendet TLS-Client-Zertifikat-Authentifizierung, eine Funktion, die von den meisten Webservern unterstützt wird, um ein CIS-Zertifikat zu präsentieren, wenn es eine Verbindung zwischen CIS und dem Origin-Webserver herstellt. Durch die Validierung dieses Zertifikat auf Ihrem Ursprungs-Web-Server wird der Zugriff auf CIS Verbindungen begrenzt.
Ein authentifizierter Ursprungszug ist wichtig, wenn Sie die Vorteile der Web Application Firewall (WAF) nutzen. Nachdem Ihr Ursprungs-Webserver authentifizierte Ursprungszugriffe erzwungen hat, werden alle HTTPS-Anfragen außerhalb von CIS blockiert, um Ihren Ursprung zu erreichen.
Sie können den authentifizierten Ursprungszugriff mit einer der folgenden Optionen konfigurieren:
- Authentifizierter Ursprungszug auf Zonenebene unter Verwendung von CIS Zertifikaten
- Authentifizierter Ursprungszug auf Zonenebene durch Verwendung von Kundenzertifikaten
- Per-Hostname authentifizierter Herkunftszug durch Verwendung von Kundenzertifikaten
Clientzertifikate werden nach Ablauf nicht von CIS gelöscht, es sei denn, eine Löschen- oder Ersetzen-Anforderung wird an die API CIS gesendet. Anfragen werden jedoch an Ihrem Ursprung verworfen, wenn Ihr Ursprung nur ein gültiges Client-Zertifikat akzeptiert.
Authenticated-Origin-Pull funktioniert nicht im SSL-Modus Off (not secure) oder Client-to-Edge.
Authentifizierte Ursprungs-Pull-Operation auf Zonenebene mit CIS-Zertifikaten
Diese Option ermöglicht den sicheren Zugriff auf Inhalte vom Ursprungsserver aus, indem Anfragen mit den von CIS bereitgestellten Zertifikaten auf Zonenebene authentifiziert werden.
CIS verwendet die folgende CA zum Unterzeichnen von Zertifikaten für den Authenticated-Origin-Pull-Service:
Laden Sie das Zertifikat herunter und speichern Sie die Datei auf Ihrem Ursprungs-Web-Server, z. B. in /path/to/origin-pull-ca.pem.
Um den authentifizierten Ursprung zu aktivieren, ziehen Sie global auf eine Zone:
- Installieren Sie das Zertifikat auf dem ursprünglichen Webserver, um alle Verbindungen zu authentifizieren.
- Konfigurieren Sie CIS mit End-to-End flexibel.
- Konfigurieren Sie den ursprünglichen Webserver so, dass er Client-Zertifikate akzeptiert.
- Aktivieren Sie den authentifizierten Ursprungszugriff mit Hilfe der CIS CLI.
Authentifizierter Ursprungszugriff auf Zonenebene mit benutzerdefinierten Zertifikaten
Diese Option ermöglicht den sicheren Zugriff auf Inhalte vom Ursprungsserver aus, indem vom Kunden hochgeladene Zertifikate zur Authentifizierung auf Zonenebene verwendet werden.
-
Wenn Sie einen ECC-Schlüssel verwenden, der von OpenSSL, erzeugt wurde, entfernen Sie zunächst
-----BEGIN EC PARAMETERS-----...-----END EC PARAMETERS-----aus der Zertifikatsdatei. -
Stellen Sie sicher, dass das Zertifikat und der Schlüssel das folgende Format haben, bevor Sie es auf CIS hochladen:
$ cat app_example_com.pem -----BEGIN CERTIFICATE----- MIIFJDCCBAygAwIBAgIQD0ifmj/Yi5Nz2gdUySbfzANBgkqhkiG9w0BAQsFADBN MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E ... SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O OeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7 -----END CERTIFICATE----- -
Ersetzen Sie die Zeilenendungen durch die Zeichenfolge
\n:MYCERT="$(cat app_example_com.pem|perl -pe 's/\r?\n/\\n/'|sed -e 's/..$//')" $ MYKEY="$(cat app_example_com.key|perl -pe 's/\r?\n/\\n/'| sed -e's/..$//')" echo $MYCERT -----BEGIN CERTIFICATE-----\nMIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/ 2gdUySbfzANBgkqhkiG9w0BAQsFADBN\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E...SzSHfXp5lnu/ 3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O\nOeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7\n-----END CERTIFICATE-----\n -
Erstellen Sie die Nutzdaten:
$ request_body=$(< <(cat <<EOF { "certificate": "$MYCERT", "private_key": "$MYKEY" } } EOF )) -
Laden Sie das Client-Zertifikat und den privaten Schlüssel über die CIS CLI hoch.
-
Aktivieren Sie den authentifizierten Ursprungszugriff über die CIS CLI.
Authentifizierter Herkunftszug pro Hostname unter Verwendung von Kundenzertifikaten
Diese Option ermöglicht den sicheren Zugriff auf Inhalte vom Ursprungsserver aus, indem Anfragen mit Kundenzertifikaten auf einer Pro-Hostname-Basis authentifiziert werden.
Wenn Sie authentifizierten Ursprungszugriff pro Hostname aktivieren, wird der gesamte Proxy-Verkehr zum angegebenen Hostnamen am Ursprungs-Webserver authentifiziert. Sie können Clientzertifikate aus Ihrer eigenen Public Key Infrastructure (PKI) verwenden, um Verbindungen von CISzu authentifizieren.
So laden Sie ein Clientzertifikat in CIShoch:
-
Wenn Sie einen ECC-Schlüssel verwenden, der von OpenSSL, erzeugt wurde, entfernen Sie zunächst
-----BEGIN EC PARAMETERS-----...-----END EC PARAMETERS-----aus der Zertifikatsdatei. -
Stellen Sie sicher, dass das Zertifikat das folgende Format hat, bevor Sie es auf CIS hochladen.
$ cat app_example_com.pem -----BEGIN CERTIFICATE----- MIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/2gdUySbfzANBgkqhkiG9w0BAQsFADBN MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E ... SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O OeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7 -----END CERTIFICATE----- -
Ersetzen Sie die Zeilenendungen durch die Zeichenfolge
\n:MYCERT="$(cat app_example_com.pem|perl -pe 's/\r?\n/\\n/'|sed -e 's/..$//')" $ MYKEY="$(cat app_example_com.key|perl -pe 's/\r?\n/\\n/'|sed -e's/..$//')" echo $MYCERT -----BEGIN CERTIFICATE-----\nMIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/2gdUySbfzANBgkqhkiG9w0BAQsFADBN\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E...SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O\nOeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7\n-----END CERTIFICATE-----\n -
Erstellen Sie die Nutzdaten:
$ request_body=$(< <(cat <<EOF { "certificate": "$MYCERT", "private_key": "$MYKEY" } } EOF )) -
Laden Sie das Client-Zertifikat und den privaten Schlüssel über die CIS CLI hoch.
-
Aktivieren Sie den authentifizierten Ursprungszugriff auf den angegebenen Hostnamen über die CIS CLI. Verknüpfen Sie das Client-Zertifikat mit einem bestimmten Hostnamen.
Clientzertifikat ohne Ausfallzeiten ersetzen
Für Hostname:
- Laden Sie das neue Zertifikat hoch.
- Verknüpfen Sie die neue Zertifikats-ID und den Hostnamen mit den aktivierten Werten.
Für global:
- Laden Sie das neue Zertifikat hoch.
- Vergewissern Sie sich, dass das neue Zertifikat im Status "Aktiv" ist.
- Nachdem das Zertifikat aktiv ist, löschen Sie das alte Zertifikat.
Wenden Sie gleichzeitig ein anderes Clientzertifikat (auf der Ebene der Zone und des Hostnamens) an.
- Laden Sie ein Zertifikat hoch, indem Sie die Schritte im Abschnitt Ziehen des authentifizierten Ursprungs auf Zonenebene ausführen.
- Laden Sie mehrere Zertifikate hoch, indem Sie die Schritte im Abschnitt Authentifiziertes Ziehen des Ursprungs pro Hostname mit Hilfe von Kundenzertifikaten ausführen.
Installation auf Apache und NGINX
Verwenden Sie die folgenden Anweisungen zum Konfigurieren von TLS-Authenticated-Origin-Pulls für die Web-Server von NGINX oder Apache.
Apache einrichten
Verwenden Sie End-to-End flexible und aktualisieren Sie die SSL-Konfiguration des Ursprungs-Webservers anhand der folgenden Schritte.
-
Laden Sie das authentifizierte Ursprungszeugnis herunter (
origin-pull-ca.pem). -
Speichern Sie das Zertifikat in einer Datei auf Ihrem Ursprungs-Webserver, zum Beispiel in
/path/to/origin-pull-ca.pem. -
Fügen Sie die folgenden Zeilen zur SSL-Konfiguration für Ihren Ursprungs-Web-Server hinzu:
SSLVerifyClient require SSLVerifyDepth 1 SSLCACertificateFile /path/to/origin-pull-ca.pem
NGINX einrichten
Verwenden Sie End-to-End flexible und aktualisieren Sie die SSL-Konfiguration des Ursprungs-Webservers anhand der folgenden Schritte.
-
Laden Sie das authentifizierte Ursprungszeugnis herunter (
origin-pull-ca.pem). -
Speichern Sie das Zertifikat in einer Datei auf Ihrem Ursprungs-Webserver, zum Beispiel in
/etc/nginx/certs/cloudflare.crt. -
Fügen Sie die folgenden Zeilen zur SSL-Konfiguration für Ihren Ursprungs-Web-Server hinzu:
ssl_client_certificate /etc/nginx/certs/cloudflare.crt; ssl_verify_client on;