Dieser Configuration Guide zeigt, wie eine Zertifikatsstruktur mit dem Tool XCA erzeugt wird.
Zertifikate bzw. eine Zertifikatsstruktur sind für verschiedene Router-Anwendungen erforderlich, wie:
-
VPN-Verbindungen/-Netzwerke
-
IPsec-Verbindungen
-
Gesicherter Web-Interface-Zugang über HTTPS-Verbindungen
-
Signieren und Verschlüsseln von Update-Paketen zur Sicherstellung ihrer Integrität
Situation
Sie möchten ein VPN-Netzwerk oder eine gesicherte Verbindung aufsetzen und benötigen eine Zertifikatsstruktur für Authentifizierungs- und Verschlüsselungszwecke.
Lösung
Im Folgenden wird beschrieben, wie eine komplette Zertifikatsstruktur bestehend aus CA-Zertifikat, Server-Zertifikat und -Schlüssel, Client-Zertifikat und -Schlüssel sowie einer Certificate Revocation List (CRL, Zertifikats-Rücknahmeliste) erzeugt wird. Je nach Ihrer Anwendung benötigen Sie möglicherweise nicht alle davon.
Es ist erforderlich, dass Sie das Tool XCA heruntergeladen und auf Ihrem Computer installiert haben. Es ist auch erforderlich, dass Uhrzeit und Datum im PC korrekt sind. [1]
Die Erzeugung eines Diffie-Hellman-Parametersatzes mit XCA (Menü Datei –> DH Parameter erstellen) ist hier nicht beschrieben, da ein Diffie-Hellman-Parametersatz bereits auf dem Router gespeichert ist und im Menü Administration → Zertifikate heruntergeladen werden kann (). |
Vorbereitende Schritte
Vor dem Erzeugen der Zertifikatsstruktur muss zuerst eine Datenbank erzeugt werden. In dieser Datenbank werden alle Schlüssel und Zertifikate dieses CA-Projekts abgelegt. Die Zertifikatsvorlagen helfen beim Aufrechterhalten von Konsistenz beim Erzeugen der Zertifikate.
-
Öffnen Sie zum Erzeugen einer Datenbank XCA und wählen Sie File → New DataBase (Strg+N).
-
Wählen Sie ein geeignetes Verzeichnis für die XCA-Datenbank und geben Sie einen Dateinamen an.
-
Geben Sie ein Passwort ein und klicken Sie auf OK, um die Datenbank zu erzeugen. [2]
Erstellen von Zertifikatsvorlagen
Zertifikatsvorlagen (Templates) können verwendet werden, um allgemeine Informationen für alle Zertifikate zu speichern und erleichtern die Erstellung von Zertifikaten.
-
Öffnen Sie zum Erzeugen einer CA-Zertifikatsvorlage XCA, wechseln Sie auf die Registerkarte Templates und klicken Sie auf New Template.
-
Wählen Sie im Fenster Preset Template values [default] CA aus und klicken Sie auf OK.
-
Tragen Sie ihre Vorgabewerte für die CA-Vorlage ohne Angabe eines commonName ein.
-
Wechseln Sie auf die Registerkarte Extensions, legen Sie wenn erforderlich den Gültigkeitszeitraum des Zertifikats durch Angabe einer Zeitspanne fest und klicken Sie auf OK. [3]
-
Schließen Sie die Erstellung der Vorlage mit OK ab. [4]
-
Wiederholen Sie die vorhergehenden Schritte entsprechend, um eine Server-Vorlage und eine Client-Vorlage zu erstellen; achten Sie dabei darauf, die jeweiligen dafür vorgesehen Vorlagen [default] TLS_client bzw. [default] TLS_server zu verwenden.
Wenn Sie Templates für Server- und Client-Zertifikate für OpenVPN-Verbindungen von INSYS-Routern erstellen wollen, bei denen die Option Zertifikatstyp der Gegenstelle überprüfen (remote-cert-tls) aktiviert ist, müssen Sie eine zusätzliche erweiterte Schlüsselverwendung für diese Zertifikate angeben. Diese Schlüsselverwendung ist in den Standardeinstellungen von XCA bereits ausgewählt. Um sicherzustellen, dass diese Schlüsselverwendung angegeben ist, wechseln Sie auf den Reiter Key usage und prüfen Sie, ob unter X509v3 Extended Key Usage die Schlüsselverwendung TLS Web Server Authentication für Server-Templates bzw. TLS Web Client Authentication für Client-Templates eingetragen ist. Wenn nicht, können Sie diese auf den Reiter Key usage angeben. |
Wenn Sie spezielle Templates für Zertifikate, die für das Verschlüsseln oder Signieren von Update-Paketen für INSYS-Router verwendet werden können, erstellen wollen, müssen Sie eine zusätzliche Schlüsselverwendung für diese Zertifikate angeben. Wenn Sie diese Zertifikate basierend auf normalen Templates erzeugen wollen, müssen Sie die Schlüsselverwendung bei der Erstellung der Zertifikate unten angeben. Um die Schlüsselverwendung anzugeben, wechseln Sie auf den Reiter Key usage und wählen Sie die entsprechende X509v3 Key Usage aus. Das Zertifikat für die Verschlüsselung muss die Schlüsselverwendung Data Encipherment haben und das Zertifikat für die Signatur Digital Signature. Dies ist detailliert beschrieben in Signieren und Verschlüsseln von Update-Paketen. |
Erstellen der Zertifikate und Schlüssel
Für die Erzeugung der Zertifikate benötigen Sie einen Common Name. Der Common Name ist der einzigartige Mitgliedsname eines Teilnehmers im gesicherten Netzwerk und wird z. B. zum Routing in die Client-Netzwerke verwendet. Der Common Name darf nur für einen Teilnehmer verwendet werden und ist nach der Erzeugung unveränderlich. Achten Sie beim Common Name auf Groß-/Kleinschreibung und verwenden Sie am besten durchgängig nur eine dieser Möglichkeiten. Die maximale Länge des Common Name für einen INSYS-Router ist 29 Zeichen.
Erstellen eines CA-Zertifikats und Schlüssels
-
Wechseln Sie zum Erzeugen eines CA-Zertifikats und Schlüssels auf die Registerkarte Certificates und klicken Sie auf New Certificate. [5]
-
Wählen Sie die oben erstellte CA-Vorlage unter Template for the new certificate aus.
-
Klicken Sie auf Apply all, um die Daten aus der Vorlage in das Formular einzutragen.
-
Wechseln Sie auf die Registerkarte Subject, geben Sie den commonName an und geben Sie diesen auch als Internal Name ein.
-
Klicken Sie auf Generate a new key.
-
Verwenden sie vorzugsweise den commonName auch als Name und klicken Sie auf Create.
-
Bestätigen sie die Erstellung des Schlüssels mit OK.
-
Klicken sie auf OK und bestätigen Sie erneut mit OK, um die Erstellung des CA-Zertifikats abzuschließen.
Erstellen von Server- und Client-Zertifikaten und Schlüsseln
-
Wechseln Sie zum Erzeugen eines Server-Zertifikats und Schlüssels auf die Registerkarte Certificates und klicken Sie auf New Certificate.
-
Markieren sie im Abschnitt Signing die Option Use this Certificate for signing und wählen sie oben erzeugtes CA-Zertifikat aus.
-
Wählen Sie die oben erstellte Server-Vorlage unter Template for the new certificate aus.
-
Klicken Sie auf Apply all, um die Daten aus der Vorlage in das Formular einzutragen.
-
Wechseln Sie auf die Registerkarte Subject, geben Sie den commonName an und geben Sie diesen auch als Internal Name ein.
-
Klicken Sie auf Generate a new key.
-
Verwenden sie vorzugsweise den commonName auch als Name und klicken Sie auf Create.
-
Bestätigen sie die Erstellung des Schlüssels mit OK.
-
Klicken sie auf OK und bestätigen Sie erneut mit OK, um die Erstellung des Server-Zertifikats abzuschließen.
-
Wiederholen Sie die vorhergehenden Schritte entsprechend, um die erforderliche Anzahl von Client-Zertifikaten zu erstellen.
Klicken Sie auf der Registerkarte Certificates in XCA auf vor dem CA-Zertifikat in der Übersicht, um alle mit dieser CA erzeugten Zertifikate anzuzeigen. |
Exportieren der Zertifikate und Schlüssel
Die mit XCA erzeugten Zertifikate und Schlüssel werden in der entsprechenden XCA-Datenbank aufbewahrt. Um die Zertifikate und Schlüssel auf die jeweiligen Router, Browser, etc. hochladen zu können, müssen diese exportiert werden. XCA bietet für den Export verschiedene Dateiformate an. Hier wird der Export in das Dateiformat PKCS#12 beschrieben, da dieses für alle INSYS-Router geeignet sind. PKCS#12 ermöglicht zudem den Export von kompletten Schlüsselpaaren in einen Container, wodurch der Hochladeaufwand reduziert wird. Da auch die Zertifikatskette mit exportiert werden kann, muss das CA-Zertifikat nicht separat exportiert werden. Ein Passwortschutz kann verwendet werden.
Exportieren Sie niemals den privaten Schlüssel der CA, da dieser essentiell für die Sicherheit der Verbindung ist. |
-
Wechseln Sie zum Export eines Zertifikats und Schlüssels auf die Registerkarte Certificates wechseln, markieren sie das zu exportierende Zertifikat in der Übersicht und klicken sie auf Export.
-
Legen Sie im Fenster Certificat export einen Pfad und Dateinamen fest.
-
Wählen Sie PKCS#12 chain als Export format aus und klicken Sie auf OK.
-
Vergeben Sie im Fenster Password ein Passwort, wenn die Sicherheit der Übertragung der Zertifikatsdateien erhöht werden soll [6] und klicken Sie auf OK, um das Zertifikat zu exportieren. [7]
-
Wiederholen Sie die vorhergehenden Schritte entsprechend, um alle gewünschten Zertifikate zu exportieren.
Zurückrufen von Zertifikaten mit Hilfe einer CRL
Für OpenVPN ist es möglich, eine Certificate Revocation List (CRL, Zertifikatssperrliste oder Rücknahmeliste) zu erzeugen, die zurückgerufene Zertifikate enthält. Wenn Zertifikate vor ihrem Ablaufdatum zurückgerufen werden müssen (beispielsweise wegen missbräuchlicher Verwendung), können sie in diese Liste eingetragen werden. Die jeweils aktualisierte Liste muss dann auf die Geräte, die den Zugriff kontrollieren, hochgeladen werden.
-
Um ein Zertifikat zurückzurufen, Wechseln Sie auf die Registerkarte Certificates, klicken Sie das zurückzurufende Zertifikat in der Übersicht mit der rechten Maustaste an und klicken Sie im Kontextmenü auf Revoke.
-
Legen sie im Fenster Certificate revocation die Ungültigkeitszeit fest, geben Sie einen optionalen Rücknahmegrund unter Revocation reason an und klicken Sie auf OK, um dieses Zertifikat zur CRL hinzuzufügen.
-
Wechseln Sie zum Erstellen einer CRL auf die Registerkarte Certificates, klicken Sie das CA-Zertifikat (!) mit der rechten Maustaste an und wählen Sie im Kontextmenü CA Generate CRL aus.
-
Klicken Sie im Fenster Generate CRL auf OK, um die CRL zu erstellen.
-
Bestätigen sie die Erstellung der CRL mit OK. [8]
-
Wechseln Sie zum Export einer CRL auf die Registerkarte Revocation lists, markieren Sie die zu exportierende CRL in der Übersicht und klicken Sie auf Export.
-
Legen Sie im Fenster Revocation list export einen Pfad und Dateinamen fest.
-
Wählen Sie PEM als Export format aus und klicken Sie auf OK, um die CRL zu exportieren.
Fehlersuche
-
Prüfen Sie das Systemdatum des Rechners, um sicherzustellen, dass die Zertifikate mit dem aktuellen Datum erstellt werden; ansonsten kann es sein, dass sie ungültig sind.
Zurück zu den Configuration Guides für die INSYS-Router
Zurück zur Übersicht