OpenFortiGUI für Linux

Es gibt natürlich von Fortinet den FortiSSLclient für Linux. Da wir mit diesem Programm aber sehr unzufrieden waren (bei Abschalten des Rechners ohne Forticlient zu schließen wird die ganze Config gelöscht, usw. ) und ich das Projekt OpenFortiVPN schon eine weile verfolgte bietete es sich an dort doch eine GUI darüber zu stulpen. Vielen Dank an dieser Stelle an Rene Hadler.

Features:

  • Qt5 GUI, based on 5.5
  • openfortivpn library built-in, also kein extra Download nötig
  • Alle Einstellungen sind in Textdateien gespeichert, also leicht zu handhaben, Passwörter sind AES-encrypted gespeichert (Schlüssel kann nach Bedarf definiert werden)
  • VPNs sind in lokale und globale Abschnitte aufgeteilt (readonly, nützlich für Rollouts und viele Benutzer)
  • VPN-Gruppen können so fest gelegt werden, damit man mehr als eine VPN zur gleichen Zeit starten kann
  • Trayicon für den schnellen Zugriff
  • Multiple VPN's können simultan betrieben werden
  • Zertifikate und Benutzer/Passwort authentifizierung
  • Deutsche und Englische Sprache verfügbar

Diese ist in Ubuntu 16.04 sehr simpel und kann über unsere Paketquelle erfolgen:

apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2FAB19E7CCB7F415
echo "deb http://styrion.at/apt/ ./" > /etc/apt/sources.list.d/styrion.list
apt update
apt install openfortigui

Oder auch direkt vom GIT.

  1. Install DEV-tools (on Ubuntu: build-essential, qt5-default, libssl-dev)
  2. cd openfortigui && git submodule init && git submodule update
  3. cd qtinyaes && git submodule init && git submodule update
  4. cd .. && qmake && make -jXX
  5. openfortigui binary is ready

Die Konfiguration kann sehr einfach über die GUI erfolgen. Das Programm ist aber auch dafür konzepiert das es komplette Configs übernehmen kann, z.B. von Foreman/Puppet über die Globalconfig. Die Benutzerconfig befindet sich unter ~/.openfortigui. Die globalen Profile kann man unter „Einstellungen“ natürlich selbst definieren.

Liegt das Clientzertifikat im PFX Format vor, müssen das Zertifikat und der Key extrahiert werden.

openssl pkcs12 -in [yourfilename.pfx] -nocerts -out [keyfilename-encrypted.key]
openssl pkcs12 -in [yourfilename.pfx] -clcerts -nokeys -out [certificatename.crt]
openssl rsa -in [keyfilename-encrypted.key] -out [keyfilename-decrypted.key]