From 38ec1b8781dffcd49631f0ed06eaa50f47e96733 Mon Sep 17 00:00:00 2001 From: Jan Philipp Timme Date: Mon, 24 Sep 2018 12:26:20 +0200 Subject: [PATCH] Finalize CA-DOC again --- CA-DOC-Inhalt.tex | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/CA-DOC-Inhalt.tex b/CA-DOC-Inhalt.tex index 529cc6b..ba7d8ac 100644 --- a/CA-DOC-Inhalt.tex +++ b/CA-DOC-Inhalt.tex @@ -41,6 +41,8 @@ Im oben erwähnten Repository sind unterhalb von \texttt{./release-keys/README.m Zum Zeitpunkt der Erstellung dieses Dokuments (17.09.2018) ist Version 3.0.5 aktuell - alle in diesem Dokument aufgeführten Befehle beziehen sich auf diese Version. Für die Verwendung dieser Dokumentation mit einer höheren Version von EasyRSA sind gegebenenfalls Anpassungen an diesem Dokument erforderlich. +In dieser Anleitung wird davon ausgegangen, dass die CA als Benutzer \texttt{root} unterhalb von \texttt{/root/VPN-CA/} eingerichtet wird. + Im ersten Schritt wird die aktuelle Version von EasyRSA beschafft und authentisiert. \begin{lstlisting} # Aktuelles Release v3.0.5 beschaffen @@ -208,7 +210,8 @@ systemctl enable apache2.service; systemctl start apache2.service \end{lstlisting} Jetzt werden öffentliche Daten der CA als Kopie in \texttt{/public} abgelegt. Es wird davon ausgegangen, dass das Wurzelzertifikat als \texttt{ca.crt}, die CRL als \texttt{crl.pem} und die konfigurierten EasyRSA-Skripte als \texttt{VPN-EasyRSA.zip} abgelegt werden. -Als letztes müssen die Dateirechte angepasst werden, damit alle Dateien öffentlich lesbar sind. +Auch die OpenVPN-Clientkonfiguration wird als \texttt{client.conf} hier abgelegt. +Zuletzt müssen die Dateirechte angepasst werden, damit alle Dateien öffentlich lesbar sind. \begin{lstlisting} chmod 444 /public/* \end{lstlisting} @@ -327,8 +330,21 @@ Ist der private Schlüssel der CA mit einem Passwort geschützt, so wird bei die \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. Anschließend sollte der VPN-Dienst via \texttt{systemctl reload openvpn@dienstname.service} neu geladen werden. -Eine Automatisierung dieses Vorgangs ist möglich und wird empfohlen. +Eine Automatisierung dieses Vorgangs ist möglich und wurde auf der CA-Maschine entsprechend umgesetzt. +Um die CRL automatisiert zu erneuern und über den Webserver öffentlich zur Verfügung zu stellen, werden als Benutzer \texttt{root} Cronjobs angelegt. +Dazu wird das folgende Kommando verwendet. +\begin{lstlisting} +crontab -e +\end{lstlisting} +In dem nun offenen Editor werden die beiden folgenden Cronjobs eingetragen, welche sich um die Erzeugung der CRL sowie die Platzierung der neuen CRL im durch den Webserver ausgelieferten Verzeichnis kümmern. +\begin{lstlisting} +# Update CRL daily +00 1 * * * bash -c 'cd /root/VPN-CA; ./easyrsa gen-crl' + +# Put fresh CRL into public folder, so the OpenVPN server can fetch it +10 1 * * * cp -f /root/VPN-CA/pki/crl.pem /public/; chmod 444 /public/crl.pem +\end{lstlisting} \chapter{Erzeugen der DH-Para\-me\-ter} \label{cpt:create_dhparam} Um Chiffren mit \textit{Perfect Forward Secrecy} zu verwenden benötigt der OpenVPN-Server eine Datei mit Diffie-Hellman-Parametern.