Um Aussenstellen dynamisch an die Hauptniederlassung zu binden wird ein VPN aufgebaut. Um dies zu erstellen wird eine feste (offizielle) IP-Adresse und ein Tunnel - Protokoll benötigt. Zur Auswahl stehen dazu verschiedene proprietäre Ansätze verschiedene Unternehmen wie 3Com, Microsoft (PPTP, Point to Point Tunneling Protocol) oder Cisco (CET, Cisco Encryption Technology) und IPSec. Hier kristallisiert sich schnell IPSec als geeignetstes Protokoll heraus.
Zum einen ist IPSec Herstellerunabhängig. Dies garantiert eine breitere Einsatzbasis auf verschiedenen Hardware - Plattformen. Wäre man z.B. mit CET auf Cisco Router angewiesen, hat man mit IPSec einen offenen Standard zur Verfügung, der von der IETF als RFC vorgelegt13 und somit zum Standard erhoben ist.
Zum anderen behält IPSec für zukünftige Entwicklungen und andere Einsatzgebiete weitere Möglichkeiten offen. So kann z.B. nur die Authentifikation, ohne Verschlüsselung der Daten eingesetzt werden.
Zum Einrichten des VPN sind lediglich vier Schritte notwendig:
Als Hardware werden an den Grenzen des VPN Router der Marke Cisco vom Typ 801 eingesetzt. Diese verwenden IOS als Konfigurationssprache, die sehr komplex, aber auch sehr mächtig ist. Das folgende Listing beschränkt sich auf die, für das VPN nötigen Befehle. Kommentare werden mit einem '!' Eingeleitet.
Der Abschnitt crypto isakmp" definiert IKE als Schlüssel - Austausch - Protokoll und die dazu zu verwendenden Methoden (Triple-DES bzw. MD5). Ausserdem wird die Authentifizierung mittels pre-shared secret" gewählt, also durch ein, bei der Installation gewähltes Passwort. Die Lebensdauer eines Session - Key beträgt 3600 Sekunden, danach wird ein neuer Schlüssel ausgehandelt.
Der Teil IPSec gibt die Verbindungseigenschaften des Tunnels an. Danach wird IPSec an die Verbindung Dialer 1" gebunden, die den connect zum ISP darstellt, also die Wählleitung zum Internet.
Ein spezieller Adressraum für das VPN ist nötig, um eine Kommunikation zwischen den VPN-Endgeräten zu ermöglichen. Verschlüsselter Verkehr zwischen den Routern (bzw. Endrechnern mit IPSec-Client) erfolgt auf diesem Segment.
Jedem Endpunkt einer VPN-Verbindung (seiner IP - Adresse) muss ein Hauptschlüssel zugewiesen werden. Dieser wird als Geheimnis bei der Session - Key - Vereinbarung verwendet. Alle Verbindungen im erstellten Tunnel werden danach mit diesem Session - Key verschlüsselt. Auf Wunsch vereinbaren die beiden Kommunikationspartner in regelmässigen Abständen neue Schlüssel, um den Schaden bei einer eventuellen Kompromittierung des Session - Keys zu begrenzen.
Es existieren mehrere Schlüssel - Austausch - Protokolle, aber aus drei Gründen wird hier das IKE (Internet Key Exchange Protocol) verwendet.
Zum Ersten handelt es sich um den am weitesten verbreiteten Standard und garantiert somit die grösstmögliche Interoperabilität. Ausserdem bietet IKE die Möglichkeit während einer IPSec - Verbindung den Schlüssel zu ändern und somit die Lebensdauer von Session - Keys fest zu legen.
Der dritte Grund liegt in der Erweiterbarkeit der Infrastruktur. Im Gegensatz zu vielen anderen Protokollen unterstützt IKE Certification Authorities (CA) und erleichtert somit die Schlüsselverteilung bei einer grossen Anzahl von Schlüsseln. Diese Option wird vorerst nicht eingesetzt, kann aber in Zukunft grosse Erleichterung bringen.
Um die Kommunikation zu ermöglichen müssen in beiden Endpunkten des VPN die zu verwendenden Algorithmen ausgewählt werden. Hierbei muss vor allem auf die Abschaltung der nicht Verschlüsseln - Funktion geachtet werden. Die Stärke der zu verwendenden Methode hängt auch von der vorhandenen Bandbreite und von der Leistungsfähigkeit der verwendeten CPU ab. Man kann sich hier an der am wenigsten performanten Komponente (vermutlich die Telefonleitung) orientieren, um den gewünschten Datendurchsatz zu ermitteln.
Konfiguration
!
! Internet Key Exchange (IKE)
!
crypto isakmp enable
crypto isakmp identity address
!
crypto isakmp policy 1
encryption 3des
hash md5
authentication pre-share
group 2
lifetime 3600
!
! IPSec
!
crypto ipsec transform-set cm-transformset-1 ah-md5-hmac esp-3des
crypto map cm-cryptomap local-address Dialer 1
!
crypto map cm-cryptomap 1 ipsec-isakmp
match address 100
set transform-set cm-transformset-1
set security-association lifetime seconds 3600
set security-association lifetime kilobytes 102400
!
interface Dialer 1
description connected to Internet
crypto map cm-cryptomap