GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> OpenVPN

Installieren Sie OpenVPN auf Ihrem Linux-PC

OpenVPN erstellt einen verschlüsselten Tunnel zwischen zwei Punkten und verhindert, dass Dritte auf Ihren Netzwerkverkehr zugreifen. Indem Sie Ihren VPN-Server (Virtual Private Network) einrichten, werden Sie Ihr eigener VPN-Anbieter. Viele beliebte VPN-Dienste verwenden bereits OpenVPN. Warum also Ihre Verbindung an einen bestimmten Anbieter binden, wenn Sie die vollständige Kontrolle haben können?

Der erste Artikel dieser Serie zeigte, wie Sie einen Linux-PC einrichten und konfigurieren, der als OpenVPN-Server dient. Außerdem wurde erläutert, wie Sie Ihren Router konfigurieren, damit Sie Ihren VPN-Server von einem externen Netzwerk aus erreichen können.

Dieser zweite Artikel demonstriert, wie die OpenVPN-Server-Software mithilfe von angepassten Schritten aus dem OpenVPN-Wiki installiert wird.

Installieren Sie OpenVPN

Installieren Sie zuerst OpenVPN und den easy-rsa Anwendung (um Ihnen beim Einrichten der Authentifizierung auf Ihrem Server zu helfen) mithilfe Ihres Paketmanagers. Dieses Beispiel verwendet Fedora Linux; Wenn Sie etwas anderes gewählt haben, verwenden Sie den entsprechenden Befehl für Ihre Distribution:

$ sudo dnf install openvpn easy-rsa

Dadurch werden einige leere Verzeichnisse erstellt:

  • /etc/openvpn
  • /etc/openvpn/client
  • /etc/openvpn/server

Wenn diese nicht während der Installation erstellt werden, erstellen Sie sie manuell.

Authentifizierung einrichten

OpenVPN ist abhängig von easy-rsa Skripte und sollte eine eigene Kopie davon haben. Kopieren Sie den easy-rsa Skripte und Dateien:

