Einrichten der Verschlüsselung im Transit für zonale Dateifreigaben
Richten Sie verschlüsselte Einbindungsverbindungen für zonale Dateifreigaben ein, indem Sie das IPsec-Sicherheitsprotokoll und Zertifikate von X.509 für eine sichere End-to-End-Datenverschlüsselung verwenden.
IPsec ist eine Gruppe von Protokollen, die zusammen verschlüsselte Verbindungen zwischen Geräten aufbauen. Es trägt dazu bei, dass die über öffentliche Netze übermittelten Daten sicher sind. IPsec verschlüsselt IP-Pakete und authentifiziert die Quelle, von der die Pakete kommen. Um IPsec auf Ihrer virtuellen Serverinstanz zu konfigurieren, können Sie strongSwan verwenden, eine IPsec-basierte Open-Source-VPN-Lösung. Weitere Informationen über die Funktionsweise von strongSwan finden Sie auch unter Einführung in strongSwan und IPsec-Protokoll.
Für die IPsec-Verbindung benötigen Sie ein X.509 Zertifikat zur Authentifizierung. X.509 ist ein internationales Standardformat für Public-Key-Zertifikate, digitale Dokumente, die kryptografische Schlüsselpaare sicher mit Identitäten wie Websites, Personen oder Organisationen verknüpfen. Der Metadatendienst wird zur Erstellung der Zertifikate verwendet.
Ein Certificate Signing Request (CSR) ist ein Block verschlüsselter Texte, der an eine Zertifizierungsstelle (CA) weitergeleitet wird, wenn Benutzer ein Zertifikat beantragen. CSR wird auf dem Server erstellt, auf dem das Zertifikat installiert werden soll. CSR enthält Informationen wie den Domänennamen, den Namen der Organisation, den Ort und das Land. Die Anfrage enthält auch den öffentlichen Schlüssel, der mit dem erzeugten Zertifikat verbunden ist, und den privaten Schlüssel. Die CA verwendet bei der Erstellung des Zertifikats nur den öffentlichen Schlüssel. Der private Schlüssel muss gespeichert und geheim gehalten werden. Da der private Schlüssel Teil des Schlüsselpaares mit dem öffentlichen Schlüssel ist, funktioniert das Zertifikat nicht, wenn der private Schlüssel verloren geht.
Wenn Sie IPsec-Verbindungen zum Einbinden von Zonen-Dateifreigaben verwenden, kann es während Wartungsarbeiten oder bei Knotenausfällen zu vorübergehenden Unterbrechungen der Einbindung kommen. In seltenen Fällen kann es bei IPsec-konfigurierten Einbindungen zu Dienstunterbrechungen von bis zu 3 Minuten kommen. Weitere Informationen finden Sie unter „ Mögliche Unterbrechung der Einbindung von IPsec-konfigurierten Zonen-Dateifreigaben während Wartungsarbeiten “.
Bevor Sie mit der Konfiguration der Verschlüsselung im Transit mit IPsec beginnen
Um die Funktion nutzen zu können, müssen die folgenden Voraussetzungen erfüllt sein:
- Die Dateifreigabe muss auf dem Profil
dp2basieren und mit dem Zugriffsmodus Sicherheitsgruppe konfiguriert sein. - Das Einhängeziel muss mit einer virtuellen Netzwerkschnittstelle erstellt werden. Die virtuelle Serverinstanz und das Einhängeziel müssen Mitglieder der gleichen Sicherheitsgruppe sein. Weitere Informationen finden Sie unter Erstellen von Dateifreigaben und Einhängezielen.
- Die Datenverschlüsselung bei der Übertragung muss aktiviert sein. In der Konsole können Sie die Verschlüsselung während der Übertragung einschalten, wenn Sie das Einhängeziel erstellen. Die Eigenschaft API
transit_encryptionakzeptiert den Wertipseczur Aktivierung der Funktion. - Der Metadatendienst muss auf dem Compute-Host aktiviert sein. Weitere Informationen finden Sie unter Metadatendienst auf virtuellen Serverinstanzen und Metadatendienst auf Bare-Metal-Servern.
Der Dateidienst „ IBM Cloud® “ stellt das Dienstprogramm „Mount Helper“ zur Verfügung, mit dem die folgenden Aufgaben, die auf dem Rechenhost ausgeführt werden, automatisiert werden können.
Wenn Sie eine Dateifreigabe für Instanzen bereitstellen möchten, die in verschiedenen VPCs innerhalb einer Zone ausgeführt werden, können Sie mehrere Einbindungsziele erstellen. Sie können für jede VPC ein Mount-Ziel erstellen.
Beschaffung des Instanzidentitätszertifikats
Beziehen Sie die X.509 Zertifikate, die für die Authentifizierung benötigt werden. Dieselben Zertifikate können nicht in mehreren Regionen verwendet werden.
-
Der folgende Befehl generiert eine Certificate Signing Request (CSR) und ein RSA-Schlüsselpaar mithilfe von openssl.
openssl req -sha256 -newkey rsa:4096 -subj '/C=US' -out ./sslcert.csr -keyout file.key -nodesWenn Sie den Befehl ausführen, ersetzen Sie den Ländercode
USdurch Ihren zweistelligen Ländercode in'/C=US'.OpenSSL ist ein Open-Source-Befehlszeilen-Toolkit, mit dem Sie Zertifikate von „ X.509 “, Zertifikatssignierungsanfragen (CSRs) und kryptografische Schlüssel verwalten können. Weitere Informationen finden Sie unter OpenSSL Dokumentation.
Wenn Sie eine andere Software zur Erstellung der CSR verwenden, werden Sie möglicherweise aufgefordert, Informationen über Ihren Standort einzugeben. Ihre Standortinformationen können den Ländercode (C), das Bundesland (ST), den Ort (L), den Namen Ihrer Organisation (O) und die Organisationseinheit (OU) umfassen. Jedes dieser Benennungsattribute kann verwendet werden. Alle anderen Namensattribute, wie z. B. der gemeinsame Name, werden abgelehnt. CSRs mit angegebenem Common Name werden abgelehnt, da das System bei der Anforderung automatisch Instanz-ID-Werte auf den Common Name des Betreffs für die Instanzidentitätszertifikate anwendet. CSRs mit Erweiterungen werden ebenfalls abgelehnt.
-
Formatieren Sie die csr, bevor Sie einen API-Aufruf an den Metadatendienst tätigen, indem Sie den folgenden Befehl verwenden.
awk 'NF {sub(/\r/, ""); printf "%s\\n",$0;}' sslcert.csr -
Verwenden Sie dann den Metadatendienst auf der virtuellen Serverinstanz oder dem Bare Metal Server, um ein Client-Zertifikat zu erstellen.
- Stellen Sie eine
PUT /instance_identity/v1/token(virtuelle Serverinstanz) oderPUT /identity/v1/tokens(Bare Metal Server) Anfrage, um ein Token vom VPC-Identitätsdienst zu erhalten, das für nachfolgende Aufrufe verwendet werden kann. Weitere Informationen finden Sie in den folgenden Quellen: - Verwenden Sie das Identitäts-Token, um ein Identitätszertifikat zu erstellen. Stellen Sie eine
POST /instance_identity/v1/certificatesAnfrage für eine virtuelle Serverinstanz oder einePOST /identity/v1/certificatesfür einen Bare Metal Server. Geben Sie das Identitäts-Token im HTTP Authorization-Header an, sowie eine Certificate Signing Request (alscsrEigenschaft) und eine Gültigkeitsdauer (alsexpires_inEigenschaft). Der Aufruf liefert ein neues Client-Zertifikat und eine Zwischenzertifikatskette, die dem Client den Zugriff auf Dateifreigaben unter Verwendung von IPsec Encryption in Transit ermöglicht. Weitere Informationen finden Sie in den folgenden Quellen: - Kopieren Sie die API-Antwortausgabe, einschließlich der Zeilen
-----BEGIN CERTIFICATE-----und-----END CERTIFICATE-----, und speichern Sie sie in einer Datei mit einem erkennbaren Namen, z. B.ca-cert.pem. Achten Sie darauf, dass die von Ihnen erstellte Datei die Erweiterung.pemhat.
- Stellen Sie eine
-
Kopieren Sie das Instanzidentitätszertifikat in das Verzeichnis
/etc/ipsec.d/cacerts.sudo cp /tmp/ca-cert.pem /etc/ipsec.d/cacerts
Konfigurieren des Hosts und Mounten der Freigabe
-
Installieren und konfigurieren Sie den strongSwan Client. Sie müssen den IPsec-Transportmodus für die Mount-Zieladresse konfigurieren.
-
Stellen Sie sicher, dass Sie die erforderlichen Plug-ins (
libcharon-extra-plugins) für die Authentifizierung installieren und die Konfigurationsdateien mit dem Speicherort des Instanzidentitätszertifikats aktualisieren. -
Stellen Sie eine sichere Verbindung her, indem Sie den strongSwan Client starten.
-
Mounten Sie Ihre Dateifreigabe.