Der Cisco VPN-Client im MacOS X 10.6 Snow Leopard – Teil 2

In etlichen Mac-Online-Publikationen (u.a. maclife, Macbug) kann man lesen, dass der eingebaute VPN-Client nur IPSec over TCP, aber kein IPSec over UDP unterstützt.
Das ist in dieser Form aber falsch. Im Moment bin ich hinter einem NAT-Gateway und connecte mich mit dem SL-Client auf einen IOS-Router (12.4(15)T9) als IPSec-Gateway (die 89.246.26.242 ist dabei meine DSL-IP):

c2811>sh crypto session remote 89.246.26.242
Crypto session current status

Interface: Virtual-Access2
Username: karsten.iwen
Profile: vpn-ra
Group: VPN-RA
Assigned address: 10.10.10.1
Session status: UP-ACTIVE
Peer: 89.246.26.242 port 4500
  IKE SA: local a.b.c.d/4500 remote 89.246.26.242/4500 Active
  IPSEC FLOW: permit ip 10.10.0.0/255.255.0.0 host 10.10.10.1
        Active SAs: 2, origin: crypto map

Deutlich ist zu erkennen, dass hier das standardkonforme IPSec over UDP (NAT-Traversal) verwendet wird. Ob das Cisco-proprietäre IPSec over UDP unterstützt wird kann ich nicht sagen. Aber wer das einsetzt lebt vermutlich sowieso noch im Jahr 1999 und glaubt immer noch, dass sich ATM nächstes Jahr durchsetzt … ;-)

Der Cisco VPN-Client im MacOS X 10.6 Snow Leopard

Das Update auf Mac OS X Snow Leopard wurde heute geliefert und die Installation war nach entspannten 45 Minuten ohne weitere Benutzereingriffe erledigt.
Auf den ersten Blick gab es eigentlich keine sichtbaren Änderungen, aber das war auch das was ich erwartet habe.
Mein erster Test galt dem eingebauten VPN-Client, der unter 10.6 neben dem schon vorher unterstützten PPTP und L2TPoverIPSec nun auch nativ das Cisco IPSec-VPN unterstützt. Das ist vor allem deshalb interessant, da Cisco den IPSec-Client nicht weiterentwickelt und deren Präferenz der AnyConnect-Client ist, der z.Zt. aber nur SSL-VPNs unterstützt.

Die Konfiguration ist recht einfach:

In den Netzwerk-Eigenschaften eine neue Verbindung anlegen Cisco VPN auswählen, VPN-Server-Adresse, Username konfigurieren und unter den Identifizierungseinstellungen die Gruppe mit PSK bzw. das Zertifikat konfigurieren:
CiscoVPN1
CiscoVPN2

Nachdem man das VPN verbunden hat bekommt man in der Menüleiste auf Wunsch ein Icon eingeblendet:
CiscoVPN3

Ein paar Einschränkungen gegenüber dem Cisco VPN-Client sind mir aber aufgefallen:

  • Es gibt keine Möglichkeit Backup-Server einzutragen.
  • Auch mehrere Adressen im Feld “Serveradresse” gehen nicht.

  • Keine eingebauten Statistiken
  • Keine Mutual Group-Authentication
  • Wenn die VPN-Gegenstelle eine Cisco ASA ist, dann ist diese Authentifizierung eine recht einfache Methode, um Man-in-the-Middle-feste VPNs hinzubekommen, was mit PSKs und digitalen Zertifikaten alleine etwas aufwendiger ist. Diese Einschränkung ist IMHO die wichtigste, die gegen den eingebauten Client spricht. Zumindest meine bevorzugte VPN-Art ist immer noch IPSec gegen die ASA wenn es um Remote-Access geht.

Glücklicherweise läuft der original Cisco-VPN-Client auch noch unter Snow Leopard, so dass man noch nicht auf den eingebauten Client wechseln muss.

Cisco IOS: Uniform Fragmentation bei IPSec

Im Cisco Security-Kurs DVS (Designing VPN Security) wird als ein Thema “look-ahead fragmentation” (in der Doku “IPSec pre-fragmentation” genannt) angesprochen. Read more

Pre-Shared-Key Generator für IPSec

IPSec-VPNs werden häufig mit Pre-Shared-Keys (PSK) konfiguriert. Um diese zu generieren benutze ich ein kleines Python-Script. Read more

IPSec PSK-Encryption im Cisco IOS 12.3(2)T

an example-configuration for the storage of encrypted pre-shared-keys in IOS 12.3(2)T. Read more

IPSec Tunnel Interfaces

A sample-configuration of IPSec Tunnel-Interfaces, a new 12.3(14)T-Feature (Updated 2006-03-29). Read more

IPSec: manual configuration in Cisco IOS

This example shows how manual IPSec is configured in Cisco IOS. Read more