Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

OpenVPN - Teil 1 - Installation, Konfiguration und erstellung der Zertifikate

Mitglied: datasearch

datasearch (Level 2) - Jetzt verbinden

19.11.2007, aktualisiert 16.03.2008, 86801 Aufrufe, 12 Kommentare, 4 Danke

Was ist VPN?


Virtual Private Network (VPN) ist eine Technologie zum verbinden mehrerer privater Netzwerkgeräte oder ganzer Netzwerke über unsichere Netzwerke wie zb. das Internet. Die dabei übertragenen Daten werden je nach Einsatz verschlüsselt, gegen Veränderung geschützt oder beides.

Was ist OpenVPN?


OpenVPN ist eine VPN-Software zur Herstellung verschlüsselter Verbindungen zwischen mehreren Netzwerkgeräten. Das Prinzip basiert auf einer Client/Server Architektur. Es ist im Quellcode verfügbar, lizenzsiert unter der GPLv2 und wurde bereits auf die wichtigsten Platformen portiert.

Wie funktioniert es?


Das Prinzip ist ziemlich einfach. Der Server wartet auf einem TCP oder UDP Port auf Verbindungsanfragen der Clients. Wollen sich diese Verbinden, authentifiziert sich der Client am Server mit einem Schlüssel. Dieser kann ein Zertifikat oder eine Zeichenfolge sein. nach erfolgreicher Authentifizierung handeln Server/Client einen geheimen Schlüssel aus und initiieren die Verbindung unter Verwendung der konfigurierten Verschlüsselung. Da kein Schlüsselaustausch wie zb. bei IPSec stattfindet, ist die Initialisierung in wenigen Sekunden abgeschlossen. Genauere Informationen zum OpenVPN Protokoll finden Sie auf der Website des Projekts. Nach herstellen der Verbindung

Hinweis: Ich gehe hier davon aus, das OpenVPN unter Windows in der Version 2.x verwendet wird.

Installation


Die Installation ist ziemlich schnell erledigt. Zuerst laden sie die aktuelle Version von der Openvpn-Projektseite. Anschließend starten Sie den Installer und installieren OpenVPN mit den Standarteinstellungen. Dabei ist zu beachten das der Virtual TUN/TAP Treiber nicht von Microsoft signiert wurde. Falls es ihre Sicherheitskonfiguration nicht zuläßt unsignierte Treiber zu installieren, verwenden Sie einen dezidierten, eigenständigen Computer oder setzen die Treibersignatur Optionen auf "Warnen, aber installation zulassen" für den Zeitraum der Installation.

Vorüberlegungen


Damit OpenVPN Packete Routen kann, muss ein Subnetz für das Virtuelle Netzwerk definiert werden. Dieses Netz wird vom Server verwendet, um den IP-Adressen an die TUN/TAP Netzwerkschnitstellen zu vergeben. dieses Netz sollte nirgends im LAN vorhanden sein. In der Beispielkonfiguration werde ich 192.168.254.0/24 verwenden.

Ebenfalls wichtig ist der Name der Zertifizierungsstelle (Certificate Authority, kurz, CA) sowie Standort, Admin-EMail und Bereitstellungspunkt der Certificate Revocation List (CRL). Das Zertifizierungsstellen-Zertifikat (CA-Cert) und die CRL können im Netzwerk abgelegt werden, um eine CA für mehrere OpenVPN Server verwenden zu können.

Basisinformationen für die Beispiele


Name der Firma: administrator-de
Land: Deutschland
Bundesland: Thüringen
Stadt: Erfurt
Allgemeiner name der CA (zb. Hostname): adm-de-ROOT-CA
Admin-EMail: admin[at]administrator-de.de
VPN-Server Name: ovpn-adm-de.dyndns.org
VPN-Netz: 192.168.254.0/24
LAN-Netz: 10.0.0.0/24
VPN-Server IP (VPN): 192.168.254.1
VPN-Server IP (LAN): 10.0.0.1

Konfiguration der Zertifizierungsstelle

Nach Abschluss der Standartinstallation befindet sich die CA im Ordner c:\Programme\openVPN\easy-RSA. Zur Sicherheit sollte eine Kopie des Originalordners erstellt werden. Dieser kann zb. nach c:\Programme\openVPN\easy-RSA-ORIG kopiert werden (falls Sie später eine 2. CA einrichten möchten, sind die Originaldateien noch vorhanden).

Als erstes muss die Standartkonfiguration erzeugt werden. Dies erfolgt durch ausführen der Datei init-config.bat. Anschließend diese Datei löschen um ein versehentliches zurücksetzen der Konfiguration auf die Standartwerte zu verhindern. Als nächsten müssen die Vorgaben für die CA konfiguriert werden. Dies erfolgt in der Datei vars.bat

