Stap 1
cert, key en DH bestanden
We beginnen met het genereren van de certificaten, key`s en het Diffie Hellman bestand.
Dit gaan we doen met XCA.
Met XCA kunnen we een CA (Certificate Authority) opzetten, Server en cliënt certificaten/key`s genereren en ondertekenen.
De certificaten met bijbehorende private key`s worden in een database opgeslagen en vervolgens exporteren we die om op de server en client(s) te gebruiken.
Om de bestanden die we gaan maken op te slaan maken we een map aan met de naam Database.
1.
Database maken.
Start XCA en klik op File --> New DataBase.
Sla de database op met de naam OpenVPN en geef een wachtwoord op.
Dit wachtwoord hebben we ook nodig om later de database weer te kunnen openen mochten we die nog nodig hebben.
* Edit:Templates toegevoegd.
Download eerst de XCA templates voor deze handleiding.
Importeer deze vervolgens op het tabblad Templates in XCA voordat je de volgende stappen volgt.
*Wat als we meer certificaten willen genereren ten behoeve van meerdere cliënts?
Daarvoor zullen we de stappen om cliënt certificaten en cliënt key`s te genereren en exporteren moeten herhalen.
Dit zijn de stappen 4. 8. 9.
Vul voor elke cliënt de
exacte gebruikersnaam, die hij/zij heeft in DSM, in het veld commonName en Internal name in,
commonName is een vereiste Internal name is voor de herkenbaarheid.
Elk van de cliënts moet ook een gebruiker zijn in DSM en zal de rechten moeten hebben VPN te mogen gebruiken, dit stel je in, in de VPN Server onder Rechten.
2.
CA genereren.
Klik op het tabblad Certificates --> New Certificate.
Op het tabblad Source selecteren we:
Create a self signed certificate with the serial 1
Signature algorithm SHA 256
CA
Klik op Apply all.
Op de tab Subject vullen we bij Internal name en commonName CA in.
Klik Generate a new key.
Het volgende scherm: CA, RSA, 4096 bit en klik Create.
Op de Extensions tab zetten we de Time range op 10 Years en klikken Apply.
Op de Key usage tab selecteren we links:
Digital Signature
Key Encipherment
Data Encipherment
Key Agreement
Certificate Sign
CRL Sign
Rechts selecteren we niets.
Op de Netscape tab halen we alleen het comment weg en klikken op Ok.
Nu hebben we een CA gegenereerd waarmee we de server en cliënt(s) certificaten kunnen ondertekenen.
Deze CA verschijnt nu onder de tab Certificates.
3.
Server certificaat genereren.
Op het tabblad Certificates --> New certificate.
Op het tabblad Source selecteren we:
Use this Certificate for signing CA
Signature algorithm SHA 256
SERVERCERT
Klik op Apply all.
Op de tab Subject vullen we bij Internal name en commonName Server in.
Klik Generate a new key.
Het volgende scherm: Server, RSA, 4096 bit en klik Create.
Op de Extensions tab zetten we de Time range op 5 Years en klikken Apply.
Op de Key usage tab selecteren we links:
Digital Signature
Key Encipherment
Rechts selecteren we alleen TLS Web Server Authentication.
Op de Netscape tab de-selecteren we alles en halen het comment weg en klikken Ok.
Nu hebben we een Server certificaat gegenereerd die op de OpenVPN Server komt te staan.
Op tabblad certificates klik je op het pijltje naast de CA zodat deze tevoorschijn komt.
4.
Cliënt certificaat genereren. (Herhalen voor meerdere cliënts)
Op het tabblad Certificates --> New certificate.
Op het tabblad Source selecteren we:
Use this Certificate for signing CA
Signature algorithm SHA 256
CLIENTCERT
Klik op Apply all.
Op de tab Subject vullen we bij Internal name en commonName client in. (Voor meerdere cliënts de gebruikersnaam invullen)
Klik Generate a new key.
Het volgende scherm: gebruikersnaam, RSA, 4096 bit en klik Create.
Op de Extensions tab zetten we de Time range op 5 Years en klikken Apply.
Op de Key usage tab selecteren we links:
Digital Signature
Key Agreement
Rechts selecteren we alleen TLS Web Cliënt Authentication.
Op de Netscape tab deselecteren we alles en halen het comment weg en klikken Ok.
Nu hebben we een cliënt certificaat gegenereerd die op de OpenVPN cliënt komt te staan.
5.
CA exporteren.
Op het tabblad Certificates selecteer CA en klik op Export.
Kies de map Database die we eerder aangemaakt hebben.
Export Format PEM en klik Ok.
6.
Server certificaat exporteren.
Op het tabblad Certificates selecteer Server en klik op Export.
Kies de map Database die we eerder aangemaakt hebben.
Export Format PEM en klik Ok.
7.
Server private key exporteren.
Op het tabblad Private Keys selecteer Server en klik op Export.
Kies de map Database die we eerder aangemaakt hebben.
Export Format PEM en klik Ok.
8.
Cliënt certificaat exporteren. (Herhalen voor elke cliënt)
Op het tabblad Certificates selecteer cliënt en klik op Export.
Kies de map Database die we eerder aangemaakt hebben.
Export Format PEM en klik Ok.
9.
Cliënt private key exporteren. (Herhalen voor elke cliënt)
Op het tabblad Private Keys selecteer cliënt en klik op Export.
Kies de map Database die we eerder aangemaakt hebben.
Export Format PEM en klik Ok.
10.
Diffie Hellman parameters genereren.
Klik op Extra --> Generate DH parameter (XCA versie ouder dan 1.3.2 onder File)
DH parameter bits 4096 en klik op Ok.
Dit gaat een tijdje duren laat het z`n gang gaan, drink wat en wacht.....
Drink nog wat.....
.....
....
...
..
Kies de map Database die we eerder aangemaakt hebben en klik Ok.
Als het goed gegaan is hebben we nu in de map Database de volgende bestanden:
Openvpn.xdb
CA.crt
client.crt (of <gebruikersnaam>.crt)
client.pem (of <gebruikersnaam>.pem)
dh4096.pem
Server.crt
Server.pem
Hernoem client.pem naar client.key (of <gebruikersnaam>.key)
Hernoem Server.pem naar Server.key