Checkpoints VPN-Implementierung war eine der ersten kommerziellen auf dem Markt. Nach proprietären Anfängen setzte die israelische Firma auch bald die IETF-Standards um. Wie bei den anderen gibt es hier auch zwei Modi der Konfiguration: den Community Mode (entspricht grob dem Routing-Modus, aber es sind keine Routen nötig) und den Traditional Mode, in dem sich für jede Firewall-Regel VPN-Definitionen setzen lassen.
Für den Test kam der Community Modus zum Einsatz, da er einfacher ist. Es mussten jedoch drei Communities angelegt werden, da der getestete Cisco-Router wie beschrieben nur 3DES beherrscht, und die erste Version der VPNs mit Windows 2008 ohne PFS in der Phase 2 liefen. Für alle anderen Teilnehmer wurde lediglich eine Community angelegt, zu der Kame/Racoon, Juniper SRX, Solaris und Fortigate als Teilnehmer hinzukamen. In der Definition der Community legt der Administrator zunächst die Algorithmen für Phase 1 und Phase 2 fest, wie in Abbildung 4 zu sehen ist.
Unter »shared secret
«
kann für jeden Partner das Shared Secret eingetragen werden. Die Definition ist in Abbildung 5 zu sehen. PFS und die Lebenszeiten der Schlüssel kann der Administrator unter dem Eintrag »Advanced VPN
«
eintragen. Abbildung 6 zeigt diesen Dialog.
Das Anlegen von VPN-Gateways anderer Hersteller erfolgt als »Interoperable Device
«
zum Beispiel im Dashboard der Community per Rechtsklick unterhalb von »New
«
, wie in Abbildung 7 gezeigt.
Beim Anlegen des Device ist es wichtig, unter »Topology
«
die Interfaces anzulegen und diesen die zugehörigen Netze zuzuordnen (die Interface-Namen müssen nicht unbedingt stimmen, aber die IP-Adressen schon). Wichtig ist dabei, dass das Interface, das nach "außen" zeigt, auch als External deklariert wird und das Interface zum LAN hinter der Firewall entsprechend deklariert ists. Sollte dort mehr als ein Netzsegment liegen, so muss der Administrator sie alle bei der Definition angeben. Da es sich um eine Firewall handelt, muss er nun noch eine Regel in das Firewall-Regelwerk einfügen, die den Verkehr zwischen den beiden Netzen erlaubt.
Die Fehlersuche wird von Checkpoint am besten unterstützt. Im Fall von Konfigurationsfehlern (eine Seite AES, eine 3DES) muss man nicht erst den Debugging-Modus aktivieren. Ein Blick in das Logfile genügt und man bekommt eine verständliche Meldung präsentiert. Für fortgeschrittene Probleme bietet Checkpoint allerdings noch weitere Werkzeuge, um eine Tiefenanalyse vorzunehmen.
Eine Fortigate Firewall kann der Administrator über eine Weboberfläche oder über die Kommandozeile konfigurieren. Wie bei Juniper lässt sich ein VPN im Policy-Modus oder im Route-Modus einrichten. Im Testaufbau wurde bei Fortigate ein Policy VPN gewählt, in dem Regeln und VPN-Definitionen ineinandergreifen. Das Anlegen eines VPN über die Weboberfläche ließ sich mit nur wenigen Klicks umsetzen, sie überzeugte durch ein schlankes Design, das gleichzeitig ein ergonomisches Arbeiten ermöglicht.
Die Konfiguration unterteilt sich in drei Arbeitsschritte:
Abbildung 8 zeigt die Definition von Phase 1 der IKE-Verbindung. Die einzelnen Parameter der Verschlüsselung lassen sich erst nach einem Klick auf den »Advanced
«
-Button einstellen. Die daraus resultierende Konfiguration im Textformat zeigt Listing 11.
Listing 11
Fortigate, Phase 1
[UCC:x22-li-zeilennummer-2]01 version 6.0 [UCC:x22-li-zeilennummer-2]02 :map !L iuse Log::Log4perl qw(:easy);<RETURN> Log::Log4perl->easy_init($DEBUG);<RETURN><ESC> [UCC:x22-li-zeilennummer-2]03 :map F o<ESC>43i#<ESC>yyosub {<ENTER><ESC>Pk$i [UCC:x22-li-zeilennummer-2]04 map f !Gperl -MText::Autoformat -e'autoformat{right=>70}'^V^M [UCC:x22-li-zeilennummer-2]05 set backspace=2 [UCC:x22-li-zeilennummer-2]06 set fileencodings=utf-8,latin1 [UCC:x22-li-zeilennummer-2]07 set formatoptions=tcql [UCC:x22-li-zeilennummer-2]08 set helplang=en [UCC:x22-li-zeilennummer-2]09 set history=50 [UCC:x22-li-zeilennummer-2]10 set hlsearch [UCC:x22-li-zeilennummer-2]11 set ruler [UCC:x22-li-zeilennummer-2]12 set shiftwidth=4
Nun folgt die Definition der Phase 2, die einer Phase-1-Definition zugeordnet sein muss (Abbildung 9).
Wie bei Phase 1 gelangt man an die interessanten Parameter durch den Klick auf den »Advanced
«
-Button. Der erste Versuch einer VPN-Definition scheiterte daran, dass in diesem Dialog die Netze fehlten, zwischen denen das VPN entstehen sollte. Den dazugehörigen Abschnitt aus der Konfiguration zeigt Listing 12.
Listing 12
Fortinet, Phase 2
Schließlich fehlt noch die Firewallregel und das VPN steht bereit (Abbildung 10). »fgnet
«
enthält die Definition des Netzes hinter dem Fortigate-Gerät (192.168.81.0/24), »srxnet
«
die Definition des Netzes hinter der Juniper-Firewall (172.16.0.0/16). Als Aktion wählt man IPSEC, woraufhin im Dialog die Auswahl der existierenden VPN-Definitionen erscheinen, die zum Interface gehören (Fortigate bindet Regeln an Zonen, die ihrerseits wieder an Interfaces gebunden sind). Die zugehörige Regel im Textformat ist in Listing 13 zu sehen.
Listing 13
Fortinet, Interface-Konfiguration
Die Keepalives, die in der ersten Phase definiert werden dürfen, erschwerten das Debugging, da sie als Nachrichten in recht kurzen Intervallen dazwischenfunken. Im praktischen Einsatz kann es hilfreich sein, sie anzuschalten, da dann ein Alarm ausgelöst werden kann, wenn das VPN abbricht. Die Anweisungen zum Debuggen erschlossen sich dem Autor nicht intuitiv und erst eine Nachfrage bei Fortinet half ihm weiter:
# diag debug enable # diag debug application ike -1
Damit erhält der Admin bei der Fehlersuche einen ähnlichen Output wie bei Racoon oder Cisco, der die einzelnen Verhandlungsschritte zeigt. Da jedoch alle Verbindungen nach dem ersten Problem auf Anhieb klappten, ergab sich auch keine Notwendigkeit weiterer Fehlersuche.
Als praktische Eigenschaft sei noch erwähnt, dass sich die VPN-Verbindung nicht nur durch das Schicken von Verkehr aktivieren lässt, sondern auch im Monitor-Bereich des GUI durch einen Klick aktiviert oder deaktiviert werden kann.