
Das IT-Magazin der ORDIX AG mit Fachbeiträgen zu Datenbanken, Unix und Java/XML.
Weiterführende Links
ORDIX News
VPN – Virtuelle Private Netze, Teil III:
|
cd /usr/src
tar xvfz linux-2.4.21.tar.gz
tar xvfz freeswan-2.00.tar.gz
tar xvfz x509-1.3.3-freeswan-2.00.tar.gz
cd freeswan-2.00
patch -p1 < ../x509-1.3.3-freeswan-2.00
/freeswan.diff
make menumod
make kinstall
|
| Abb. 1: Befehle zur Anpassung des Linux-Systems. |
Im Anschluss daran ist das Kernelmodul /lib/modules/2.4.21/kernel/net/ipsec/ipsec.o verfügbar und kann mit insmod ipsec geladen werden. Es ist aber auch möglich, KLIPS fest in den Kernel einzubinden.
Wie im vorhergehenden Artikel erläutert wurde, ist zur Kommunikation über IPsec zunächst die Aushandlung einer Security Association über das IKE-Protokoll notwendig. Zu diesem Zweck enthält die FreeS/WAN Software den Dämon pluto, welcher eingehende IKE-Verbindungen auf dem UDP Port 500 annimmt und verarbeitet. Er wird über zwei Dateien konfiguriert:
Bei einem Kunden der ORDIX AG wurde vor einigen Wochen eine neue Geschäftsstelle errichtet. Bei der Eingliederung in das Unternehmensnetzwerk wurde aus Kosten- und Flexibilitätsgründen eine VPN-Lösung auf Linux Basis realisiert. Zu diesem Zweck wurden seitens der ORDIX AG zunächst zwei Linux Server mit IPsec Funktionalität ausgestattet, wie eingangs beschrieben.
Anschließend wurden mit der GNU-Software openssl RSA-Schlüsselpaare für die beteiligten VPN-Gateways erzeugt und von einer ebenfalls mittels openssl eingerichteten Certification Authority (CA) signierte Zertifikate erstellt.
Der private Schlüssel, die Widerrufsliste für Zertifikate (CRL), das Zertifikat des Gateways sowie der Zertifizierungsstelle wurden dann auf die Gateways übertragen.
Der private Schlüssel wird im Verzeichnis /etc/ipsec.d/private abgelegt, die Certification Revocation List im Verzeichnis /etc/ipsec.d/crls, das Gateway-Zertifikat im Verzeichnis /etc/ipsec.d und das Zertifikat der CA in /etc/ipsec.d/cacerts. Danach wird die Verbindung in die Konfigurationsdatei /etc/ipsec.conf (siehe Abb. 2) eingetragen.
Diese Datei teilt sich in drei Bereiche auf:
Es ist empfehlenswert, aus Gründen der Übersichtlichkeit für jede Verbindung eine zusätzliche Konfigurationsdatei zu erstellen und diese mittels include in die ipsec.conf einzubinden (siehe Abb. 2).
# /etc/ipsec.conf - FreeS/WAN IPsec configuration file # Grundeinstellungen config setup interfaces=ipsec1=eth1 klipsdebug=none plutodebug=none plutoload=%search plutostart=%search forwardcontrol=yes # Default conn %default keyingtries=0 disablearrivalcheck=no authby=rsasig compress=yes # HQ-GSneu VPN include /etc/ipsec.d/site2site/ HQ-GSneu-tunnel.conf |
| Abb. 2: Einstellungen in der Konfigurationsdatei ipsec.conf. |
Diese Datei enthält nun alle spezifischen Einstellungen der neuen Verbindung. Für die beiden Kommunikationspartner werden die Pseudonyme left und right benutzt. Die wichtigsten Konfigurationseinträge werden nachfolgend erläutert. Die Einstellungen für die beiden Gateways finden Sie in Abb. 3.
conn HQ-GSneu:
Der Name der Verbindung.
interfaces=ipsec1=eth1:
Das Netzwerkinterface eth1 wird für IPsec-Verbindungen genutzt.
authby=rsasig:
Die Authentifizierung erfolgt über RSA.
Der Aufbau des Tunnels wird über den Aufruf des Kommandos
ipsec auto —up HQ-GSneu
initiiert. Erst nachdem die Security Association eingerichtet ist, werden die Routing-Einträge auf den Gateways durch das mit leftupdown bzw. rightupdown definierte Skript automatisch so angepasst, dass IP-Pakete aus den dahinterliegenden Subnetzen weitergeleitet werden. Zudem werden eventuell benötigte Firewall-Einstellungen durch diese Skripte angepasst.
Auf diese Weise wird verhindert, dass Daten unverschlüsselt über das unsichere Netz transportiert werden können.
total 12 drwxr-xr-x 2 root root 4096 Apr 24 11:19 cacerts drwxr-xr-x 2 root root 4096 Apr 24 11:19 crls drw——— 2 root root 4096 Apr 24 11:33 private drwxr-xr-x 2 root root 4096 May 28 09:21 site2site -rw-r—r— 1 root root 4529 Apr 24 11:33 HQgwCert.pem ./cacerts: total 4 -rw-r—r— 1 root root 934 Apr 24 11:19 RootCA.der ./crls: total 4 -rw-r—r— 1 root root 589 Apr 24 11:19 crl.pem ./private: total 4 -rw——— 1 root root 1743 Apr 24 11:33 HQgwKey.pem ./site2site: total 4 -rw-r—r— 1 root root 510 May 12 23:02 HQ-GSneu-tunnel.conf |
| Abb. 4: Struktur der Verzeichnisse und Dateien unterhalb von /etc/ipsec.d. |
Das Linux-System leitet zudem nur dann IP-Pakete weiter, wenn der Kernel mit Unterstützung für IP-Forwarding kompiliert wurde und die Weiterleitung zudem explizit aktiviert ist. Dies geschieht über einen Eintrag im Pseudo-Dateisystem /proc:
echo 1 > /proc/sys/net/ipv4/ip_forward
Beim Systemstart ist dieser Wert auf 0 gesetzt. Eine Weiterleitung von Paketen wird somit verhindert. Um die Weiterleitung beim Start des pluto zu aktivieren sowie bei dessen Stop wieder zu deaktivieren wird folgender Eintrag in die /etc/ipsec.conf hinzugefügt:
forwardcontrol=yes
Auf diese Weise wird zusätzlich verhindert, dass Pakete weitergeleitet werden, obwohl der Dämon zur Verarbeitung von IPsec-Verbindungen nicht gestartet ist. Ist der IPsec-Tunnel zwischen den VPN-Gateways aufgebaut und sind die Routingeinträge entsprechend angepasst, können nun die Rechner aus den Subnetzen 192.168.1.0/24 und 192.168.2.0/24 durch den Tunnel miteinander kommunizieren.
Durch den Einsatz von ESP im Tunnelmodus sind die IP-Pakete während des Transfers durch das Internet komplett verschlüsselt. Standardmäßig geschieht dies bei FreeS/WAN mit dem als sehr sicher geltenden symmetrischen Verschlüsselungsverfahren Triple-DES, welches mit einer Schlüssellänge von 168 Bit arbeitet. Durch die vollständige Einkapselung der IP-Pakete ist auch die ursprüngliche Quell- und Zieladresse für einen Angreifer nicht nachvollziehbar.
Zur Authentifizierung der Kommunikationspartner werden Zertifikate mit 2048 Bit Länge des öffentlichen Schlüssels eingesetzt. Solche Schlüssel sind auch auf lange Sicht als praktisch nicht zu knacken anzusehen. Zur Integritätsprüfung werden wahlweise die Verfahren SHA1-96 oder MD5-96 genutzt, welche beide ebenfalls als sehr sicher einzuschätzen sind.
Durch den Einsatz Virtueller Privater Netze lassen sich z. T. erhebliche Kostensenkungen realisieren. Der Aufwand für die Anbindung der neuen Geschäftsstelle reduzierte sich auf die Anschaffung und Einrichtung der Router-Hardware sowie die Kosten für den Internetanschluss. Das VPN-Gateway sowie der Internetanschluss in der Zentrale waren bereits vorhanden, so dass dort lediglich anteilige Kosten berechnet werden müssen. Insgesamt erzielt die VPN-Lösung nach Aufrechnung aller Aufwände bei diesem Szenario einen Kostenvorteil von 500-700 Euro pro Monat gegenüber einer Standardfestverbindung der Deutschen Telekom. Bei einer Erhöhung der Bandbreite steigen die Kostenvorteile zudem überproportional.
Alle aktuellen Studien gehen von einer stark wachsenden Bedeutung der IP VPN in den nächsten Jahren aus. Dabei werden für IPsec als offener Standard zur gesicherten Datenübertragung sowie der Authentifizierung von Systemen besonders gute Aussichten bescheinigt. Einer Studie im Auftrag des Bundesministeriums für Sicherheit in der Informationstechnik zufolge wird sich IPsec zur Authentifizierung von Endsystemen durchsetzen und im Laufe der nächsten Jahre zudem zum wichtigsten Verfahren zur Sicherung von Vertraulichkeit und Integrität von Daten entwickeln.
Christof Amelunxen (info@ordix.de).