In den Release Notes der neuesten AVM FRITZ!Box Version FRITZ!OS 06.20 stand unter anderem: “VPN-Verbindungen unterstützen jetzt zusätzliche Diffie-Hellman-Gruppen 5, 14 und 15″. Coole Sache, ist doch die Sicherheit bei der Perfect Forward Secrecy mit DH-14 deutlich höher und der heutigen Zeit angemessen. Also habe ich das bei einem meiner VPNs direkt mal eingerichtet und entsprechend getestet. Leider hat sich aber mit der neuen Version die Kompatibilität zu diversen Firewalls/VPN-Gateways deutlich verschlechtert. Es ist also nicht nur Gewinn, die Version 06.20 am laufen zu haben.
Auf das neue AVM FRITZ!Box Update bin ich erst durch die Diskussion in meinem Blogpost über das VPN von der FRITZ!Box zur Juniper SSG gekommen. Dort haben sich einige Leser über Probleme mit der VPN-Verbindung seit dem Update auf FRITZ!OS 06.20 beklagt.
Probleme
(Alle folgenden Aussagen beziehen sich auf VPNs zwischen der FRITZ!Box und anderen Firewalls. Verbindungen zwischen zwei FRITZ!Boxen dürften super funktionieren.)
Auch ich habe folgende Probleme beim Experimentieren festgestellt:
- Das manuelle Anlegen eines Site-to-Site VPNs über die GUI (ebenfalls neues Feature seit 06.20) hat mangels notwendiger Optionen nicht geklappt.
- Das Importieren einer vpncfg Datei funktionierte nicht immer. Manchmal wurde nur ein Fehler angezeigt. Ich konnte es aber nicht richtig reproduzieren.
- Die FRITZ!Box ändert die Optionen für Phase 1 und Phase 2 in ihrer Konfiguration ab. Beispiel: Ich hatte
phase2ss = "esp-3des-sha/ah-no/comp-no/pfs";
in der importierten vpncfg Datei stehen, aber die FRITZ!Box (“Sicherung” einfach im Notepad++ öffnen und nach “vpncfg” suchen) hat folgendes hinterlegt:phase2ss = "esp-all-all/ah-none/comp-all/pfs";
. - Obwohl das VPN funktioniert, tauchen teilweise folgende Fehlermeldungen in der FRITZ!Box auf:
VPN-Fehler: fd-wv-fw01, IKE-Error 0x2027
. Ich kann nicht genau sagen, warum. In Summe sieht das denn in etwa so aus:
- Das größte Problem jedoch scheint zu sein, dass die FRITZ!Box keine Verbindungen zu den gängigen VPN-Firewalls mehr herstellen kann. Ich habe es ebenfalls nicht hingekommen, dass die FRITZ!Box ein VPN initiiert. Dies könnte etwas mit der Kompression der Phase 2 zu tun haben, die man nicht mehr explizit deaktivieren kann, da es im Proposal (wie oben bereits erwähnt) immer zu “comp-all” geändert wird. Wenn das VPN allerdings von einer Firewall zur FRITZ!Box aufgebaut wird, dann klappt es weiterhin ohne Probleme. Das Problem ist viel mehr, dass das kaum eine Firewall unterstützt. Schließlich müsste sie dazu ein statisches VPN (Main Mode) zu einer dynamischen IP-Adresse (Dyn DNS) aufbauen. Die Juniper SSG kann es, die Cisco ASA oder Palo Alto aber nicht.
Immerhin: DH-14 funktioniert
Nunja, bei meinem Test zwischen der Juniper ScreenOS Firewall (SSG 5 mit 6.3.0r17) und der FRITZ!Box 7390 mit FRITZ!OS 06.20 hat es ohne Probleme geklappt, da die Juniper zu einem dynamischen DNS Namen ein VPN im Main Mode aufbauen kann (siehe hier).
Folgende Proposals für Phase 1 (IKE) und Phase 2 (IPsec mit PFS) haben bei meinem VPN mit DH-14, AES-256 und SHA-1 zum Ziel geführt:
phase1ss = "dh14/aes/sha";
phase2ss = "esp-all-all/ah-none/comp-all/pfs";
(Vorher konnte die FRITZ!Box bei Phase 2 nur 3DES. Jetzt klappt dort auch AES-256. Das ist also ein weiterer Sicherheitsgewinn.) Alle anderen Einstellungen bleiben wie gewohnt.
Natürlich müssen die Proposals auf der Firewall ebenfalls angepasst werden. Steht das VPN erst mal, haben bei mir folgende CLI Befehle auf der Juniper offenbart, dass wirklich Diffie-Hellman Gruppe 14 für Phase 1 und Phase 2 (PFS) verwendet wurden:
Phase 1:
fd-wv-fw01-> get ike cookies IKEv1 SA -- Active: 9, Dead: 0, Total 9 80182f/0003, 77.0.182.119:500->172.16.0.2:500, PRESHR/grp14/AES256/SHA, xchg(2) (fdorf-foobar.webernetz.net/grp-1/usr-1) resent-tmr 322 lifetime 28800 lt-recv 3600 nxt_rekey 27749 cert-expire 0 responder, err cnt 0, send dir 1, cond 0x0 nat-traversal map not available ike heartbeat : disabled ike heartbeat last rcv time: 0 ike heartbeat last snd time: 0 XAUTH status: 0 DPD seq local 0, peer 0
Phase 2:
fd-wv-fw01-> get sa id 6 index 4, name fdorf-foobar.webernetz.net, peer gateway ip 77.0.182.119. vsys auto key. tunnel if binding node, tunnel mode, policy id in:<-1> out:<-1> vpngrp:<-1>. sa_list_nxt:<-1>. tunnel id 6, peer id 4, NSRP Local. site-to-site. Local interface is ethernet0/0 <172.16.0.2>. esp, group 14, a256 encryption, sha1 authentication autokey, IN active, OUT active monitor<1>, latency: 37, availability: 100 DF bit: clear app_sa_flags: 0x24001a7 proxy id: local 192.168.96.0/255.255.224.0, remote 192.168.29.0/255.255.255.0, proto 0, port 0/0 ike activity timestamp: 2057872643 DSCP-mark : enabled, value : 0 nat-traversal map not available incoming: SPI bfc5493a, flag 00004000, tunnel info 40000006, pipeline life 3600 sec, 2755 remain, 0 kb, 0 bytes remain anti-replay on, last 0x95, window 0xffffffff, idle timeout value <0>, idled 7 seconds next pak sequence number: 0x0 bytes/paks:204451860/1715993; sw bytes/paks:204451816/1715992 outgoing: SPI dc4a29c6, flag 00000000, tunnel info 40000006, pipeline life 3600 sec, 2755 remain, 0 kb, 0 bytes remain anti-replay on, last 0x0, window 0x0, idle timeout value <0>, idled 7 seconds next pak sequence number: 0xa7 bytes/paks:159531891/1916381; sw bytes/paks:159531891/1916381
Phase 1 Lifetime 3600
In diesem Zuge habe ich noch festgestellt, dass die FRITZ!Box auch für Phase 1 eine Lifetime von 3600 s vorgibt. Ich kenne standardmäßig eigentlich eine Lifetime von 8 h für Phase 1 und dann 1 h für Phase 2. Aber gut, sei’s drum. Diese Einstellung habe ich Firewallseitig bei mir jetzt noch korrigiert, so dass es jetzt so aussieht:
fd-wv-fw01-> get ike cookies IKEv1 SA -- Active: 9, Dead: 0, Total 9 80182f/0003, 95.116.51.255:500->172.16.0.2:500, PRESHR/grp14/AES256/SHA, xchg(2) (fdorf-foobar.webernetz.net/grp-1/usr-1) resent-tmr 322 lifetime 3600 lt-recv 3600 nxt_rekey 3429 cert-expire 0 responder, err cnt 0, send dir 1, cond 0x0 nat-traversal map not available ike heartbeat : disabled ike heartbeat last rcv time: 0 ike heartbeat last snd time: 0 XAUTH status: 0 DPD seq local 0, peer 0
Soll ich mich jetzt freuen?
So ganz weiß ich ja noch nicht, ob das Update auf 06.20 jetzt gut ist oder nicht. Das Mehr an Sicherheit durch Diffie-Hellman Gruppe 14 ist zwar super, bringt aber nichts, wenn gefühlte 90 % der VPNs nicht mehr funktionieren dürften. Immerhin baut der Otto-Normalverbraucher sein VPN ja von der FRITZ!Box zur Firewall in der Firma auf. Hm. Mal schauen, ob AVM da etwas tut.
[Update] AVM hat geantwortet
@webernetz in den aktuellen Labor-/Beta-Versionen für 7390 und 7490 wurden wieder Phase2-Strategien aufgenommen ohne Kompressionsproposal.
— FRITZ!Box (@AVM_DE) November 26, 2014
Sehr cool. Dann warten wir mal auf das nächste finale Update…