[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
countryNameRINTABLE:'DE'
stateOrProvinceNameRINTABLE:'Saxony'
localityNameRINTABLE:'Chemnitz'
organizationNameRINTABLE:'Knuddelbunte Welt Organisation'
commonNameRINTABLE:'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
Letzte Kommentare