Tag Archives: VPN

Vorsicht bei Leerzeichen im Namen von IPSec Phase 2 Proposals

Bei einer Migration einer WatchGuard Firebox X Peak X5500e von einer 10.2.x Version auf die Version 11.2 ist es mir die Tage passiert, dass plötzlich etwa die Hälfte der vorher ca. 40 BOVPN-Tunnel nicht mehr vorhanden war und im WSM / Firebox System Manager auch nicht mehr angezeigt wurde. Und zwar wurden nur noch die Tunnel angezeigt, deren Tunnel-Name alphabetisch aufsteigend von A bis zu einem bestimmten Buchstaben ging…
Die Fehlersuche führte natürlich sofort zu einem Vergleich des letzten noch angezeigten und des ersten nicht mehr angezeigten Tunnels. Dabei stellte sich als Besonderheit heraus, dass der Name des Phase 2 Proposals im ersten nicht mehr angezeigten VPN-Tunnel ein Leerzeichen enthielt! Nach dem Ersetzen des Leerzeichens durch ein “-” (Minus) und erneutem Speichern der Konfigurationsdatei waren dann auch alle VPN-Tunnel wieder da…

Achtung bei Migration auf Fireware XTM: Routing Table – Abarbeitung ändert sich

Momentan habe ich wenig Zeit für meinen Blog, weil jeden Tag neue Support-Anforderungen bei mir eingehen. Admins migrieren ihre WatchGuard Firebox mit bestem Wissen und Gewissen auf Fireware XTM (Version 11) – und erleiden bisweilen Schiffbruch. In den allermeisten Fällen lassen sich die Probleme darauf zurückführen, dass bei Fireware XTM (Version 11) die interne Routing Table der Firebox in einer anderen Reihenfolge abgearbeitet wird als bei der bisherigen Fireware 10.2.x.

Generell gilt bei XTM: VPN hat Vorrang!

