Gegenseitige Authentifizierung - AWS Client VPN

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Gegenseitige Authentifizierung

Bei der gegenseitigen Authentifizierung verwendet Client VPN zur Authentifizierung zwischen Client und Server Zertifikate. Zertifikate sind eine digitale Methode zur Identifizierung. Sie werden von einer Zertifizierungsstelle (Certificate Authority, CA) ausgestellt. Der Server verwendet Client-Zertifikate zur Authentifizierung von Clients, wenn sie versuchen, eine Verbindung mit dem Client VPN-Endpunkt herzustellen. Sie müssen ein Serverzertifikat und -schlüssel sowie mindestens ein Client-Zertifikat und -Schlüssel erstellen.

Sie müssen das Serverzertifikat auf AWS Certificate Manager (ACM) hochladen und es angeben, wenn Sie einen Client-VPN-Endpunkt erstellen. Wenn Sie das Serverzertifikat in ACM hochladen, geben Sie auch die Zertifizierungsstelle (Certificate Authority, CA) an. Sie müssen das Client-Zertifikat nur dann in ACM hochladen, wenn die Zertifizierungsstelle des Client-Zertifikats von der Zertifizierungsstelle des Serverzertifikats abweicht. Weitere Informationen zu ACM finden Sie im AWS Certificate Manager -Benutzerhandbuch.

Sie können für jeden Client, der eine Verbindung mit dem Client VPN-Endpunkt herstellt, ein separates Client-Zertifikat und einen separaten Client-Schlüssel erstellen. Auf diese Weise können Sie ein bestimmtes Client-Zertifikat widerrufen, wenn ein Benutzer Ihre Organisation verlässt. In diesem Fall können Sie beim Erstellen des Client VPN-Endpunkts den ARN des Serverzertifikats für das Clientzertifikat angeben, vorausgesetzt, dass das Clientzertifikat von derselben Zertifizierungsstelle wie das Serverzertifikat ausgestellt wurde.

Anmerkung

Client VPN-Endpunkte unterstützen bei RSA nur Schlüsselgrößen von 1024-Bit und 2048-Bit. Außerdem muss das Clientzertifikat das CN-Attribut im Feld „Subject“ (Betreff) enthalten.

Wenn das vom Client-VPN-Service verwendete Zertifikat aktualisiert wird, entweder durch automatische ACM-Rotation oder manuelles Importieren eines neuen Zertifikats, wird der Client-VPN-Endpunkt mit dem neueren Zertifikat aktualisiert. Dieser ist ein automatisierter Vorgang, der bis zu 24 Stunden dauern kann.

Linux/macOS

Im folgenden Verfahren wird OpenVPN easy-rsa zum Generieren der Server- und Client-Zertifikate sowie der Schlüssel verwendet. Anschließend werden das Serverzertifikat und der Schlüssel nach ACM hochgeladen. Weitere Informationen finden Sie in der Easy-RSA 3 Quickstart README-Datei.