@echo off
rem Basisordner der CA
set HOME=%ProgramFiles%\OpenVPN\easy-rsa
rem openSSL Konfiguration
set KEY_CONFIG=openssl.cnf
rem Ordner für die geheimen Schlüssel
set KEY_DIR=keys
rem Schlüsselgröße
set KEY_SIZE=2048
rem Land
set KEY_COUNTRY=DE
rem Bundesland
set KEY_PROVINCE=TH
rem Stadt
set KEY_CITY=erfurt
rem Firma
set KEY_ORG=administrator-de
rem EMail
set KEY_EMAIL=admin@administrator-de.de

Anschließend initialisieren Sie die CA. Öffnen Sie dazu cmd.exe, wechseln in das Easy-RSA Verzeichnis und geben zur Initialisierung die folgenden Befehle ein:


C:\Programme\OpenVPN\easy-rsa>vars

C:\Programme\OpenVPN\easy-rsa>clean-all
Das System kann die angegebene Datei nicht finden.
1 Datei(en) kopiert.
1 Datei(en) kopiert.


Der Ordner keys sollte nun vorhanden sein und 2 Dateien (index.txt und serial) enthalten. Löschen Sie sicherheitshalber die Datei clean-all.bat um eine spätere Katastrophe zu verhindern.

Optional: manuelle Konfiguration der openssl.cnf


Die können in der Datei openssl.cnf weitere, optionale Konfigurationsparameter für die CA hinterlegen. Gehen Sie dazu wie folgt vor:

notepad openssl.cnf


Die folgende Tabelle zeigt eine Übersicht der wichtigsten Parameter:
default_bits 2048
countryName_default DE
stateOrProvinceName_default Thueringen
localityName_default Erfurt
0.organizationName_default administrator-de
organizationalUnitName_default CA-Administration
nsComment OpenVPN Certificate
emailAddress_default admin@administrator-de.de

Erstellen der Zertifikate

CA-Cert

Erstellung Sie zuerst das CA-Zertifikat. Prüfen Sie bitte vorher noch einmal alle Parameter in den Konfigurationsdateien auf korrektheit. Bitte achten Sie auf einen eindeutigen Namen für die CA (siehe Vorüberlegungen)!

Erstellung der CA