Welche Probleme können daraus entstehen und welche Lösungsansätze gibt es:

  • 1. Mobile User VPN. Während noch bei der Version WFS 7.x empfohlen wurde, den IP-Pool für die Einwahl der mobilen User INNERHALB des lokalen LAN-Subnetzes zu definieren (Beispiel: LAN = 192.168.0.0/24, mobile User (egal ob PPTP oder IPSec) bekommen 192.168.0.200 bis 220 zugewiesen), ist dies bei Fireware XTM (Version 11) grundsätzlich ein Problem und führt zu gravierendem Fehlverhalten.

    Verwenden Sie grundsätzlich für die Einwahl von mobilen Usern IP-Bereiche, die in dieser Form an keiner anderen Stelle Ihrer (verteilten) IP-Infrastruktur verwendet werden. Ich persönlich verwende gerne für PPTP den Bereich 172.31.254.1 bis 50, für IPSec 172.31.255.1 bis x (je nach Lizenz) und für SSL-VPN 172.31.253.0/24. Diese Bereiche werden in aller Regel noch nicht für andere Zwecke verwendet – und haben eben den Vorteil, dass die WatchGuard Firebox zu diesen Bereichen ein sauberes Routing fahren kann.

  • 2. Network > Routes. Das Problem hier lässt sich anhand von folgendem Support Fall verdeutlichen: als eth1 (=Trusted) war bei einem Kunden definiert: 192.168.0.1/30, d.h. außer der Firebox gibt es in diesem Subnetz nur noch genau einen weiteren Host, 192.168.0.2. Dies ist ein Standleitungs-Router, der eine Leitung zu einem 10-er IP-Netz am Hauptstandort des Unternehmens bedient, an dem sich auch die AD-Domänencontroller des Unternehmens befinden, über die u.a. auch die Einwahl der mobilen User gegenüber Active Directory authentifiziert wurde (Eintrag unter Setup > Authentication > Authentication Servers > Active Directory). Dummerweise gab es in dieser Konfiguration auch noch einen BOVPN-Tunnel (sprich eine feste Außenstelle), der auf der Gegenseite das IP-Netz 192.168.0.0/24 bedient hat. Während unter der Software-Version Fireware 10.2.x das auf eth1 definierte lokale Netzwerk 192.168.0.0/30 Vorrang hatte und daher die DCs in dem 10-er Netz per Routing erreichbar waren, verhält sich die WatchGuard Firebox unter Fireware XTM (Version 11) nun anders und schickt den Traffic zu dem Standleitungs-Router 192.168.0.2 nun nicht mehr zum lokalen Interface eth1 raus – sondern packt ihn in den Tunnel in die Außenstelle x ein, wo er im Nirwana landet… Problematik klar? In diesem Fall am einfachsten die Konfiguration von eth1 und die IP-Adresse und das Routing des/zum Standleitungs-Router so abändern, dass das verwendete IP-Subnetz an keiner anderen Stelle der Unternehmens-IP-Infrastruktur verwendet wird…
  • 3. Problematik: vermaschte IP-Netze. Unter einem “vermaschten IP-Netz” verstehe ich hier ein verteiltes Netzwerk mit mehreren Standorten, die auf TCP/IP-Basis miteinander kommunizieren können, wobei das Routing jedoch nicht direkt von Außenstelle zu Außenstelle geführt wird, sondern über einen gemeinsamen, zentralen Punkt (i.d.R. ein Rechenzentrum). Auch ich habe in der Vergangenheit Netze gebaut, die in einer Außenstelle z.B. ein IP-Netz à la 10.0.23.0/24 verwendet haben – und einen BOVPN-Tunnel zu 10.0.0.0/8 hinter einem zentralen Gateway angesteuert haben. Dort befand sich eine WatchGuard Firebox X Core oder X Peak, die den Traffic angenommen hat – und auch tatsächlich wieder korrekt in die ebenfalls dort terminierten BOVPN-Tunnel zu den anderen Außenstellen eingepackt hat. Damit ließen sich auch schon in der Vergangenheit zentralisierte VoIP-Lösungen (z.B. Asterisk, Siemens HiPath, Avaya) abbilden. Ein Problem entsteht unter Fireware XTM insbesondere dann, wenn auch das zentrale Netzwerk in einem IP-Subnetz des o.g. vermaschten Netzwerks betrieben wird. Die zentralen Server sind dann aus den Außenstellen heraus nicht mehr korrekt erreichbar. Trifft dieses Szenario auf Sie zu, sprechen Sie mich bitte direkt an, um eine Lösung gemeinsam zu erarbeiten.
  • 4. Allgemein gilt: sofern Ihre IP-Infrastruktur *KLAR* definiert ist und es zwischen den verwendeten IP-Bereichen keine Konflikte/Überschneidungen gibt, wird ein Update auf die aktuelle Version WSM 11.x und Fireware XTM v11.x relativ einfach und überschaubar über die Runden gehen.

SSL-VPN bei Multi-WAN auf einer X Edge

Bei Vorhandensein der Edge Pro (Standard bei X55e, Nachrüst-Option bei X10e und X20e) können beide WAN-Anschlüsse der X Edge (WAN1 und WAN2) mit einem Internet-Anschluss belegt werden (z.B. zweimal aktives DSL für Multi-WAN oder einmal DSL und einmal UMTS als Fallback).

Obwohl die GUI auch andere Einstellungen zulässt, terminieren VPN-Verbindungen immer auf WAN1, solange WAN1 aktiv ist. Insofern handelt es sich bezüglich VPN bei WAN2 um ein reines Failover-Interface. Hat man die Konstellation, dass z.B. zunächst auf WAN1 ein normaler ADSL-Anschluss liegt (z.B. T-DSL 6000 mit 512 kBit Upload) – und nach einiger Zeit kommt ein SDSL-Anschluss hinzu (2 Mbit symmetrisch), der gerade wegen des höheren Upload für VPN-Verbindungen genutzt werden soll – sollte man die External Interface neu zuordnen, so dass der SDSL auf WAN1 und der ADSL auf WAN2 zu liegen kommt.