So generieren Sie die Server- und Client-Zertifikate und Schlüssel und laden Sie nach ACM hoch
  1. Klonen Sie das OpenVPN easy-rsa Repo auf Ihren On-Premise-Computer und navigieren Sie zum Ordner easy-rsa/easyrsa3.

    $ git clone https://github.com/OpenVPN/easy-rsa.git
    $ cd easy-rsa/easyrsa3
  2. Initialisieren Sie eine neue PKI-Umgebung.

    $ ./easyrsa init-pki
  3. Um eine neue Zertifizierungsstelle (Certificate Authority, CA) zu erstellen, führen Sie diesen Befehl aus und folgen Sie den Anweisungen.

    $ ./easyrsa build-ca nopass
  4. Generieren Sie das Server-Zertifikat und den Schlüssel.

    $ ./easyrsa --san=DNS:server build-server-full server nopass
  5. Generieren Sie das Client-Zertifikat und den Schlüssel.

    Stellen Sie sicher, dass das Client-Zertifikat und der private Client-Schlüssel gespeichert werden, da Sie diese zum Konfigurieren des Clients benötigen.

    $ ./easyrsa build-client-full client1.domain.tld nopass

    Sie können diesen Schritt optional für jeden Client (Endbenutzer) wiederholen, der ein Client-Zertifikat und einen Schlüssel benötigt.

  6. Kopieren Sie das Server-Zertifikat und den Schlüssel sowie das Client-Zertifikat und den Schlüssel in einen benutzerdefinierten Ordner und wechseln Sie dann in den benutzerdefinierten Ordner.

    Bevor Sie die Zertifikate und Schlüssel kopieren, erstellen Sie den benutzerdefinierten Ordner mit dem Befehl mkdir. Das folgende Beispiel erstellt einen benutzerdefinierten Ordner in Ihrem Stammverzeichnis.

    $ mkdir ~/custom_folder/ $ cp pki/ca.crt ~/custom_folder/ $ cp pki/issued/server.crt ~/custom_folder/ $ cp pki/private/server.key ~/custom_folder/ $ cp pki/issued/client1.domain.tld.crt ~/custom_folder $ cp pki/private/client1.domain.tld.key ~/custom_folder/ $ cd ~/custom_folder/
  7. Laden Sie das Server-Zertifikat und den Schlüssel sowie das Client-Zertifikat und den Schlüssel auf ACM hoch. Stellen Sie sicher, dass Sie diese in die Region hochladen, in der Sie den Client VPN-Endpunkt erstellen möchten. Die folgenden Befehle verwenden AWS CLI zum Hochladen der Zertifikate. Informationen zum Hochladen der Zertifikate mit der ACM-Konsole finden Sie unter Importieren eines Zertifikats im AWS Certificate Manager -Benutzerhandbuch.

    $ aws acm import-certificate --certificate fileb://server.crt --private-key fileb://server.key --certificate-chain fileb://ca.crt
    $ aws acm import-certificate --certificate fileb://client1.domain.tld.crt --private-key fileb://client1.domain.tld.key --certificate-chain fileb://ca.crt

    Sie müssen das Clientzertifikat nicht zwangsläufig zu ACM hochladen. Wenn das Server- und das Clientzertifikat von derselben Zertifizierungsstelle (CA) ausgestellt wurden, können Sie den ARN des Serverzertifikats beim Erstellen des Client-VPN-Endpunkts für den Server und den Client verwenden. In den oben aufgeführten Schritten wurden beide Zertifikate mithilfe derselben Zertifizierungsstelle erstellt. Die Schritte zum Hochladen des Clientzertifikats sind jedoch der Vollständigkeit halber enthalten.

Windows

Mit dem folgenden Verfahren wird die Software „Easy-RSA 3.x“ installiert und dazu verwendet, Server- und Clientzertifikate sowie die Schlüssel zu generieren.

