Schlagwort-Archive: FortiGate Appliance

Die FortiGate Next Generation Firewall nutzt spezielle Security-Prozessoren und Threat Intelligence Security Services von den FortiGuard.

FortiOS CVE-2018-13379 Advisory FG-IR-18-384

Allegedly, many admins did not update their FortiGate VPNs, so that attackers attack systems. The reason is the exploit code for the vulnerability (CVE-2018-13379) from 2019 that has now emerged.

Successful attacks on the SSL-VPN configured FortiOS should be made possible by sending prepared HTTP requests. Attackers could access system files and thus gain access to unencrypted access data, for example. They could then log into vulnerable VPN firewalls and compromise them.

FortiOS, which is used on FortiGate firewalls, has a total of six security holes in several versions of the Security Network operating system that affect the SSL-VPN web portal. Fortinet has published the FortiGuard Security Advisories with update notes.

FortiGuard PSIRT Advisory

Der original Textauszug:

FortiOS system file leak through SSL VPN via specially crafted HTTP resource requests

Summary

A path traversal vulnerability in the FortiOS SSL VPN web portal may allow an unauthenticated attacker to download FortiOS system files through specially crafted HTTP resource requests.
Impact

Information Disclosure
Affected Products
FortiOS 6.0 – 6.0.0 to 6.0.4
FortiOS 5.6 – 5.6.3 to 5.6.7
FortiOS 5.4 – 5.4.6 to 5.4.12
(other branches and versions than above are not impacted)
ONLY if the SSL VPN service (web-mode or tunnel-mode) is enabled.
Solutions

Upgrade to FortiOS 5.4.13, 5.6.8, 6.0.5 or 6.2.0 and above.

Workarounds:

As a temporary solution, the only workaround is to totally disable the SSL-VPN service (both web-mode and tunnel-mode) by applying the following CLI commands:

config vpn ssl settings
unset source-interface
end

Note that firewall policies tied to SSL VPN will need to be unset first for the above sequence to execute successfully.

As an example, when source-interface is „port1“ and SSL VPN interface is „ssl.root“, the following CLI commands would be needed to ensure „unset source-interface“ executes successfully:

config vpn ssl settings
config authentication-rule
purge (purge all authentication-rules)
end
end

config firewall policy
delete [policy-id] (SSL VPN policy ID(s) that srcintf is „ssl.root“ and dstintf is „port1“)
end

Note that code to exploit this vulnerability in order to obtain the credentials of logged in SSL VPN users was disclosed. In absence of upgrading to the versions listed above, mitigating the impact of this exploit can be done by enabling two-factor authentication for SSL VPN users. An attacker would then not be able to use stolen credentials to impersonate SSL VPN users.

FortiGate Sniffer Output in Wireshark

diag sniffer packet via Pipe an Wireshark

Fortinet beinhaltet bei ihren FortiGate Appliance den in FortiOS mit eingebauten Packet Sniffer, zur Analyse von Paketweiterleitungen. Bei umfangreichen Analysen mit der Anwendung von Filtern, zeigt sich die Auswertung in der Console als unkomfortabel.

In diesem Post wird gezeigt, wie unter Linux ein Sniffer Packet Output direkt via Pipe von Wireshark gelesen wird. Falls Wireshark noch nicht installiert sein sollte, wird das Paket für die entsprechende Distribution wie folgt bereitgestellt.

Damit Wireshark als non-root User ausführbar wird, ist bei Ubuntu folgender Befehl aus dem Terminal auszuführen.

dpkg-reconfigure wireshark-common

Bei der Auswahl die bei der Wireshark Reconfigartion erscheint, wird YES gewählt, bei i18n Einstellung deutsch ist es JA.

Die Red Hat Distributionen CentOS und Fedora erfordern die folgenden Befehle zur Ausführung, so auch bei Ubuntu.

FortiGate Sniffer Wireshark Analyse

Wireshark zum Analysier einer FortiGate machen, mit dem Output von diagnose sniffer packet, dazu den Script sdump.pl hier herunterladen und ausführbar machen.

Nun wird in einem Terminal eine SSH Verbindung zur Firewall aufgebaut, um den Output direkt via Pipe an Wireshark zu senden.

