Workshop: VPN mit Linux

Gateway-Zertifikat

Ganz ähnlich wie die Generierung des Root-CA-Zertifikats läuft die Erstellung des Zertifikats für unser Gateway ab. Mit diesem beweisen wir später unseren Roadwarriors, dass sie auch mit dem richtigen Security Gateway kommunizieren.

Zunächst benötigen wir wieder einen Private Key, diesmal mit 1024 Bit Länge:

openssl genrsa -des3 -out private/gwKey.pem 1024

Dabei vergeben wir eine eigen Passphrase für den Gateway. Nun erstellen wir einen Zertifikatsantrag für die Root CA:

openssl req -new -key private/gwKey.pem -out gwReq.pem

Wir bestätigen dabei den Antrag mit unserer Gateway-Passphrase und ignorieren die Anfragen nach den extra attributes.

Nun unterschreiben wir den Request als Root CA:

openssl ca -notext -in gwReq.pem -out gwCert.pem

Dazu geben wir auf Anfrage die Root-CA-Passphrase an. Unser eben erstelltes Zertifikat müssen wir noch als /etc/x509cert.der in binärer Form für den Gateway ablegen. Dazu konvertieren wir das Zertifikat mit dem Befehl:

openssl x509 -in gwCwert.pem -outform der -out /etc/x509cert.der

Den Private Key gwKey.pem kopieren wir für Free S/WAN nach /etc/ipsec.d/private. Außerdem muss die zugehörige Passphrase in der Datei /etc/ipsec.secrets im Klartext vorgehalten werden. Lautet unsere Passphrase beispielsweise "einfaltslosePassphrase", tragen wir dort folgende Zeile ein:

: RSA gwKey.pem "einfaltslosePassphrase"

Es versteht sich, dass ipsec.secrets nur für root zugänglich sein darf.

Mit dem Bezeicher für den Inhaber des Gateway-Zertifikats stopfen wir jetzt noch de letzte Lücke in unserer /etc/ipsec.conf. Dort tragen wir den kompletten Bezeichner als leftid im Abschnitt conn %default ein. In unserem Beispiel lautet die entsprechende Zeile:

leftid="C=DE, ST=Bavaria, L=Munich, O=IDG Interactive GmbH, OU=tecCHANNEL, CN=fenrisGW, Email=jluther@tecchannel.de"