Home > linux, windows > [OpenVPN] Teil 2: Anlegen der Zertifikate und Schlüssel für den Server

[OpenVPN] Teil 2: Anlegen der Zertifikate und Schlüssel für den Server

Hallo,

im Teil 2 beschreibe ich, wie man die Zertifikate und Schlüssel für den Server anlegt.

Ausserdem wird gleich der Grundstein gelegt, damit man später auch bereits vergebene Zertifikate zurückziehen kann.


Update 08.03.2010: Variable KEY_NAME exportiert
Update 21.09.2009: Variablen-Export hinter “source ./vars” verschoben (bei Debian Lenny werden sie sonst überschrieben).




Anlegen der Zertifikate & Schlüssel für den Server



Damit das Rad nicht doppelt erfunden wird, haben die OpenVPN Entwickler die Tool-Sammlung easy-rsa erstellt. Diese kopiert man sich in sein OpenVPN Verzeichnis:

cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0/ /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa


Anschließend definiert man ein paar Standardwerte in der globalen Konfiguration /etc/openvpn/easy-rsa/vars:

export KEY_COUNTRY="DE"
export KEY_PROVINCE="Saxony"
export KEY_CITY="Chemnitz"
export KEY_ORG="Knuddelbunte Welt Organisation"
export KEY_EMAIL="hier_kommt_die_email@hi.n.de"


Nun lesen wir die Standardwerte ein…

source vars


… und initialisieren die Schlüssel

./clean-all


Jetzt ist es an der Zeit, die Zertifikat Autorität und das Server Zertifikat anzulegen.
Zuerst die Autorität (die vorher festgelegten Standardwerte werden automatisch voreingestellt):

./build-ca
Country Name (2 letter code) [DE]:
State or Province Name (full name) [Saxony]:
Locality Name (eg, city) [Chemnitz]:
Organization Name (eg, company) [Knuddelbunte Welt Organisation]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) [Knuddelbunte Welt Organisation CA]:
Email Address [hier_kommt_die_email@hi.n.de]:


Und dann das Server Zertifikat:

./build-key-server server
Country Name (2 letter code) [DE]:
State or Province Name (full name) [Saxony]:
Locality Name (eg, city) [Chemnitz]:
Organization Name (eg, company) [Knuddelbunte Welt Organisation]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) [server]:
Email Address [hier_kommt_die_email@hi.n.de]:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName :P RINTABLE:'DE'
stateOrProvinceName :P RINTABLE:'Saxony'
localityName :P RINTABLE:'Chemnitz'
organizationName :P RINTABLE:'Knuddelbunte Welt Organisation'
commonName :P RINTABLE:'server'
emailAddress :IA5STRING:'hier_kommt_die_email@hi.n.de'
Certificate is to be certified until Sep 20 08:15:58 2018 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


Zum Schluß noch schnell die Diffie Hellmann Parameter generieren…

./build-dh


… und die crl.pem-Datei erstellen, mit der es später möglich ist, vergebene Zertifikate ungültig zu machen.

export KEY_CN=
export KEY_OU=
export KEY_NAME=
openssl ca -gencrl -out /etc/openvpn/crl.pem -config /etc/openvpn/easy-rsa/openssl.cnf


Tschau
Sven

Kategorienlinux, windows Tags: ,
  1. Bisher keine Kommentare
  1. Bisher keine Trackbacks