Im Falle von Mobile User SSL-VPN kann man eine Primary IP und eine Secondary IP angeben. Hierbei sollte Primary immer die WAN1-IP sein (bzw. der DYNDNS-Hostname) und Secondary immer die WAN2-IP. Der Client ist zwar in der Lage, die Secondary IP zu connecten und bekommt von dort auch die VPN-Konfig zugewiesen, die eigentliche VPN-Verbindung wird dann aber zu der Primary IP (sprich WAN1) aufgebaut, solange dieses Interface aktiv ist. Sind die IPs vertauscht oder wird z.B. nur die WAN2-IP in die Konfiguration eingetragen, kommt keine Verbindung zustande. Der Client zeigt im Log die Fehlermeldung “Connection refused (WSAECONNREFUSED)” und steht im Logon-Fenster in einer Endlosschleife “Paused, waiting 5 seconds”.

Support kennt hierzu auch ähnliche Berichte aus der Praxis:
BUG30110: Cannot construct SSL VPN and MOVPN on WAN2 while WAN1 is up und BUG23704: Cannot construct a tunnel on WAN2 while WAN1 is up. Diese wurden aber abgeschlossen mit dem Hinweis, dass dieses Verhalten “normal” und “by design” ist.

IKE Keep Alive und Dead Peer Detection (DPD)

Die Kernaussage vorweg: Steigern Sie die Stabilität Ihrer BOVPN Tunnel, indem Sie IKE Keep Alive –ODER– Dead Peer Detection (DPD) verwenden – aber nicht beides zusammen!

Branch Office VPN Tunnel sind im Regelfall darauf ausgerichtet, möglichst 24 Stunden am Tag voll verfügbar zu sein (always on). Brechen Tunnel weg, liegt es meist an:

  • Ein oder beide Endpunkte haben eine instabile Internet-Anbindung, hohe Latenzzeiten oder Paketverluste. In meinem Artikel Verbindungsprobleme wegen Ethernet Collisions bin ich darauf bereits einmal eingegangen.
  • Veraltete Software-Stände oder Kompatibilitäts-Probleme (möglichst immer die aktuelle Software-Version einsetzen, sowohl auf WatchGuard Firebox Produkten als auch auf VPN Devices von Fremdherstellern).
  • Kein Traffic im VPN-Tunnel. Tunnel ohne Traffic tendieren dazu, instabil zu werden.

Die WatchGuard Fireboxen kennen mehrere Verfahren, die zur Stabilität von VPN-Tunneln beitragen: IKE Keep Alive, Dead Peer Detection – und bei der X Edge Serie zusätzlich noch VPN Keep Alive.

IKE Keep Alive sollte nur eingesetzt werden, wenn auf beiden Enden des VPN-Tunnels WatchGuard Produkte stehen!
Dead Peer Detection (DPD) hingegen ist ein Industriestandard (RFC3706), der von den meisten IPSec Devices unterstützt wird. Die aktuellen Default Einstellungen sollten auch verwendet werden: NAT-Traversal (aktiv), 20 Sekunden. Bei Nutzung von IKE Keep Alive: 30 Sekunden, max. 5 Failures. Bei Nutzung von DPD: 20 Sekunden, max. 5 Versuche. Verwenden Sie IKE Keep Alive und DPD NICHT GLEICHZEITIG, dies bewirkt genau das Gegenteil: Wenn beide Verfahren aktiviert sind und ein Verfahren eine Phase 1 Renegotiation auslöst, erkennt das andere Verfahren den Tunnel als down und startet seinerseits eine zweite Phase 1. So entsteht ein Konflikt mit der gerade zuvor ausgehandelten Phase 1…

Auf der X Edge gibt es alternativ noch VPN Keep Alive (VPN > VPN Keep Alive). Hier kann pro Tunnel eine IP-Adresse eines Hosts auf der anderen Seite des Tunnels eingetragen werden, der 24/7 läuft und auf ping antwortet (z.B. ein Server, ein managebarer Switch oder ersatzweise die IP-Adresse des Trusted Interface der dortigen Firewall bzw. VPN-Komponente):

