Ein IPSec-Gateway im Eigenbau

Seite 2: Den Ausweis bitte!

Inhaltsverzeichnis

Außer der Verschlüsselung übernimmt das VPN-Gateway die Authentifizierung und sorgt dafür, dass nur autorisierte Gegenstellen eine VPN-Verbindung aufbauen können. Im einfachsten Fall geschieht dies über ein geheimes Passwort (auch oft als Pre-Shared Key, kurz PSK bezeichnet). Für VPN-Nutzer ohne feste IP-Adresse - in der FreeS/WAN-Nomenklatur Road Warrior - ist dieser Mechanismus jedoch unbrauchbar: Aufgrund des Designs von IPSec müssten dabei alle das gleiche Passwort verwenden. Um einem (Ex-)Mitarbeiter den Zugang zu sperren, müssten alle anderen das Passwort ändern.

Deshalb wickelt man die Authentifizierung besser über Public-Key-Mechanismen ab, wie sie auch die E-Mail-Verschlüsselung mit PGP/GNUPG benutzt. Standardmäßig setzt FreeS/WAN dazu RSA-Schlüssel ein, mit denen jedoch Windows nicht umgehen kann. Die in Windows 2000 und XP enthaltenen IPSec-Erweiterungen erwarten vollwertige X.509-Zertifikate. Für deren Unterstützung braucht FreeS/WAN derzeit noch einen zusätzlichen Patch, der in vielen fertigen Paketen jedoch bereits enthalten ist. Dann meldet sich FreeS/WAN beim Start mit:

Starting Pluto (FreeS/WAN Version 1.99)
including X.509 patch (Version 0.9.15)

in der Log-Datei /var/log/auth.log (bei manchen Distributionen in secure).

Die Echtheit solcher X.509-Zertifikate beglaubigt eine Zertifizierungsstelle (Certification Authority, CA). Für ein VPN empfiehlt es sich, eine eigene CA einzurichten, damit man die Zertifikate für die VPN-Nutzer selbst ausstellen kann. Auch dafür gibt es unter Linux mit OpenSSL ein kostenloses Open-Source-Paket.

X.509 und OpenSSL haben wir bereits in [1] ausführlich erläutert, Details dazu würden den Rahmen dieses Artikels sprengen. Für dieses VPN-Projekt genügen die dort ebenfalls vorgestellten Skripte zum Aufbau einer kleinen VPN-CA (siehe Soft-Link und Kasten "Die Mini-CA").

Es ist zwar prinzipiell möglich, die VPN-CA auf dem VPN-Gateway selbst zu betreiben, aus Sicherheitsgründen sollte diese Aufgabe jedoch besser ein separater Linux-Rechner übernehmen. Wer nicht so weit gehen will, ein Notebook nur für diesen Zweck abzustellen und im Tresor aufzubewahren, kann zumindest den geheimen Schlüssel der Root-CA auf Diskette oder einen USB-Stick auslagern und diese getrennt aufbewahren. Ein externes Backup der Schlüssel ist auf jeden Fall anzuraten.