Was muss ich bei den "Lebensdauer"-Einstellungen für IKE/IPSec-Tunnel beachten?
What do I have to consider for the "Lifetime" settings for IKE/IPSec tunnels?
Der Hauptgrund, warum die Lebensdauer von IPSec Tunnel beschränkt wird, ist Sicherheit. Je länger ein Tunnel am Leben bleibt, desto mehr Zeit hat ein Angreifer für einen Angriff und desto mehr Daten werden mit dem gleichen Session Schlüssel verschlüsselt, was den Aufwand den Schlüssel zu ermitteln für Angreifer zunehmend reduziert.
Der IKE Phase 1 Tunnel dient ausschließlich dazu eine sichere Verbindung zwischen VPN Client und VPN Gateway zu gewährleisten, vergleichbar mit einer TLS Verbindung (also HTTPS statt HTTP). Über den Phase 1 Tunnel werden nur IKE Nachrichten ausgetauscht, die dazu dienen die Phase 1 Verbindung selber am Leben zu halten und bei Bedarf Phase 2 Tunnel auszuhandeln. Der Phase 1 Tunnel hat keinen Einfluss auf die VPN Geschwindigkeit, nur auf den initialen Verbindungsaufbau, daher spricht nie etwas dagegen in Phase 1 immer mit der stärksten Absicherung zu arbeiten, die beide Seiten unterstützen. Da nur sehr wenige Daten jemals über den Phase 1 Tunnel gesendet werden, spricht nichts dagegen eine sehr hohe Lebensdauer dafür zu wählen.
Die Phase 2 Tunnel werden genutzt um den eigentlichen Datenverkehr zu verschlüsseln, daher haben hier die Einstellungen direkten Einfluss auf Overhead, Latenz und Geschwindigkeit der VPN Verbindung und müssen gegen die Sicherheit abgewogen werden. Auch werden große Datenmengen über die Phase 2 Tunnel verschlüsselt, weswegen man deren Lebensdauer nicht zu hoch einstellen sollte. Falls möglich ist es immer empfehlenswert Perfect Forward Secrecy (PFS) in Phase 2 zu verwenden, was zwar den Phase 2 Verbindungsaufbau etwas verlangsamt, dafür aber die Phase 2 kryptographisch komplett von der Phase 1 entkoppelt, da ein eigenständiger Session Schlüssel ausgehandelt und nicht vom Session Schlüssel der Phase 1 abgeleitet wird.
Die Lebensdauern der beiden Phasen sind grundsätzlich unabhängig voneinander. Ein Phase 2 Tunnel darf weiter bestehen, auch wenn der Phase 1 Tunnel über den er ausgehandelt wurde nicht länger existiert. Somit darf Phase 1 auch eine kürzere Lebenszeit als Phase 2 besitzen. VPN Tracker handelt immer rechtzeitig vor Ablauf der Lebensdauer neue Tunnel aus, so dass es im Normalfall nie zu einer Unterbrechung der Verbindung kommt. Bei Phase 2 greifen die Tunnel dabei nahtlos ineinander, d.h. es geht kein einziges Datenpaket bei einem Wechsel verloren, deswegen entsteht auch bei einer sehr kurzen Lebensdauer von wenigen Minuten der Eindruck einer unterbrechungsfreien Verbindung. Häufige Wechsel der Phase 2 Tunnel führt lediglich zu etwas mehr Datenverkehr und etwas mehr Rechenarbeit auf beiden Seiten der Verbindung.
Wichtige Hinweise
Die Lebensdauer der der Tunnel wird explizit nicht ausgehandelt. Der Standard erlaubt, dass ein Tunnel unterschiedliche Lebenszeiten auf beiden Seiten der Verbindung besitzt. Die Seite, wo die Lebenszeit dann zuerst abläuft, bestimmt damit auch das weitere Vorgehen. Nur wenn VPN Tracker diese Seite ist, kann VPN Tracker auch das weiter Vorgehen bestimmen und aktiv agieren, ansonsten kann VPN Tracker nur passiv reagieren. Letzteres hat bei Phase 1 immer zur Folge, dass die Verbindung kurzfristig unterbrochen wird oder sogar ganz abreißt. Bei Phase 2 hängt es davon ab, ob die Gegenseite aktiv neue Phase 2 Tunnel aushandeln will oder nur die alten Tunnel löscht; letzteres führt auch mindestens kurzfristig zu einem Verbindungsabbruch.
Daher ist es grundsätzlich ratsam in VPN Tracker immer genau die gleichen Lebensdauern wie auf der Gegenseite einzustellen, denn dann wird VPN Tracker immer versuchen rechtzeitig in das Geschehen eingreifen um einen Verbindungsabbruch zu vermeiden.
Da es leider auch IKE/IPSec Implementierungen gibt, die alle Phase 2 Tunnel löschen, sobald der dazugehörige Phase 1 Tunnel gelöscht wurde, ist darüber hinaus grundsätzlich ratsam die Phase 1 auf Geräten immer so lange zu wählen, wie eine VPN Verbindung maximal am Stück bestehen bleiben soll.
The main reason why the lifetime of IPSec tunnels is limited is security. The longer a tunnel is alive, the more time an attacker has for an attack and the more data is encrypted with the same session key, which reduces the effort for attackers to find the key.
The IKE Phase 1 tunnel is only used to ensure a secure connection between VPN client and VPN gateway, comparable to a TLS connection (i.e. HTTPS instead of HTTP). Only IKE messages are exchanged via the Phase 1 tunnel, which are used to keep the Phase 1 connection alive and to negotiate Phase 2 tunnels if necessary. The Phase 1 tunnel has no influence on the VPN speed, only on the initial connection setup, so there is never any reason why you should not always work with the strongest protection in Phase 1, that both sides can support. Since very little data is ever sent through the Phase 1 tunnel, there is no reason not to choose a very long lifetime.
The Phase 2 tunnels are used to encrypt the actual data traffic, so the settings here directly influence the overhead, latency and speed of the VPN connection and must be weighed against the security. Also, large amounts of data are encrypted via the Phase 2 tunnels, so you should not set their lifetime too high. If possible, it is always recommended to use Perfect Forward Secrecy (PFS) in Phase 2, which slows down the Phase 2 connection setup a bit, but completely decouples Phase 2 cryptographically from Phase 1, since an independent session key is negotiated and not derived from the session key of Phase 1.
The lifetimes of the two phases are basically independent of each other. A Phase 2 tunnel may continue to exist, even if the Phase 1 tunnel over that it was negotiated no longer exists. Thus, Phase 1 may have a shorter lifetime than Phase 2. VPN Tracker always negotiates new tunnels in time before the lifetime expires, so that the connection is normally never interrupted. With Phase 2, the tunnels are seamlessly connected, meaning that not a single data packet is lost during the exchange. This is why even with a very short lifetime of just a few minutes, the impression of an uninterrupted connection is created. Frequent changes of Phase 2 tunnels only lead to a little more data traffic and a little more computing work on both sides of the connection.
Important Notes
The lifetime of the tunnels is explicitly not negotiated. The standard allows that a tunnel has different lifetimes on both sides of the connection. The side, where the lifetime expires first, determines the further procedure. Only if VPN Tracker is that side, it can determine what happens next, otherwise VPN Tracker can only react passively. The latter will always result in a short interruption or even a complete loss of the connection in case of Phase 1. For Phase 2, it depends on whether the other side wants to actively negotiate new Phase 2 tunnels or only deletes the existing ones; the latter also leads to a short-term connection loss.
It's always best to set VPN Tracker to the same lifetime as the other side, because VPN Tracker will always try to intervene in time to avoid a connection loss.
Since there are also IKE/IPSec implementations that delete all Phase 2 tunnels as soon as the corresponding Phase 1 tunnel is deleted, it's always a good idea to select Phase 1 on devices to match the maximum VPN session time expected.