Es wird empfohlen, sich jedoch nur auf EIN Verfahren zu beschränken!

BOVPN Notification einschalten

Wenn die Firebox an einen Logging Server angeschlossen und dieser korrekt konfiguriert ist, können für viele unterschiedliche Ereignisse auf der Firewall Notifications (Benachrichtigungen) erzeugt und per E-Mail an den Firewall-Administrator oder einen Support-Alias verschickt werden. Wichtig: Der Versand der Notification E-Mails erfolgt vom Logging Server aus – die Firewall liefert über das Logging lediglich das Triggersignal dazu!

Ein solches Ereignis kann die Unterbrechung eines BOVPN-Tunnels sein. Die Benachrichtigungs-Option hierfür ist noch relativ neu. Sie kann nur global für alle BOVPN-Tunnel ein- bzw. ausgeschaltet werden: Policy Manager > VPN > VPN Settings > BOVPN Notification:

Sichere Fernwartung einer X Edge

Um eine entfernt stehende Firebox X Edge auch per HTTPS direkt über das Internet administrieren zu können, füge ich normalerweise bei Firewall > Incoming eine Custom Packet Filter Policy hinzu, die eingehenden HTTPS-Verkehr direkt auf das Webinterface der Firebox leitet (Static NAT). Damit nicht jeder beliebige Rechner aus dem Internet bis zur Anmeldeseite gelangt, lasse ich jedoch nur die bekannten festen IP-Adressen z.B. des Hauptstandorts des Kunden (und unsere eigenen) zu:

Hat die X Edge eine feste externe IP-Adresse, erfolgt der Zugriff über https://EXTERNE-IP. Bei einer dynamischen externen IP-Adresse nehme ich mir einen kostenfreien DYNDNS-Hostname zu Hilfe, der bei Network > Dynamic DNS eingetragen wird:

Befindet sich die X Edge in einer (VPN-)Außenstelle unseres Unternehmens, sorgt diese Einrichtung natürlich auch dafür, dass wir die X Edge über das Internet erreichen können, auch wenn der reguläre VPN-Tunnel dorthin gerade einmal nicht zur Verfügung steht 🙂 Wenn ich parallel dazu auch die SSL-VPN-Möglichkeit der X Edge nutzen möchte, um dort mobile User zu terminieren, lege ich den Port für Remote-HTTPS meist von 443 zum Beispiel auf 444 um: Administration > System Security:

X Edge: “VPN-Any” Problem nach Software Update

Kurzer Hinweis auf ein Problem bei der X Edge, das hoffentlich schon wieder der Vergangenheit angehört: mit Software-Version Edge 10.2.2 wurde eine neue (Default) Firewall-Regel namens VPN-Any ins Leben gerufen, die den Verkehr INNERHALB eines Branch Office VPN-Tunnels (BOVPN) zwischen dieser X Edge und einer VPN-Gegenstelle regelt (früher war dieser Traffic seitens der X Edge implizit immer zulässig…).
Es gibt Fälle, bei denen ein Software-Update auf einer X Edge mit einer älteren Software-Version (zum Beispiel 8.5.2) zu einem Fehler bei der automatischen Umschreibung der Konfigurationsdatei führt. Dann wird zwar das Software-Update durchgeführt (ohne Fehlermeldung!) – jedoch wird die Firewall-Regel “VPN-Any” nicht mit erzeugt. Das führt dazu, dass plötzlich kein Traffic mehr durch den VPN-Tunnel fließt… 🙁
So finden Sie heraus, ob Ihre X Edge nach einem Software-Update auf v10.x “gelitten” hat: Gehen Sie zu Firewall > Outgoing und prüfen Sie, ob im oberen Bereich die folgenden sieben (!) “Common Proxy Policies” angezeigt werden. Sehen Sie nur drei Proxy-Regeln (HTTP, FTP, Outgoing), haben Sie definitiv dieses Problem! Scrollen Sie weiter runter und prüfen Sie, ob bei den Common Packet Filter Policies die Regel VPN-Any (grün/Allow) angezeigt wird. Wenn nicht, haben Sie auch das hier beschriebene Problem…

