Beinahe enzyklopädisch behandelt unser Schwerpunkt-Artikel über IPSEC verschlüsselte Verbindungen zwischen Linux, Windows, BSD, Solaris, Cisco- sowie ... (mehr)

Checkpoint Firewall-1

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.

Abbildung 4: Definition der Algorithmen bei Checkpoint.

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.

Abbildung 5: Eintragen der Shared Secrets.
Abbildung 6: PFS und Lifetimes.

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.

Abbildung 7: Anlegen eines Interoperable Device.

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.

Fortigate

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:

  • Die Konfiguration der Phase-1-Definition.
  • Das Anlegen der Phase-2-Definition.
  • Die Einrichtung einer Firewall-Regel, die den Verkehr im VPN erlaubt.

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
Abbildung 8: Definition der Phase 1 bei Fortigate.

Nun folgt die Definition der Phase 2, die einer Phase-1-Definition zugeordnet sein muss (Abbildung 9).

Abbildung 9: Definition der Phase 2 bei Fortigate.

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

 

Abbildung 10: Definition der Regel bei Fortigate.

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.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019