$ sudo mkdir /etc/openvpn/easy-rsa
$ sudo cp -rai /usr/share/easy-rsa/3/* \
/etc/openvpn/easy-rsa/

Weitere Linux-Ressourcen

  • Spickzettel für Linux-Befehle
  • Spickzettel für fortgeschrittene Linux-Befehle
  • Kostenloser Online-Kurs:RHEL Technical Overview
  • Spickzettel für Linux-Netzwerke
  • SELinux-Spickzettel
  • Spickzettel für allgemeine Linux-Befehle
  • Was sind Linux-Container?
  • Unsere neuesten Linux-Artikel

Die Authentifizierung ist wichtig und OpenVPN nimmt sie sehr ernst. Die Theorie ist, dass, wenn Alice auf private Informationen innerhalb von Bobs Firma zugreifen muss, es wichtig ist, dass Bob sicherstellt, dass Alice wirklich Alice ist. Ebenso muss Alice sicherstellen, dass Bob wirklich Bob ist. Wir nennen das gegenseitige Authentifizierung.

Die heutige Best Practice überprüft ein Attribut anhand von zwei von drei möglichen Faktoren:

  • Etwas, das du hast
  • Etwas, das Sie wissen
  • Etwas, das du bist

Es gibt viele Möglichkeiten. Dieses OpenVPN-Setup verwendet:

  • Zertifikate: Etwas, das sowohl der Client als auch der Server haben
  • Passwort des Zertifikats: Etwas, das die Leute wissen

Alice und Bob brauchen Hilfe, um sich gegenseitig zu authentifizieren. Da beide Cathy vertrauen, übernimmt Cathy eine Rolle namens Zertifizierungsstelle (CA). Cathy bestätigt, dass sowohl Alice als auch Bob die sind, für die sie sich ausgeben. Weil Alice und Bob beide Cathy vertrauen, vertrauen sie jetzt auch einander.

Aber was überzeugt Cathy davon, dass Alice und Bob wirklich Alice und Bob sind? Cathys Ruf in der Community hängt davon ab, dass sie dies richtig macht, und wenn sie also möchte, dass Danielle, Evan, Fiona, Greg und andere ihr ebenfalls vertrauen, wird sie die Behauptungen von Alice und Bob rigoros prüfen. Nachdem Alice und Bob Cathy davon überzeugt haben, dass sie wirklich Alice und Bob sind, unterzeichnet Cathy Zertifikate, die sie miteinander und der Welt teilen können.

Woher wissen Alice und Bob, dass Cathy – und nicht jemand, der sich für sie ausgibt – die Zertifikate signiert hat? Sie verwenden eine Technologie namens Public-Key-Kryptographie:

  • Finden Sie einen Kryptographiealgorithmus, der mit einem Schlüssel verschlüsselt und mit einem anderen entschlüsselt.
  • Deklarieren Sie einen Schlüssel als privat und teilen Sie den anderen Schlüssel mit der Öffentlichkeit.
  • Cathy teilt ihren öffentlichen Schlüssel und eine Klartextkopie ihrer Signatur mit der Welt.
  • Cathy verschlüsselt ihre Signatur mit ihrem privaten Schlüssel. Jeder kann es mit seinem öffentlichen Schlüssel entschlüsseln.
  • Wenn Cathys entschlüsselte Signatur mit der Klartextkopie übereinstimmt, können Alice und Bob darauf vertrauen, dass Cathy sie wirklich signiert hat.

Sie verwenden dieselbe Technologie jedes Mal, wenn Sie Waren und Dienstleistungen online kaufen.

Authentifizierung implementieren

Die OpenVPN-Dokumentation schlägt vor, eine CA auf einem separaten System oder zumindest einem separaten Verzeichnis auf dem OpenVPN-Server einzurichten. Die Dokumentation schlägt auch vor, Server- und Client-Zertifikate vom Server und den Clients zu generieren. Da dies eine einfache Einrichtung ist, können Sie den OpenVPN-Server als seine eigene Zertifizierungsstelle verwenden und die Zertifikate und Schlüssel in bestimmten Verzeichnissen auf dem Server ablegen.

Generieren Sie Zertifikate vom Server und kopieren Sie sie im Rahmen der Client-Einrichtung auf jeden Client.

Diese Implementierung verwendet selbstsignierte Zertifikate. Dies funktioniert, weil der Server sich selbst vertraut und Clients dem Server vertrauen. Daher ist der Server die beste Zertifizierungsstelle zum Signieren von Zertifikaten.

Richten Sie auf dem OpenVPN-Server die CA ein:

$ sudo mkdir /etc/openvpn/ca
$ cd /etc/openvpn/ca
$ sudo /etc/openvpn/easy-rsa/easyrsa init-pki
$ sudo /etc/openvpn/easy-rsa/easyrsa build-ca

Verwenden Sie eine leicht zu merkende, aber schwer zu erratende Passphrase.

Richten Sie das Serverschlüsselpaar und die Zertifikatsanforderung ein:

$ cd /etc/openvpn/server
$ sudo /etc/openvpn/easy-rsa/easyrsa init-pki
$ sudo /etc/openvpn/easy-rsa/easyrsa gen-req OVPNserver2020 nopass

In diesem Beispiel OVPNServer2020 ist der Hostname, den Sie Ihrem OpenVPN-Server im ersten Artikel dieser Serie zugewiesen haben.

Zertifikate generieren und signieren

Jetzt müssen Sie eine Serveranfrage an die CA senden und das Serverzertifikat generieren und signieren.

Dieser Schritt kopiert im Wesentlichen die Anforderungsdatei aus /etc/openvpn/server/pki/reqs/OVPNserver2020.req zu /etc/openvpn/ca/pki/reqs/OVPNserver2020.req um es zur Überprüfung und Unterzeichnung vorzubereiten:

$ cd /etc/openvpn/ca
$ sudo /etc/openvpn/easy-rsa/easyrsa \
import-req /etc/openvpn/server/pki/reqs/OVPNserver2020.req OVPNserver2020

Prüfen und signieren Sie die Anfrage

Sie haben eine Anfrage generiert, also müssen Sie jetzt die Zertifikate überprüfen und signieren:

$ cd /etc/openvpn/ca
$ sudo /etc/openvpn/easy-rsa/easyrsa \
show-req OVPNserver2020

Melden Sie sich als Server an:

$ cd /etc/openvpn/ca
$ sudo /etc/openvpn/easy-rsa/easyrsa \
sign-req server OVPNserver2020

Legen Sie eine Kopie der Server- und CA-Zertifikate dort ab, wo sie hingehören, damit die Konfigurationsdatei sie abholen kann:

$ sudo cp /etc/openvpn/ca/pki/issued/OVPNserver2020.crt \
/etc/openvpn/server/pki/
$ sudo cp /etc/openvpn/ca/pki/ca.crt \
/etc/openvpn/server/pki/

Generieren Sie als Nächstes Diffie-Hellman-Parameter, damit Clients und der Server Sitzungsschlüssel austauschen können:

$ cd /etc/openvpn/server
$ sudo /etc/openvpn/easy-rsa/easyrsa gen-dh

Fast da

Der nächste Artikel dieser Serie zeigt, wie Sie den gerade erstellten OpenVPN-Server konfigurieren und starten.


Dieser Artikel basiert auf dem Blog von D. Greg Scott und wird mit Genehmigung wiederverwendet.


OpenVPN
  1. Eine einfachste Möglichkeit, OpenVPN-Server unter Linux zu installieren und zu konfigurieren

  2. OpenVPN-Server unter Ubuntu 20.04 installieren und einrichten

  3. Installieren und konfigurieren Sie den OpenVPN-Server FreeBSD 12

  4. So installieren Sie OpenVPN unter Ubuntu 18.04

  5. So installieren Sie den Virtualisierungs-Linux-Server

Führen Sie Linux-Apps auf Ihrem Chromebook aus

So installieren Sie SQL Server unter Linux

Installieren Sie uTorrent unter Linux Mint 18

So installieren Sie Minecraft Server unter Linux

Installieren Sie Velociraptor unter Linux

So installieren Sie KernelCare auf Ihrem Linux-Server