Als Reparatur-Maßnahme schlägt WatchGuard vor, dass die X Edge Hardware auf Factory Default zurückgesetzt wird: Strom-Stecker ziehen, Reset-Knopf drücken, gedrückt halten, Strom-Stecker wieder einstecken, ca. 1 Minute warten, Knopf loslassen. Nach dem dann folgenden Setup Wizard (https://192.168.111.1) sollen die kundenspezifischen Einstellungen “from scratch” erneut vorgenommen werden… Der Weg über Administration > Backup Configuration und Restore Configuration behebt das Problem nach Aussage von WatchGuard-Support offenbar NICHT! Ich habe beim letzten Auftreten dieses Problems Papier-Ausdrucke der beschädigten Konfigurations-Dateien angefertigt und werde diese genauer analysieren, wenn ich Zeit dazu habe. Wenn ich einen einfacheren Weg zur Reparatur finde, werde ich hier berichten…
“Scratch” erzeugt man also zunächst am besten, indem man auf dem alten Stand auf Administration > View Configuration klickt, den Inhalt des Haupt-Frame per Cut&Paste in eine Textdatei wegspeichert und ausdruckt… Bis auf weiteres also viel Spaß beim Tippen…

WatchGuard 3G Extend Solution

Ab sofort ist das Produkt WatchGuard 3G Extend Solution bestellbar. Es handelt sich um eine Bridge, die vor einer WatchGuard Firebox Edge, Core oder Peak platziert wird. In diese Bridge wird eine PCMCIA- bzw. PC-Express-Karte eingeschoben, die die Verbindung zu einem Mobilfunknetz herstellt (z.B. UMTS, HSDPA/GPRS, EDGE). Somit können kleine Arbeitsgruppen, die an ständig wechselnden Orten arbeiten müssen (zum Beispiel in Baustellen-Containern) sicher an das Internet und über VPN an das Firmennetzwerk angebunden werden. Gleiches gilt auch für Fahrzeuge, bewegliche Maschinen (LKWs, Baumaschinen) oder fest installierte Automaten, die an Orten ohne eigenen Telefon- oder DSL-Anschluss aufgestellt sind.

Auch Failover- bzw. Backup-Szenarien lassen sich hiermit aufbauen: in Verbindung mit Edge Pro bzw. Fireware Pro kann so ein zweiter externer Anschluss bereitgestellt werden. Fällt die reguläre Internet-Leitung aus, weicht die Firebox auf die Mobilfunk-Anbindung aus. Zur Kostenbegrenzung sollte ein Tarif mit einer Daten-Flatrate gewählt werden, die derzeit schon für unter 40 Euro im Monat zu bekommen sind. Alternativ kann beim Mobilfunk-Anbieter eine Volumen-/Kostenbeschränkung beantragt werden, damit nicht im Extremfall unkontrolliert Kosten auflaufen. Der 3G Extender kostet unter 300 Euro (incl. MwSt.).


X Edge: Zeitgesteuerter Reboot

Ab der Softwareversion X Edge v10.1 gibt es die Möglichkeit, bei den Modellen X10e, X20e und X55e einen zeitgesteuerten Reboot zu hinterlegen – um so z.B. der 24-stündigen PPPoE Zwangstrennung bei T-DSL zu entgehen und stattdessen lieber zu einer festen Uhrzeit (z.B. jeden Morgen um 05:00 Uhr) die X Edge neu zu booten und dadurch eventuell vorhandene VPN-Tunnel kontrolliert neu aufbauen zu lassen. Dadurch kann besser verhindert werden, dass VPN-Tunnel und damit Verbindungen zu den Servern am anderen Ende des VPN-Tunnels während der normalen Arbeitszeit unterbrochen werden: Menüpunkt Administration (direkt auf “Administration” klicken!). Hierzu müssen natürlich auch NTP-Server konfiguriert sein, damit das Gerät “weiß”, wie spät es ist (in der GUI direkt darunter).