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:

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.

  1. 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 -nodes
    

    Wenn Sie den Befehl ausführen, ersetzen Sie den Ländercode US durch 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.

  2. 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
    
  3. Verwenden Sie dann den Metadatendienst auf der virtuellen Serverinstanz oder dem Bare Metal Server, um ein Client-Zertifikat zu erstellen.

    1. Stellen Sie eine PUT /instance_identity/v1/token (virtuelle Serverinstanz) oder PUT /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:
    2. Verwenden Sie das Identitäts-Token, um ein Identitätszertifikat zu erstellen. Stellen Sie eine POST /instance_identity/v1/certificates Anfrage für eine virtuelle Serverinstanz oder eine POST /identity/v1/certificates für einen Bare Metal Server. Geben Sie das Identitäts-Token im HTTP Authorization-Header an, sowie eine Certificate Signing Request (als csr Eigenschaft) und eine Gültigkeitsdauer (als expires_in Eigenschaft). 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:
    3. 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 .pem hat.
  4. 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

  1. Installieren und konfigurieren Sie den strongSwan Client. Sie müssen den IPsec-Transportmodus für die Mount-Zieladresse konfigurieren.

  2. 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.

  3. Stellen Sie eine sichere Verbindung her, indem Sie den strongSwan Client starten.

  4. Mounten Sie Ihre Dateifreigabe.