masterthesis/CA-DOC-Inhalt.tex

269 lines
15 KiB
TeX
Raw Normal View History

2018-09-13 14:10:47 +02:00
\chapter{Vorwort} \label{cpt:premable}
2018-09-13 11:36:16 +02:00
Dieses Dokument wurde im Rahmen der Masterarbeit \enquote{Konzeption und Umsetzung eines IPv6-VPN für die Abteilung Informatik} erstellt.
2018-09-12 13:28:18 +02:00
Im Rahmen der Masterarbeit wird beschrieben, wie ein IP6-VPN-Dienst auf Basis von OpenVPN konzipiert und eingerichtet wird.
2018-09-13 12:55:15 +02:00
Für den Betrieb dieses Dienst wird eine Zertifizierungsstelle (\textit{Certificate Authority}, kurz CA) benötigt, die für Benutzer und den Serverbetreiber SSL-Zertifikate ausstellen kann.
2018-09-12 13:28:18 +02:00
2018-09-13 11:36:16 +02:00
In diesem Dokument wird die Einrichtung und der Betrieb der CA beschrieben.
Weiterhin sind Anleitungen für Benutzer und Serveradministratoren des VPN-Dienstes enthalten, in denen die Beantragung von Client- und Server-Zertifikaten bei der CA beschrieben wird.
Die in diesem Dokument beschriebene Konfiguration der CA wurde im Rahmen der Masterarbeit konzipiert.
Entscheidungen, die zu der hier beschriebenen Konfiguration geführt haben können in der Masterarbeit nachvollzogen werden.
2018-09-12 13:28:18 +02:00
2018-09-13 14:10:47 +02:00
\chapter{Aufbau der Zertifizierungsstelle} \label{cpt:build_ca}
2018-09-13 12:55:15 +02:00
Bevor Zertifikate durch die CA ausgestellt werden könnnen, muss die CA erst eingerichtet werden.
2018-09-12 14:04:46 +02:00
Dies geschieht auf Basis von EasyRSA, welches von den OpenVPN-Entwicklern zur Verfügung gestellt wird.
2018-09-13 12:55:15 +02:00
EasyRSA ist eine Sammlung von Skripten, die unter Verwendung von OpenSSL den Funktionsumfang einer Zertifizierungsstelle bieten.
Durch die Kapselung von OpenSSL-Befehlen und die Verwendung einer übersichtlichen Konfigurationsdatei ermöglicht EasyRSA das komfortable und sichere Verwalten einer CA.
2018-09-12 13:28:18 +02:00
2018-09-13 14:35:47 +02:00
Der Aufbau der Zertifizierungsstelle wurde für die Umsetzung unter Debian 9 konzipiert.
2018-09-13 12:55:15 +02:00
Für die Durchführung aller Schritte dieser Anleitung werden die folgenden Programme benötigt.
\begin{itemize}
\item \texttt{openssl}
\item \texttt{gnupg}
\item \texttt{wget}
\item \texttt{zip}
\end{itemize}
2018-09-13 14:10:47 +02:00
\section{Installation der CA} \label{sct:install_ca}
2018-09-13 13:42:33 +02:00
Aktuelle Versionen von EasyRSA sind auf GitHub unter \enquote{Releases}\footnote{\url{https://github.com/OpenVPN/easy-rsa/releases}} zu finden.
Neben den auf GitHub zur Verfügung stehenden Releases werden auch GPG-Signaturen angeboten, über welche die Releases authentisiert werden können.
2018-09-13 12:55:15 +02:00
Im oben erwähnten Repository sind unterhalb von \texttt{./release-keys/README.md}\footnote{\url{https://github.com/OpenVPN/easy-rsa/tree/v3.0.4/release-keys}} passende GPG-Schlüssel aufgeführt.
Zum Zeitpunkt der Erstellung dieses Dokuments (13.09.2018) ist Version 3.0.4 aktuell.
2018-09-12 13:28:18 +02:00
2018-09-13 12:55:15 +02:00
Im ersten Schritt wird die aktuelle Version von EasyRSA beschafft und authentisiert.
2018-09-12 11:44:59 +02:00
\begin{lstlisting}
2018-09-12 14:04:46 +02:00
# Aktuelles Release v3.0.4 beschaffen
wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.4/ \
EasyRSA-3.0.4.tgz
wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.4/ \
EasyRSA-3.0.4.tgz.sig
# Aktuell gültige(n) GPG-Schlüssel für die Signaturprüfung beschaffen
2018-09-12 13:28:18 +02:00
gpg --recv-keys 6F4056821152F03B6B24F2FCF8489F839D7367F3
2018-09-12 14:04:46 +02:00
# Signatur der heruntergeladenen Datei überprüfen
2018-09-12 13:28:18 +02:00
gpg --verify EasyRSA-3.0.4.tgz.sig EasyRSA-3.0.4.tgz
2018-09-12 14:04:46 +02:00
\end{lstlisting}
Nach der erfolgreichen Authentisierung des heruntergeladenen Archivs kann dieses nun entpackt und verwendet werden.
\begin{lstlisting}
2018-09-12 13:28:18 +02:00
tar xzf EasyRSA-3.0.4.tgz
cd EasyRSA-3.0.4
2018-09-12 11:44:59 +02:00
\end{lstlisting}
2018-09-12 13:28:18 +02:00
2018-09-13 14:10:47 +02:00
\section{Konfiguration der CA} \label{sct:configure_ca}
2018-09-12 14:04:46 +02:00
Im nächsten Schritt wird auf Basis der Datei \texttt{vars.example} die Konfigurationsdatei \texttt{vars} erzeugt und anschließend bearbeitet.
\begin{lstlisting}
cp vars.example vars
vim vars
\end{lstlisting}
2018-09-12 13:28:18 +02:00
2018-09-13 12:55:15 +02:00
In der so erzeugten Konfigurationsdatei werden nun die folgenden Einträge auskommentiert und entsprechend angepasst.
Zertifikate sollen als \textit{Distinguished Name} (DN) das volle Organisationsschema enthalten.
Dadurch können Zertifikate bei Betrachtung leicht der Abteilung Informatik zugeordnet werden.
2018-09-12 11:44:59 +02:00
\begin{lstlisting}
set_var EASYRSA_DN "org"
2018-09-13 12:55:15 +02:00
\end{lstlisting}
2018-09-12 11:44:59 +02:00
2018-09-13 12:55:15 +02:00
Die folgenden Werte sind Standardvorgaben des Organisationsschema für neue Zertifikatsanträge.
Lediglich der \textit{Common Name} (CN) wird für alle Zertifikate individuell gewählt.
\begin{lstlisting}
2018-09-12 11:44:59 +02:00
set_var EASYRSA_REQ_COUNTRY "DE"
set_var EASYRSA_REQ_PROVINCE "Niedersachsen"
set_var EASYRSA_REQ_CITY "Hannover"
set_var EASYRSA_REQ_ORG "Hochschule Hannover"
set_var EASYRSA_REQ_EMAIL "F4-I-IT-Team@hs-hannover.de"
2018-09-12 14:04:46 +02:00
set_var EASYRSA_REQ_OU "Abteilung Informatik"
2018-09-13 12:55:15 +02:00
\end{lstlisting}
Alle erzeugten Zertifikate sollen auf RSA-Schlüsselpaaren mit 4096 Bit Länge basieren.
\begin{lstlisting}
2018-09-12 11:44:59 +02:00
set_var EASYRSA_KEY_SIZE 4096
set_var EASYRSA_ALGO rsa
2018-09-13 12:55:15 +02:00
\end{lstlisting}
Das Wurzelzertifikat der CA soll für 10 Jahre gültig sein.
\begin{lstlisting}
2018-09-12 11:44:59 +02:00
set_var EASYRSA_CA_EXPIRE 3650
2018-09-13 12:55:15 +02:00
\end{lstlisting}
Ausgestellte Zertifikate sollen ein halbes Jahr lang gültig sein.
\begin{lstlisting}
2018-09-12 11:44:59 +02:00
set_var EASYRSA_CERT_EXPIRE 180
2018-09-13 12:55:15 +02:00
\end{lstlisting}
Die von der CA erzeugte \textit{Certificate Revocation List} (CRL) soll ein halbes Jahr lang gültig sein.
\begin{lstlisting}
2018-09-12 14:04:46 +02:00
set_var EASYRSA_CRL_DAYS 180
2018-09-11 13:28:04 +02:00
\end{lstlisting}
2018-09-13 12:55:15 +02:00
Mit der Durchführung der aufgeführten Änderungen ist die Konfiguration der CA abgeschlossen.
2018-09-12 13:28:18 +02:00
2018-09-13 14:10:47 +02:00
\section{Initialisierung der CA} \label{sct:initialize_ca}
2018-09-13 12:55:15 +02:00
Als nächstes muss die Verzeichnisstruktur der CA initialisiert werden.
2018-09-12 13:28:18 +02:00
\begin{lstlisting}
./easyrsa init-pki
2018-09-13 12:55:15 +02:00
\end{lstlisting}
Im Anschluss kann das Wurzelzertifikat der CA erzeugt werden.
\begin{lstlisting}
# ./easyrsa build-ca nopass
2018-09-12 13:28:18 +02:00
./easyrsa build-ca
\end{lstlisting}
2018-09-13 12:55:15 +02:00
2018-09-13 14:35:47 +02:00
\textbf{Hinweis 1}: Besteht der begründete Wunsch, den privaten Schlüssel der CA \textbf{nicht} mit einem Passwort zu schützen, so kann das Argument \texttt{nopass} an den Befehl \texttt{build-ca} angehängt werden.
2018-09-13 13:14:20 +02:00
Dies kann nützlich sein um die regelmäßige Ausstellung einer CRL zu automatisieren.
2018-09-12 14:04:46 +02:00
Sollte der private Schlüssel in die Hände eines Angreifers gelangen, so kann dieser beliebige Zertifikate durch die CA ausstellen.
2018-09-13 13:17:52 +02:00
Ein Passwortschutz wird ausdrücklich empfohlen sofern keine sonstigen Maßnahmen zum Schutz des privaten Schlüssels der CA vor unbefugtem Zugriff getroffen werden!
2018-09-11 13:28:04 +02:00
2018-09-13 14:35:47 +02:00
\textbf{Hinweis 2}: Im Rahmen der Erzeugung des Wurzelzertifikats werden Angaben zum Zertifikat abgefragt.
2018-09-13 14:26:01 +02:00
Hier muss ein passender CN angegeben werden, wie zum Beispiel \enquote{IPv6-VPN CA}.
2018-09-13 14:35:47 +02:00
Alle weiteren Vorgaben werden unverändert übernommen.
2018-09-13 14:26:01 +02:00
2018-09-11 13:28:04 +02:00
2018-09-13 14:10:47 +02:00
\section{Bereitstellung der CA-Konfiguration für Benutzer} \label{cpt:provide_ca_config}
2018-09-12 14:04:46 +02:00
Damit Benutzer korrekte Zertifikatsanträge erzeugen können, muss ihnen die Datei \texttt{vars} zur Verfügung gestellt werden.
Um Kompatibilitätsprobleme durch die Verwendung von verschiedenen EasyRSA-Versionen auszuschließen, wird empfohlen für Benutzer ein passendes Paket zusammenzustellen.
2018-09-11 13:28:04 +02:00
2018-09-13 12:55:15 +02:00
Als Basis wird jeweils das \texttt{*.zip}-Release der aktuellen Version von EasyRSA empfohlen, da dieses für Windows-Benutzer notwendige Abhängigkeiten wie \texttt{awk} und \texttt{sed} bereits enthält.
Zunächst wird das aktuelle \texttt{*.zip}-Release von EasyRSA beschafft und authentisiert.
2018-09-12 14:04:46 +02:00
\begin{lstlisting}
# Aktuelles Release v3.0.4 beschaffen
wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.4/ \
EasyRSA-3.0.4.zip
wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.4/ \
EasyRSA-3.0.4.zip.sig
# Aktuell gültige(n) GPG-Schlüssel für die Signaturprüfung beschaffen
gpg --recv-keys 6F4056821152F03B6B24F2FCF8489F839D7367F3
# Signatur der heruntergeladenen Datei überprüfen
gpg --verify EasyRSA-3.0.4.zip.sig EasyRSA-3.0.4.zip
\end{lstlisting}
2018-09-13 12:55:15 +02:00
Nun kann die konfigurierte \texttt{vars}-Datei der CA zu dem beschafften \texttt{*.zip}-Archiv hinzugefügt werden.
2018-09-12 14:04:46 +02:00
\begin{lstlisting}
# Temporäres Verzeichnis erzeugen
2018-09-12 14:49:40 +02:00
TD=`mktemp -d`
# EasyRSA in temporäres Verzeichnis entpacken
2018-09-12 14:49:40 +02:00
unzip EasyRSA-3.0.4.zip -d $TD
# Vars-Datei hinzufügen
2018-09-12 14:49:40 +02:00
cp /path/to/CA/vars $TD/EasyRSA-3.0.4/
# Ergebnis in neue Zip-Datei einpacken
2018-09-12 14:49:40 +02:00
cd $TD
zip -r VPN-EasyRSA.zip EasyRSA-3.0.4
# Neue Zip-Datei an sicheren Ort verschieben
2018-09-12 14:49:40 +02:00
cd -
cp $TD/VPN-EasyRSA.zip .
2018-09-13 12:55:15 +02:00
# Temporäres Verzeichnis entfernen
2018-09-12 14:49:40 +02:00
rm -rf $TD
2018-09-12 14:04:46 +02:00
\end{lstlisting}
2018-09-13 12:55:15 +02:00
Anschließend kann das angefertigte \texttt{*.zip}-Archiv den Benutzern zur Verfügung gestellt werden.
2018-09-11 13:28:04 +02:00
2018-09-13 14:10:47 +02:00
\chapter{Beantragen von Zertifikaten} \label{cpt:request_cert}
2018-09-12 14:49:40 +02:00
Um ein Zertifikat von der CA zu beantragen, wird das bereits vorkonfigurierte EasyRSA-Paket benötigt, welches durch das IT-Team der Abteilung Informatik bereitgestellt wird.
2018-09-13 13:14:20 +02:00
Dieses kann nun in einem lokalen Ordner entpackt werden.
2018-09-12 14:49:40 +02:00
Eine lauffähige Installation von OpenSSL, welches auch als Abhängigkeit von OpenVPN benötigt wird, wird ebenfalls vorausgesetzt.
2018-09-11 13:28:04 +02:00
2018-09-13 13:42:33 +02:00
\textbf{Hinweis für Windows-Benutzer}: Der Pfad zum OpenSSL-Programm muss in der Datei \texttt{vars} von EasyRSA hinterlegt werden.
Dafür kann auf das von OpenVPN installierte OpenSSL zurückgegriffen werden\footnote{Mehr dazu unter \\ \url{https://github.com/OpenVPN/easy-rsa/blob/v3.0.4/distro/windows/README-Windows.txt}}.
2018-09-12 14:49:40 +02:00
Die folgenden Zeile zeigt beispielhaft die Verwendung des durch OpenVPN installierten OpenSSL-Programms:
2018-09-12 13:28:18 +02:00
\begin{lstlisting}
set_var EASYRSA_OPENSSL "C:/Program Files/OpenVPN/bin/openssl.exe"
\end{lstlisting}
2018-09-11 13:28:04 +02:00
2018-09-13 13:14:20 +02:00
Nun öffnet man ein Terminal, wechselt in das eben entpackte Verzeichnis von EasyRSA und kann den Befehl \texttt{./easyrsa} verwenden, um einen Zertifikatsantrag zu erzeugen.
2018-09-12 16:40:11 +02:00
Unter Windows kann eine passende Konsole über die Datei \texttt{EasyRSA-Start.bat} aufgerufen werden.
2018-09-13 13:14:20 +02:00
Im nächsten Schritt wird ein neuer Zertifikatsantrag inklusive neuem Schlüsselpaar erzeugt.
2018-09-12 16:24:08 +02:00
\begin{lstlisting}
2018-09-13 13:14:20 +02:00
# ./easyrsa gen-req entityName nopass
./easyrsa gen-req entityName
2018-09-12 16:24:08 +02:00
\end{lstlisting}
2018-09-13 13:14:20 +02:00
Für die Beantragung eines \textbf{Clientzertifikats} muss der Platzhalter \texttt{entityName} durch den hochschulweit gültigen Benutzernamen des Benutzers ersetzt werden.
Für die Beantragung eines \textbf{Serverzertifikats} muss der Platzhalter \texttt{entityName} durch dessen vollqualifizierten Domainnamen des Servers ersetzt werden.
Dieser kann beispielsweise \texttt{aither.inform.hs-hannover.de} lauten.
2018-09-13 14:35:47 +02:00
\textbf{Hinweis 1}: Besteht der begründete Wunsch, den erzeugten, privaten Schlüssel \textbf{nicht} mit einem Passwort zu schützen, so kann das Argument \texttt{nopass} an den Befehl \texttt{gen-req} angehängt werden.
2018-09-13 13:14:20 +02:00
Dies kann nützlich sein um den privaten Schlüssel ohne zusätzliche Passworteingabe zu benutzen - zum Beispiel zum Betrieb eines OpenVPN-Servers oder zum automatischen Verbindungsaufbau mit einem OpenVPN-Client.
Sollte der private Schlüssel in die Hände eines Angreifers gelangen, so kann dieser ebenfalls das dazugehörige Zertifikat missbrauchen.
2018-09-13 13:17:52 +02:00
Ein Passwortschutz wird ausdrücklich empfohlen sofern keine sonstigen Maßnahmen zum Schutz des privaten Schlüssels vor unbefugtem Zugriff getroffen werden!
2018-09-13 13:14:20 +02:00
2018-09-13 14:35:47 +02:00
\textbf{Hinweis 2}: Wurde zuvor bereits ein Zertifikatsantrag mit dem selben \texttt{entityName} erzeugt worden sein, so kann dieser inklusive dem dazugehörigen privaten Schlüssel \textbf{überschrieben} werden.
2018-09-13 14:02:00 +02:00
Dafür ist die Bestätigung der Sicherheitsabfrage durch die Eingabe von \texttt{yes} erforderlich.
2018-09-13 13:19:46 +02:00
2018-09-13 14:35:47 +02:00
\textbf{Hinweis 3}: Im Rahmen der Erzeugung des Zertifikatsantrags werden zusätzliche Angaben abgefragt.
2018-09-13 14:26:01 +02:00
Hier sind keine Änderungen notwendig, alle Vorgaben werden unverändert übernommen.
2018-09-13 14:02:00 +02:00
In diesem Schritt wurden nun zwei neue Dateien erzeugt:
\begin{itemize}
\item \texttt{*.key}: Der private Schlüssel. Nur mit ihm kann das später ausgestellte Zertifikat benutzt werden. Diese Datei sollte immer an einem sicheren Ort gespeichert werden, um Missbrauch durch Dritte zu verhindern. Bei Verlust dieser Datei wird das dazugehörige Zertifikat \textbf{unbrauchbar}! Aus diesem Grund wird die Durchführung von Backups empfohlen.
\item \texttt{*.req}: Der Zertifikatsantrag, der zu dem neuen privaten Schlüssel gehört. Zum Ausstellen eines gültigen Zertifikats muss er an die CA übergeben werden. Nachdem ein gültiges Zertifikat aus dem Antrag erzeugt wurde, wird diese Datei nicht länger benötigt.
\end{itemize}
2018-09-13 13:14:20 +02:00
2018-09-11 13:28:04 +02:00
2018-09-13 14:10:47 +02:00
\chapter{Ausstellen von Zertifikaten} \label{cpt:issue_cert}
2018-09-13 14:02:00 +02:00
Hat ein Benutzer einen Zertifikatsantrag erzeugt, so kann auf Basis dieses Antrags ein gültiges Zertifikat durch die CA ausgestellt werden.
Hierfür muss der Zertifikatsantrag zunächst aus der vom Benutzer eingereichten \texttt{*.req}-Datei importiert werden.
2018-09-13 13:36:12 +02:00
Dafür wird der Befehl \texttt{import-req} verwendet:
2018-09-12 11:44:59 +02:00
\begin{lstlisting}
2018-09-12 16:59:08 +02:00
./easyrsa import-req /tmp/example.req entityName
\end{lstlisting}
2018-09-13 14:02:00 +02:00
Abhängig vom Typ des beantragten Zertifikats muss der Platzhalter \texttt{entityName} durch die CA-Betreiber gewählt werden.
2018-09-13 13:36:12 +02:00
Der \texttt{entityName} wird auch zum Widerrufen bereits ausgestellter Zertifikate verwendet.
2018-09-12 11:44:59 +02:00
2018-09-13 13:36:12 +02:00
Für die Beantragung eines \textbf{Clientzertifikats} muss der Platzhalter \texttt{entityName} durch den Benutzernamen des Benutzers ersetzt werden, der das Zertifikat beantragt.
2018-08-30 21:42:43 +02:00
2018-09-13 13:36:12 +02:00
Für die Beantragung eines \textbf{Serverzertifikats} muss der Platzhalter \texttt{entityName} durch den vollqualifizierten Domainnamen des Servers ersetzt werden, für den das Zertifikat beantragt wird.
Dieser kann zum Beispiel \texttt{aither.inform.hs-hannover.de} lauten.
\textbf{Hinweis}: Falls bereits ein noch gültiges Zertifikat mit dem selben \texttt{CN} existiert, muss dieses vorher widerrufen werden.
2018-09-12 16:59:08 +02:00
\begin{lstlisting}
./easyrsa revoke entityName
\end{lstlisting}
2018-09-13 13:36:12 +02:00
Ist der private Schlüssel der CA mit einem Passwort geschützt, so wird bei diesem Schritt danach verlangt.
2018-08-30 21:42:43 +02:00
2018-09-12 16:59:08 +02:00
Nun kann der importierte Zertifikatsantrag als Client- oder Serverzertifikat signiert werden.
\begin{lstlisting}
2018-09-13 13:36:12 +02:00
# Clientzertifikat ausstellen
2018-09-13 14:35:47 +02:00
./easyrsa sign-req client entityName
2018-09-12 11:44:59 +02:00
2018-09-13 13:36:12 +02:00
# Serverzertifikat ausstellen
2018-09-13 14:35:47 +02:00
./easyrsa sign-req server entityName
2018-09-03 10:21:39 +02:00
\end{lstlisting}
2018-09-13 13:36:12 +02:00
Ist der private Schlüssel der CA mit einem Passwort geschützt, so wird bei diesem Schritt danach verlangt.
2018-08-30 21:42:43 +02:00
2018-09-13 14:35:47 +02:00
\textbf{Hinweis}: Die Gültigkeitsdauer kann nach Ermessen der CA-Betreiber in begründeten Einzelfällen über den vorgegebenen Standardwert hinaus gewählt werden, indem die Umgebungsvariable \texttt{EASYRSA\_CERT\_EXPIRE} auf die gewünschte Gültigkeitsdauer in Tagen gesetzt wird.
2018-09-13 13:36:12 +02:00
Insbesondere bei der Ausstellung von Serverzertifikaten ist dieser Schritt sinnvoll.
2018-09-13 14:06:23 +02:00
Bei der Wahl einer erhöhten Gültigkeitsdauer wird empfohlen, eine maximale Gültigkeitsdauer von 730 Tagen (etwa 2 Jahren) nicht zu überschreiten.
2018-09-12 16:59:08 +02:00
In diesem Beispiel wird ein Serverzertifikat mit einer Laufzeit von 730 Tagen ausgestellt.
\begin{lstlisting}
2018-09-13 14:35:47 +02:00
EASYRSA_CERT_EXPIRE=730 ./easyrsa sign-req server entityName
2018-09-12 16:59:08 +02:00
\end{lstlisting}
2018-08-30 21:42:43 +02:00
2018-09-12 13:28:18 +02:00
2018-09-13 14:10:47 +02:00
\chapter{Erzeugen der CRL} \label{cpt:create_crl}
2018-09-13 14:06:23 +02:00
Der OpenVPN-Server verwendet die von der CA ausgestellte CRL zur Überprüfung der Gültigkeit von Clientzertifikaten.
In der Konfigurationsdatei des OpenVPN-Servers wird die CRL-Datei durch die Option \texttt{verify-crl /path/to/crl.pem} angegeben.
2018-09-12 13:28:18 +02:00
2018-09-12 16:59:08 +02:00
Somit können durch die CA widerrufene Zertifikate nicht mehr zur Anmeldung am VPN-Dienst benutzt werden.
2018-09-13 14:06:23 +02:00
Mit dem folgenden Befehl wird die CRL erzeugt.
2018-09-12 13:28:18 +02:00
\begin{lstlisting}
2018-09-12 16:59:08 +02:00
./easyrsa gen-crl
\end{lstlisting}
Ist der private Schlüssel der CA mit einem Passwort geschützt, so wird bei diesem Schritt danach verlangt.
2018-09-12 14:49:40 +02:00
2018-09-13 14:06:23 +02:00
\textbf{Achtung:} Der OpenVPN-Server lehnt eine abgelaufene CRL-Datei ab und verweigert dann den Dienst.
Deshalb sollte die CRL durch die CA regelmäßig erneuert werden und die Kopie der CRL auf dem VPN-Server regelmäßig aktualisiert werden.
2018-09-13 14:10:47 +02:00
Anschließend sollte der VPN-Dienst via \texttt{systemctl reload openvpn@dienstname.service} neu geladen werden.
2018-09-13 14:06:23 +02:00
Eine Automatisierung dieses Vorgangs ist möglich und wird empfohlen.