HOWTO: “Friendly Network Detection” für den WatchGuard IPSec Mobile VPN Client (NCP FND-Server)

Alle Tags (Endpoint Firewall FND-Server Friendly Network Detection IKEv1 IKEv2 IPsec Mobile VPN NCP Road Warrior Roadwarrior VPN-Enforcement WatchGuard IPsec Mobile VPN Client)

In den verlinkten Blog-Artikeln wurden bereits einige Vorteile, Funktionen und Empfehlungen zum „WatchGuard IPSec Mobile VPN Client“ (by NCP) veröffentlicht:

Ein großer Vorteil des Premium-Clients ist die integrierte Endpoint-Firewall, welche z.B. nur in Trusted Networks eine Netzwerk Kommunikation erlaubt und ansonsten eine VPN-Verbindung erzwingt. Die manuelle Erfassung vertrauenswürdiger Netze ist in komplexen Umgebungen sehr zeitaufwändig, fehleranfällig und leider auch nicht allzu sicher. Abhilfe schafft der „NCP Friendly Net Detection Server“ (https://www.ncp-e.com/fileadmin/_NCP/pdf/library/whitepaper/NCP_Whitepaper_FND_de.pdf).

Im weiteren Verlauf möchte ich die Inbetriebnahme des FND-Servers veranschaulichen.

1. Testaufbau

  • Windows 11 Client mit einem bereits funktionierenden NCP IKEv2 Profil (siehe Blogartikel)
  • Windows Server 2019 als Basis für den FND-Server (statische IPv4 Adresse erforderlich)
  • NCP FND Version 4.00 29170
  • OpenSSL (Win64 OpenSSL v3.5.2 Light)

2. Installation

  • Laden Sie den FND-Server Installer von der NCP-Website herunter: https://www.ncp-e.com/de/service/download-vpn-client:
  • Nach dem Entpacken des Downloads finden Sie neben dem Installer auch die Dokumentationen, welche viele nützliche Details enthalten:
  • Starten Sie das Setup NCP-FND-Server_Windows_x86_400_29170.exe und führen Sie den Wizard aus (hier sind noch keine relevanten Settings vorzunehmen).
  • Nach Abschluss des Setups sollte sich ein Dienst installiert haben und bereits gestartet sein:

3. Konfiguration

  • Die Konfiguration des FND-Servers erfolgt durch die Editierung einer Konfig-Datei. Das File liegt im gewählten Installationsverzeichnis (im Default unter C:\Program Files (x86)\NCP\FndServer\ncpfnd.conf)
  • Eine Raute dient als Kommentar. Bei Änderungen der Konfiguration muss der Dienst „ncpfnd“ neugestartet werden
  • Für ein besseres Debugging schreibt der FND-Server Logdateien. Die Logs finden Sie im Installationsverzeichnis im Unterordner „log“ (im Default: C:\Program Files (x86)\NCP\FndServer\log)
  • Für das Debugging am Client kann das Logbuch der VPN-Software verwendet werden:
  • NCP empfiehlt die Verwendung von Zertifikaten bei der Validierung eines vertrauenswürdigen Netzes. Wer für IKEv2 auf der Firewall ein eigenes Zertifikat verwendet, sollte auch dieses nutzen können. In meinem Beispiel erstelle ich ein eigenständiges Zertifikat mit OpenSSL (Open Source, schlank, hohe Verfügbarkeit). Sie können selbstverständlich auch Ihre Windows Enterprise Root CA, XCA,… verwenden.
    • Verwendete Version von OpenSSL: Win64 OpenSSL v3.5.2 Light“ -> https://slproweb.com/products/Win32OpenSSL.html.
    • Erstellen Sie eine Umgebungsvariable für Ihre OpenSSL-Installation (im Default: C:\Program Files\OpenSSL-Win64\bin):
    • Zuerst erzeugen wir uns via Eingabeaufforderung ein Zielverzeichnis. Zur Veranschaulichung wähle ich c:\certs. Wir wechseln direkt in das gewählte Verzeichnis
      mkdir c:\certs
      cd /d c:\certs
    • Nun erstellen wir einen Private-Key für die CA (der Private-Key ist unverschlüsselt und sollte sicher verwahrt werden!):
      openssl genrsa -out ca_fnd_prv_key.key 4096
    • Als nächstes erstellen wir das CA-Zertifikat (in meinem Bsp. mit 10 Jahre Gültigkeit):
      openssl req -x509 -new -nodes -extensions v3_ca -key ca_fnd_prv_key.key -days 10240 -out ca_fnd_cert.crt

      Es werden in der Kommandozeile weitere Parameter abgefragt, welche je nach Belieben ausgefüllt werden können:

    • Exportieren Sie das Zertifikat zusätzlich als PFX-File und merken Sie sich das von Ihnen gewählte Passwort für den PFX-Container:
      openssl pkcs12 -export -out ca_fnd_cert.pfx -inkey ca_fnd_prv_key.key -in ca_fnd_cert.crt
    • Außerdem benötigen wir noch den MD5 Hash des Zertifikats.
      openssl x509 -noout -fingerprint -md5 -inform pem -in ca_fnd_cert.crt

      In unserem Beispiel:

  • Konfiguration des FND Servers:
    • Kopieren Sie das Zertifikat als PFX-Container („ca_fnd_cert.pfx“) auf den FND-Server in das Verzeichnis C:\Program Files (x86)\NCP\FndServer:
    • Editieren Sie das Konfigurationsfile (Default: “C:\Program Files (x86)\NCP\FndServer\ncpfnd.conf”) des FND-Server wie folgt:
    • Starten Sie den Dienst „ncpfnd“ neu. Sollte der Dienst nicht starten, finden Sie in den Logs eine Fehlmeldung (C:\Program Files (x86)\NCP\FndServer\log)
  • Konfiguration am Client
    • Kopieren Sie das Zertifikat („ca_fnd_cert.crt“ -> nicht das PFX) in das cacerts Verzeichnis auf dem Client:
      Verzeichnis im Default -> C:\ProgramData\WatchGuard\Mobile VPN\cacerts
      (bei einer Silent-Installation kann das Zertifikat wie hier beschrieben automatisch mitgegeben werden)
    • Konfigurieren Sie den VPN-Client:
    • Test am Client -> Ein Mouseover über dem Tray-Icon zeigt, ob das Netz bekannt ist:

      Weitere Details können dem Logbuch entnommen werden:

4. Fazit

Der FND-Server in Verbindung mit Zertifikaten ist zwar etwas aufwendig zu konfigurieren, allerdings sollte sich der Umfang mit diesem Artikel in Grenzen halten. Ich empfehle eine entsprechend lange Laufzeit der Zertifikate, damit der Wartungsaufwand gering ist.

Im produktiven Einsatz erspart der FND-Server die manuelle Pflege von Trusted Networks, was die Client-Konfiguration schlank und relativ statisch hält. Ein weiterer Vorteil ist, dass die Erkennung via Zertifikate sehr sicher ist (besonders gegenüber manuell gepflegten Einträgen). Der FND-Server kann via S2S-VPN ebenfalls für Außenstellen genutzt werden. Im produktiven Einsatz empfehle ich zwei FND-Server zu konfigurieren, damit ein automatischer Failover möglich ist.

Weiterführende Links:

Hinterlassen Sie einen Kommentar

Ihre E-Mail-Adressse wird nicht veröffentlicht. Markierte Felder sind Pflichtfelder *