So generieren Sie Server- und Client-Zertifikate und Schlüssel und laden Sie nach ACM hoch
  1. Öffnen Sie die Seite mit den EasyRSA-Versionen und laden Sie die ZIP-Datei für Ihre Version von Windows herunter und extrahieren Sie sie.

  2. Öffnen Sie eine Eingabeaufforderung und navigieren Sie zu dem Speicherort, an den der Ordner „EasyRSA-3.x“ extrahiert wurde.

  3. Führen Sie den folgenden Befehl aus, um die EasyRSA-3-Shell zu öffnen.

    C:\Program Files\EasyRSA-3.x> .\EasyRSA-Start.bat
  4. Initialisieren Sie eine neue PKI-Umgebung.

    # ./easyrsa init-pki
  5. Um eine neue Zertifizierungsstelle (Certificate Authority, CA) zu erstellen, führen Sie diesen Befehl aus und folgen Sie den Anweisungen.

    # ./easyrsa build-ca nopass
  6. Generieren Sie das Server-Zertifikat und den Schlüssel.

    # ./easyrsa --san=DNS:server build-server-full server nopass
  7. Generieren Sie das Client-Zertifikat und den Schlüssel.

    # ./easyrsa build-client-full client1.domain.tld nopass

    Sie können diesen Schritt optional für jeden Client (Endbenutzer) wiederholen, der ein Client-Zertifikat und einen Schlüssel benötigt.

  8. Beenden Sie die EasyRSA-3-Shell.

    # exit
  9. Kopieren Sie das Server-Zertifikat und den Schlüssel sowie das Client-Zertifikat und den Schlüssel in einen benutzerdefinierten Ordner und wechseln Sie dann in den benutzerdefinierten Ordner.

    Bevor Sie die Zertifikate und Schlüssel kopieren, erstellen Sie den benutzerdefinierten Ordner mit dem Befehl mkdir. Im folgenden Beispiel wird ein benutzerdefinierter Ordner in Ihrem C:\-Laufwerk erstellt.

    C:\Program Files\EasyRSA-3.x> mkdir C:\custom_folder C:\Program Files\EasyRSA-3.x> copy pki\ca.crt C:\custom_folder C:\Program Files\EasyRSA-3.x> copy pki\issued\server.crt C:\custom_folder C:\Program Files\EasyRSA-3.x> copy pki\private\server.key C:\custom_folder C:\Program Files\EasyRSA-3.x> copy pki\issued\client1.domain.tld.crt C:\custom_folder C:\Program Files\EasyRSA-3.x> copy pki\private\client1.domain.tld.key C:\custom_folder C:\Program Files\EasyRSA-3.x> cd C:\custom_folder
  10. Laden Sie das Server-Zertifikat und den Schlüssel sowie das Client-Zertifikat und den Schlüssel auf ACM hoch. Stellen Sie sicher, dass Sie diese in die Region hochladen, in der Sie den Client VPN-Endpunkt erstellen möchten. Die folgenden Befehle verwenden den AWS CLI , um die Zertifikate hochzuladen. Informationen zum Hochladen der Zertifikate mit der ACM-Konsole finden Sie unter Importieren eines Zertifikats im AWS Certificate Manager -Benutzerhandbuch.

    aws acm import-certificate --certificate fileb://server.crt --private-key fileb://server.key --certificate-chain fileb://ca.crt
    aws acm import-certificate --certificate fileb://client1.domain.tld.crt --private-key fileb://client1.domain.tld.key --certificate-chain fileb://ca.crt

    Sie müssen das Clientzertifikat nicht zwangsläufig zu ACM hochladen. Wenn das Server- und das Clientzertifikat von derselben Zertifizierungsstelle (CA) ausgestellt wurden, können Sie den ARN des Serverzertifikats beim Erstellen des Client-VPN-Endpunkts für den Server und den Client verwenden. In den oben aufgeführten Schritten wurden beide Zertifikate mithilfe derselben Zertifizierungsstelle erstellt. Die Schritte zum Hochladen des Clientzertifikats sind jedoch der Vollständigkeit halber enthalten.

Erneuerung Ihres Serverzertifikats

Sie können ein abgelaufenes Serverzertifikat erneuern und erneut importieren. Je nachdem, welche Version von OpenVPN easy-rsa Sie verwenden, variiert das Verfahren. Weitere Informationen finden Sie in der Dokumentation zur Verlängerung und zum Widerruf von Easy-RSA 3-Zertifikaten.

Erneuern Sie Ihr Serverzertifikat
  1. Führen Sie einen der folgenden Schritte aus:

    • Easy-RSA Version 3.1.x

      1. Führen Sie den Befehl „certificate renew“ aus.

        $ ./easyrsa renew server nopass
    • Easy-RSA versie 3.2.x

      1. Führen Sie den Befehl expire aus.

        $ ./easyrsa expire server
      2. Signieren Sie ein neues Zertifikat.

        $ ./easyrsa sign-req server server
  2. Erstellen Sie einen benutzerdefinierten Ordner, kopieren Sie die neuen Dateien dorthin und navigieren Sie dann in den Ordner.

    $ mkdir ~/custom_folder2 $ cp pki/ca.crt ~/custom_folder2/ $ cp pki/issued/server.crt ~/custom_folder2/ $ cp pki/private/server.key ~/custom_folder2/ $ cd ~/custom_folder2/
  3. Importieren Sie die neuen Dateien in ACM. Achten Sie darauf, sie in derselben Region wie den Client-VPN-Endpunkt zu importieren.

    $ aws acm import-certificate --certificate fileb://server.crt --private-key fileb://server.key --certificate-chain fileb://ca.crt