Es wird via SSH der Sniffer auf der FortiGate gestartet, sdump.pl liest Output von STDIN, erzeugt den hexdump 16 Bytes space-delimited, text2pcap formatiert den hexdump in das PCAP Format, um dann den Output in Wireshark einzulesen und zu analysieren.

 Erscheint beim Aufruf von Wireshark folgende Ausgabe:

couldn’t run /usr/bin/dumpcap in child process: Permission Denied.

Wurde bis hier noch nicht neu eingeloggt! Ferner ist wahrscheinlich noch folgende Zuweisung erforderlich.

 Filter werden zwischen Hochkommata eingebunden, wie folgende Beispiele zeigen.

Der Perl-Script sdump.pl kann im Terminal mit  Copy Paste der folgenden Zeilen angelegt werden, oder hier per Download bereitstellen.

Die Script Datei sdump.pl verschiebt man nun nach /usr/bin als sdump, und wird ausführbar gemacht.

Jetzt kann das CLI command diag sniffer packet über SSH Authentifizierung auf der FortiGate ausgeführt werden, um anschlissend via Pipe den Output in Wireshark zu analysieren.

  Bei Umgebungen mit erhöhter Netzwerk Traffic ist zu berücksichtigen, das eine Reduzierung durch Mitschnittfilter erreicht werden sollte.

Eine weitere Anwendung besteht darin, den PCAP Output in eine Dump Datei zu speichern, mit der Möglichkeit, die Analyse später mit Wireshark oder anderen Protocol Analyzer vornehmen zu können. Hierbei kommt folgende Zeile zur Anwendung.

 

FortiClient ssl-vpn Failed

Failed to establish the VPN connection. This may be caused by a mismatch in the TLS version. Please check the TLS version settings in the Advanced of the Internet options. (-5029)

Beim FortiClient kann der aufbau einer SSL-VPN Verbindung zur FortiGate folgende Warnung ausgeben.

Symptom

Ursache

Das mittlerweile veraltete kryptografische Protokoll TLS 1.0 ist ab FortiOS 6.0 per default nicht mehr aktiviert. Es wird empfohlen mindestens TLS 1.1 (Cipher Suites) für Authentifizierung und Datenverschlüsselung  zu verwenden. Wir sind derzeit bei TLS 1.3, das von der IETF (Internet Engineering Task Force) genehmigt wurde.

Lösung

Möchte man ältere Clients weiter verwenden, die man im verlauf einer Migration über Update Rollout erst später mit TLS 1.2 oder höher einsatzbereit hat, kann auf der FortiGate das TLS 1.0 aktiviert werden.

Überprüfen der aktuellen TLS Einstellung, aus der FortiGate Console mit CLI Command:

Im CLI die Cipher Suite TLS 1.0 aktivieren.


Auch kann beim Client die TLS Version aus dem Microsoft Windows Snapin (inetcpl) Internet Option angepasst werden.

Win + R und der Eingabe von inetcpl.cpl

Im Fenster Eigenschaften von Internet – Erweitert, die TLS Version 1.0, 1.1 und 1.2 aktivieren.

Weitere Problemlösungen

Bei älteren Windows Versionen, oder bei Router mit PPPoE Internet Anbindung, können Fehler beim aufbau von SSL-VPN Verbindungen wie folgt behoben werden.

Es erscheint im FortiClient die Fehlermeldung:

Unable to establish the VPN connection. The VPN server may be unreachable (-5)

Dazu überprüft man die MTU grösse der Netzwerkschnittstellen, mit folgendem Befehl aus einer geöffneten Eingabeaufforderung

Die Ausgabe kann in etwa wie folgt aussehen:

Die MTU Size überprüfen und ggf. auf 1400 anpassen. In einer als Administrator geöffneten Eingabeaufforderung, mit ausführen von netsh.

Alternativ dazu Regedit aufrufen und zu folgendem Schlüssel navigieren.

unter dem entsprechenden Interface mit der passenden IP Adresse, hier {222e135b-d09c-47a3-9236-63a041a02ea6} den Schlüssel MTU mit Wert 578 Hexadecimal ändern.

Nach einem Computer neustart kann die SSL-VPN Verbindung aufgebaut werden.