diff --git a/MA-Inhalt.tex b/MA-Inhalt.tex index 3ad92d7..37abb23 100644 --- a/MA-Inhalt.tex +++ b/MA-Inhalt.tex @@ -224,15 +224,17 @@ Die Authentisierung von Benutzern anhand von Zertifikaten erfordert den Aufbau u Für die Benutzer ergibt sich ein zusätzlicher Aufwand durch das regelmäßige Beantragen von neuen Zertifikaten, sowie die Notwendigkeit der Anpassung der OpenVPN-Clientkonfiguration. Auch für den Systemadministrator ergibt sich dieser zusätzliche Aufwand in Bezug auf die regelmäßige Erneuerung des Serverzertifikats und der \textit{Certificate Revocation List} (CRL). Zusätzlich ist der Systemadministrator mit der Betreuung der \textit{Zertifizierungsstelle} (CA) beschäftigt, nimmt die Zertifikatsanträge der Benutzer entgegen, prüft diese und stellt Benutzerzertifikate aus. -Der daraus resultierende Aufwand erhöht sich proportional zu der Anzahl der VPN-Benutzer. +Der daraus resultierende Aufwand ist proportional zu der Anzahl der VPN-Benutzer. Dennoch gibt es eine Reihe von Vorteilen, die diesen zusätzlichen Aufwand rechtfertigen: Zertifikate haben eine klar definierte Laufzeit, die bei Ausstellung des Zertifikates festgelegt wird. -Aufgrund der Länge der verwendeten Schlüssel ist es mit herkömmlichen Brute-Force-Angriffen nicht in für Angreifer akzeptabler Zeit möglich, diese zu erraten. +Aufgrund der Länge der verwendeten Schlüssel ist es für einen Angreifer nicht möglich, diese in akzeptabler Zeit durch Brute-Force-Angriffe zu finden. Auch das Stehlen von privaten Schlüsseln kann einem Angreifer weniger attraktiv gemacht werden, wenn man den privaten Schlüssel nur in verschlüsselter Form ablegt. + Sollte ein privater Schlüssel dennoch kompromittiert werden, besteht jederzeit die Möglichkeit, diesen durch eine Ergänzung der CRL von der CA unbrauchbar zu machen. Zusätzlich gilt, dass ein kompromittierter Schlüssel lediglich zur Benutzung des VPN-Dienst berechtigt. -Dadurch reduziert sich der potentielle Schaden, den ein Angreifer mit einem kompromittierten Schlüssel anrichten könnte. +Dadurch reduziert sich der potentielle Schaden, den ein Angreifer mit einem kompromittierten Schlüssel anrichten könnte, da der Angreifer lediglich den VPN-Dienst im Namen des Besitzers des kompromittierten Schlüssels benutzen könnte. +Würde man VPN-Benutzer über ihr Hochschulkonto authentisieren, so hätte ein Angreifer mit einem kompromittierten Hochschulkonto beispielsweise Zugriff auf E-Mails, das Homelaufwerk oder Prüfungsergebnisse des Kontobesitzers. \paragraph{Wahl der Authentisierungsmethode:} Insgesamt bringt die Authentisierung von Benutzern mit Zertifikaten im Vergleich zur Authentisierung auf Basis von Zugangsdaten einen höheren Arbeitsaufwand mit sich. @@ -468,15 +470,15 @@ Somit wird OpenVPN als VPN-Software zur Umsetzung des VPN-Dienst gewählt. \chapter{Implementieren der Benutzerverwaltung} \label{cpt:implement_ca} -Die VPN-Software OpenVPN bringt OpenSSL als Abhängigkeit mit. -OpenSSL stellt eine Menge von Funktionen als Kommandozeilenwerkzeug zur Verfügung, mit denen alle Basisfunktionen einer Zertifizierungsstelle wie zum Beispiel die Erzeugung von Schlüsselpaaren und Zertifikatsanträgen, sowie das Ausstellen von Zertifikaten auf Basis von Zertifikatsanträgen möglich ist. -Im Prinzip ist es möglich, durch manuelle Bedienung von OpenSSL eine \textit{Zertifizierungsstelle} (CA) zu betreiben. +OpenVPN benötigt zur Laufzeit die Bibliothek OpenSSL. +OpenSSL stellt seine Funktionen auch als Kommandozeilenwerkzeug zur Verfügung, mit denen alle Basisfunktionen einer Zertifizierungsstelle wie zum Beispiel die Erzeugung von Schlüsselpaaren und Zertifikatsanträgen, sowie das Ausstellen von Zertifikaten auf Basis von Zertifikatsanträgen möglich ist. +Man kann mit OpenSSL eine \textit{Zertifizierungsstelle} (CA) betreiben. Diese Vorgehensweise verlangt jedoch Fachwissen und Sorgfalt von den Betreibern der CA und eignet sich aufgrund des hohen Aufwands nur für die Verwaltung weniger Benutzer oder zu Zwecken der Lehre. \section{Zertifizierungsstelle mit EasyRSA} \label{sct:easyrsa_intro} Mit der Installation von OpenVPN wird die Installation der Software \enquote{EasyRSA} durch den Debian-Paketmanager empfohlen, welches ebenfalls von den OpenVPN-Entwicklern geschrieben wurde. -Dieses Paket enthält eine Sammlung von Shellskripten, welche die Funktionalität von OpenSSL kapseln um damit einen erleichterten Betrieb einer CA zu ermöglichen. +Dieses Paket enthält eine Sammlung von Shellskripten, welche die Funktionalität von OpenSSL kapseln, um damit einen erleichterten Betrieb einer CA zu ermöglichen. Die enthaltenen Skripte abstrahieren allgemeine Aufgaben für den Betrieb einer CA. Das enthält die Erzeugung eines Wurzelzertifikats, das Erzeugen von Zertifikatsanträgen, das Ausstellen von Client- oder Serverzertifikaten auf Basis von Zertifikatsanträgen und das Erzeugen einer \textit{Certificate Revocation List}(CRL). Dabei ist es durch Anpassen von Konfigurationsdateien möglich, eine CA ganz nach den eigenen Bedürfnissen zu betreiben und Einfluss auf Parameter wie zum Beispiel Schlüssellängen, Laufzeiten von Zertifikaten oder verwendete kryptografische Algorithmen zu nehmen.