C:\Programme\OpenVPN\easy-rsa>build-ca
Loading 'screen' into random state - done
Generating a 2048 bit RSA private key
.....................................................+++
....+++
writing new private key to 'keys\ca.key'
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
Country Name (2 letter code) [DE]:
State or Province Name (full name) [Thueringen]:
Locality Name (eg, city) [Erfurt]:
Organization Name (eg, company) [administrator-de]:
Organizational Unit Name (eg, section) [CA-Administration]:
Common Name (eg, your name or your server's hostname) []:adm-de-ROOT-CA
Email Address [admin@administrator-de.de]:

Haben Sie alle Standarteinstellungen in der vars.bat und der openvpn.cnf gesetzt, müssen Sie hier nur den Common Name der CA eingeben. Falls nicht, geben Sie die oben ermittelten Werte manuell ein. Fallls Sie während der Erstellung des CA-Certs Fehler bemerken, können Sie die Erstellung durch drücken von STRG+C abbrechen, die Konfiguration korrigieren und erneut starten. Sobald sie das ca-cert erstellt haben, sollten Sie die build-ca.bat löschen.

Server Zertifikat

Der Server selbst benötigt ein Zertifikat um sich gegenüber der Clients authentifizieren zu können. Dies wird ähnlich wie das ca-cert erstellt. Der einzige Unterschied besteht darin, das das Serverzertifikat von der CA signiert wird. Dies soll sicherstellen das es von der CA ausgestellt und genehmigt wurde. Selbst wenn jemand eine neue CA mit genau der selben Konfiguration aufbauen würde, hätte diese einen anderen Signaturschlüssel. Der Client (oder der Server) würden Zertifikate einer solchen CA verwerfen.

Erstellen Sie nun das Serverzertifikat.

C:\Programme\OpenVPN\easy-rsa>build-key-server ovpn-adm-de
Loading 'screen' into random state - done
Generating a 2048 bit RSA private key
............+++
......................................+++
writing new private key to 'keys\ovpn-adm-de.key'
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
Country Name (2 letter code) [DE]:
State or Province Name (full name) [Thueringen]:
Locality Name (eg, city) [Erfurt]:
Organization Name (eg, company) [administrator-de]:
Organizational Unit Name (eg, section) [CA-Administration]:
Common Name (eg, your name or your server's hostname) []:ovpn-adm-de.dyndns.org
Email Address [admin@administrator-de.de]:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:.
An optional company name []:.
Using configuration from openssl.cnf
Loading 'screen' into random state - done
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName :PRINTABLE:'DE'
stateOrProvinceName :PRINTABLE:'Thueringen'
localityName :PRINTABLE:'Erfurt'
organizationName :PRINTABLE:'administrator-de'
organizationalUnitName:PRINTABLE:'CA-Administration'
commonName :PRINTABLE:'ovpn-adm-de.dyndns.org'
emailAddress :IA5STRING:'admin@administrator-de.de'
Certificate is to be certified until Nov 16 21:36:18 2017 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated


Benutzerzertifikat

Die Benutzer (Clients) benötigen ebenfalls Zertifikate um sich gegenüber dem Server Authentifizieren zu können. Im Idealfall sollte jedem Benutzer ein Zertifikat ausgestellt werden. Der private Schlüssel des Benutzerzertifikats sollte mit einem zufälligem Password geschützt werden, das nur dem Benutzer selbst bekannt ist. Dieses kann später geändert werden.

Zum erstellen eines Benutzerzertifikates verwenden Sie den folgenden Befehl:


C:\Programme\OpenVPN\easy-rsa>build-key.bat client1
Loading 'screen' into random state - done
Generating a 2048 bit RSA private key
.....................................................+++
....+++
writing new private key to 'keys\client1.key'
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
Country Name (2 letter code) [DE]:
State or Province Name (full name) [Thueringen]:
Locality Name (eg, city) [Erfurt]:
Organization Name (eg, company) [administrator-de]:
Organizational Unit Name (eg, section) [CA-Administration]:
Common Name (eg, your name or your server's hostname) []:client1
Email Address [admin@administrator-de.de]:client1@administrator-de.de
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:Pas$wo1d
An optional company name []:.
Using configuration from openssl.cnf
Loading 'screen' into random state - done
DEBUG[load_index]: unique_subject = "yes"
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName :PRINTABLE:'DE'
stateOrProvinceName :PRINTABLE:'Thueringen'
localityName :PRINTABLE:'Erfurt'
organizationName :PRINTABLE:'administrator-de'
organizationalUnitName:PRINTABLE:'CA-Administration'
commonName :PRINTABLE:'client1'
emailAddress :IA5STRING:'client1@administrator-de.de'
Certificate is to be certified until Nov 16 21:53:24 2017 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

DH-Parameter


Die DH-Parameter werden zum erstellen des Schlüsselmaterials verwendet. Je nachdem welche Schlüsselgröße gewählt wurde, kann das erstellen sehr lange dauern.
verwenden Sie zum erstellen der DH-Parameter den Befehl build-dh.bat


C:\Programme\OpenVPN\easy-rsa>build-dh
Loading 'screen' into random state - done
Generating DH parameters, 2048 bit long safe prime, generator 2
This is going to take a long time
...........................................................+.....
..............++*++*


Weiter in Teil 2 - Server/Client Konfiguration
Mitglied: datasearch
19.11.2007 um 23:35 Uhr
Ich bitte um Verständniss für Tipp und Rechtschreibfehler. Morgen werde ich Fehler korrigieren und mit der Konfiguration des eigentlichen OpenVPN Dienstes beginnen.
Bitte warten ..
Mitglied: 20366
26.11.2007 um 07:07 Uhr
Super Anleitung - Vielen Dank!

habe mir auf genau diesem Wege meine Zertifikate erstellt und verwalte so von Unterwegs meinen Server Daheim.
Freue mich auf die Fortsetzung!
TX GK
Bitte warten ..
Mitglied: sabek
28.11.2007 um 00:29 Uhr
Jo, super Ding.
Für einen Anfänger (also ich) wie gemacht.

Warte ebenfalls auf den Teil 2.
Bitte warten ..
Mitglied: Hirni
10.12.2007 um 10:09 Uhr
Prima Anleitung.

Wann kommt Teil 2
Bitte warten ..
Mitglied: sabek
10.12.2007 um 16:18 Uhr
Mir wurde mitgeteilt dieses Jahr noch.
Ist doch nicht mehr lange ;)
Bitte warten ..
Mitglied: 61046
06.02.2008 um 14:51 Uhr
Klasse Tutorial!!
Bin auf Teil 2 gespannt.
Bitte warten ..
Mitglied: datasearch
13.02.2008 um 01:22 Uhr
Ich habe nur im Moment etwas viel Stress. Das Tur ist zu 90% fertig, fehlen quasi nur ein paar screenshots und finale testmethoden. Mal sehen, ich werde das grob überfligen und soweit fertigstellen das die VPN funktioniert. Dinge wie Fehlerbehebung, optimierung und Parameterbeschreibungen kann ich ja später noch schreiben. Oder was sagt ihr?
Bitte warten ..
Mitglied: 20366
13.02.2008 um 07:13 Uhr
Hi!

Ich denke, dass ein Grundszenario vielen Anwendern weiterhilft!
Im Teil 2a könnte dann noch etwas Feinarbeit, Tuning und Troubleshooting folgen!
Freue mich darauf!!

G.K.
Bitte warten ..
Mitglied: Hirni
13.02.2008 um 08:13 Uhr
Ich habe nur im Moment etwas viel Stress. Das
Tur ist zu 90% fertig, fehlen quasi nur ein
paar screenshots und finale testmethoden. Mal
sehen, ich werde das grob überfligen und
soweit fertigstellen das die VPN
funktioniert. Dinge wie Fehlerbehebung,
optimierung und Parameterbeschreibungen kann
ich ja später noch schreiben. Oder was
sagt ihr?

Das wichtigste ist, daß es funktioniert.
Lieber warte ich auf eine gute Lösung als das ich mit einer mittelmäßigen erst Probleme und dann keinen Spaß mehr habe.

Michael
Bitte warten ..
Mitglied: sabek
13.02.2008 um 18:27 Uhr
Kann ich mich nur anschliessen.
Warte schon seit letzten Jahr auf Teil 2, also die Paar Wochen mehr halte ich auch noch aus ;)

Gerade die Sachen sind für einen Anfänger sehr wichtig. z.B. Parameterbeschreibung --> man stellt dann Sachen ein und weiß gar nicht wofür die überhaupt gut sind. Es braucht nur etwas nicht stimmen und schon steht man da und ist frustiert.

Ich persönlich würde gerne auf die "final-edition made by datasearch" warten und dann sorglos alles installieren.
Bitte warten ..
Mitglied: andy0815
16.03.2008 um 12:57 Uhr
Edit: Sollten manche Zertifikate 0 kb haben muss eine andere eMail Adresse wie beim CA eingetragen werden

Edit2: Sollten manche Dateien nicht gefunden werden (siehe Log) muss der Pfad in der config drinnen stehen, bsp. C:\\Programme\\OpenVPN\\config\\ca.crt
Bitte warten ..
Mitglied: datasearch
16.03.2008 um 23:35 Uhr
Korrekt. Kann ich nur bestätigen. Nochwas, man kann die Zertifikate auch im easyRSA folder liegenlassen und in der konfig gleich absolute Pfade angeben. Für kleine Installationen eignet sich diese vorgehensweise, da man die CA nicht "zerpflücken" muss. Werde ich bei Gelegenheit im 2. Teil hinzufügen.
Bitte warten ..
Ähnliche Inhalte
Tipps & Tricks
OpenVPN Delegationen
Anleitung von agowa338Tipps & Tricks

Hallo, in dieser Anleitung möchte ich nur kurz erklären, wie man OpenVPN (unter Windows) am besten für Außendienst Mitarbeiter ...

Windows 10
Win10-Aktivierungsfrust Teil III
Tipp von DerWoWussteWindows 106 Kommentare

"Nicht schon wieder Ihmchen mit seinem Aktivierungsfrust" wird jetzt hoffentlich keiner denken ;-) Ich habe Neuigkeiten zu meinen Beobachtungen ...

Windows 10
Win10-Aktivierungsfrust Teil II
Erfahrungsbericht von DerWoWussteWindows 1014 Kommentare

Ein kleiner Erfahrungsbericht über den Microsoft-Aktivierungssupport. Ich habe diverse Win8.1 Pro (non-VL) auf Win10 Pro inplace upgegradet, alles lief, ...

Windows Tools

Microsoft APP-V 5.1 Installation und Konfiguration Step by Step

Erfahrungsbericht von MvinogradacWindows Tools3 Kommentare

Hallo Zusammen, ich habe in 4 Teilen erklärt, wie man die komplette APP-V Infrastruktur installiert und konfiguriert. Diese wollte ...

Neue Wissensbeiträge
Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 14 StundenSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 20 StundenWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 1 TagiOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 2 TagenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Heiß diskutierte Inhalte
Batch & Shell
Powershell: Im AD nach Rechnern mit bestimmten IP-Adressen suchen
gelöst Frage von Raven42Batch & Shell36 Kommentare

Hallo zusammen, ich suche nach einer Möglichkeit nach Computern im AD zu suchen , deren IP-Adresse mit 10.11.12. beginnt. ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++34 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

Windows Server
Alten DC entfernen
Frage von smartinoWindows Server24 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...