VPN Allgemein

Aus xinux.net
Zur Navigation springen Zur Suche springen

IPSec

IPSec ist ein Standard, um lokale Netzwerke sicher über das Internet zu verbinden. Dabei legt IPSec so genannte Virtual Private Networks (VPN) an.

IPSec arbeitet dabei auf der IP-Ebene. Dies bedeutet, es werden keine Veränderungen (wie z.B. Verschlüsselungsmodule) in den verwendeten Programmen benötigt. Deshalb ist es auch mit allen TCP/IP basierten Netzwerkprogrammen kompatibel.

IPSec kann lokale Netze oder auch einzelne Clients mit privaten Netzwerkadressen über das Internet verbinden. Dazu werden die ursprünglichen IP-Pakete verschlüsselt und in neue Pakete eingepackt. Beim Empfänger werden die Pakete wieder ausgepackt, entschlüsselt, geprüft und weitergeleitet.

Bevor allerdings eine verschlüsselte Verbindung aufgebaut werden kann, müssen sich die beiden Verbindungspartner sicher sein, dass Ihr Gegenüber auch der ist, für den er sich ausgibt (Authentifizierung). Hierzu gibt es zwei Verfahren. Das eine wird Pre-Shared Key (PSK) oder auch Shared Secret genannt. Hierbei kennen beide Seiten ein gemeinsames Passwort. Bei dem anderen Verfahren wird die so genannte Public-Key Kryptographie eingesetzt.

Public-Key

Public-Key Kryptographie basiert auf einem mathematischen Verfahren, bei dem ein Schlüsselpaar aus einem geheimen Schlüssel (Private Key) und einem dazugehörigen öffentlichen Schlüssel (Public Key) erzeugt wird. Mit dem Public Key verschlüsselte Nachrichten können nur mit dem dazugehörigen Private Key entschlüsselt werden. Hat jemand nur den Public Key, so kann er nur verschlüsseln, nicht aber entschlüsseln.

Daher können die Public Keys problemlos auf unsicheren Kanälen (z.B. per E-Mail) ausgetauscht werden.

Die einzige Gefahr besteht darin, dass ein Angreifer den Schlüssel vertauscht haben könnte (sog. Man-in-the-middle Angriff). Wenn Sie ganz sicher gehen wollen, können daher nach dem Schlüsselaustausch die Signaturen (auch Fingerprint genannt) der Schlüssel z.B. am Telefon verglichen werden.

Zertifikate

Als Erweiterung zum Konzept von öffentlichen und privaten Schlüsseln gibt es Zertifikate. Dabei wird der öffentliche Schlüssel von einer Zertifizierungsstelle (engl. Certification Authority, abgekürzt CA), digital signiert. Das ermöglicht bei größeren Installationen, dass eine Gegenstelle anhand der digitalen Signatur feststellen kann, ob ein Schlüssel gültig ist, ohne dass der Schlüssel selbst vorher installiert wurde.

Für den Intranator bringt eine solche Zertifizierungsstelle normalerweise nur wenig Vorteile, dennoch setzt der Intranator konsequent den Zertifikatsstandard X.509 ein. Dieser Standard hat sich in der Praxis anstatt einfachen Public-/Private-Key-Paaren durchgesetzt.

Um die Bedienung zu vereinfachen, erzeugt der Intranator normalerweise selbstsignierte Zertifikate, bei denen der Inhaber (Subject genannt) auch gleichzeitig der Zertifikatsaussteller (Issuer) ist. Dadurch sind bei der Bedienung keine zusätzlichen Schritte für die Verwendung von Zertifikaten nötig. Selbstverständlich können aber auch externe Zertifizierungsstellen verwendet werden.


IPSec Verbindungen

Ein IPSec Verbindungsaufbau geschieht mit dem Protokoll Internet Key Exchange (IKE) in zwei Phasen.

Phase 1: Zuerst wird eine gesicherte Verbindung (ISAKMP SA oder IKE SA genannt) aufgebaut. Diese Verbindung wird über UDP Port 500 aufgebaut. Erkennt das System, dass eine Seite hinter einem NAT-Router steht, wird auf UDP Port 4500 umgeschaltet. Es gibt zwei Modi für den Verbindungsaufbau: den Main Mode und den Aggressive Mode. Der Aggressive Mode beschleunigt den Verbindungsaufbau um einige Zehntelsekunden, kann aber leichter geknackt werden. Der Intranator unterstützt daher nur den sicheren Main Mode.

Phase 2: Die zuvor aufgebaute gesicherte Verbindung wird nun genutzt, um die eigentlichen Verbindungsdaten und Sitzungsschlüssel auszuhandeln (Quick Mode). Ist dies erfolgreich, wird eine sog. IPSec SA konfiguriert und kann dann genutzt werden, um verschlüsselt Daten zu übertragen.

Beide Phasen der Verbindung haben aus Sicherheitsgründen nur eine begrenzte Lebensdauer und werden daher regelmäßig aktualisiert.

Aus Sicherheitsgründen und um das Routing zu vereinfachen überprüft jede Seite der Verbindung, dass nur genau die Pakete durch die Verbindung kommen, die vorher konfiguriert wurden. Daher ist es wichtig, dass auf beiden Seiten identische Werte für Start- und Zielnetz eines Tunnels angegeben wurden.

Damit die Sicherheitsrichtlinien sehr eng konfiguriert werden können, ist es möglich, zwischen zwei Rechnern beliebig viele verschiedene IPSec Verbindungen aufzubauen.