|
|
FortiManager Issue
Problembeschreibung:
Eine fehlende Authentifizierung für eine kritische Funktion [CWE-306] im FortiManager fgfmd Daemon kann es einem entfernten,
nicht authentifizierten Angreifer mit einem gültigen Fortinet-Zertifikat,
das von einem Fortinet-Gerät oder einer VM extrahiert wurde, ermöglichen, beliebigen Code oder Befehle über speziell gestaltete Anfragen
auszuführen.
Auswirkung: Unautorisierte Ausführung von Code oder Befehlen
Details: Ein entfernter, nicht authentifizierter Angreifer kann Berechtigungen umgehen und unautorisierte Befehle ausführen, was den Download von FortiManager-Konfigurationen ermöglichen kann, einschliesslich derjenigen der verwalteten FortiGate-Geräte.
FG-IR: FG-IR-24-423
Bedrohungslevel:
- Severity High
- Die Bedrohung wird mit einem CVssv3 Score von 9.8 eingestuft!
Betroffene Systeme:
- FortiManager Versionen 7.6.0 und älter
- FortiManager Versionen 7.4.4 und älter
- FortiManager Versionen 7.2.7 und älter
- FortiManager Versionen 7.0.12 und älter
- FortiManager Versionen 6.4.14 und älter
Lösung:
Auf folgende Versionen kann upgedatet werden, damit diese Sicherheitslücke geschlossen wird:
- Upgraden auf die FortiManager Version 7.6.1 oder höher
- Upgraden auf die FortiManager Version 7.4.5 oder höher
- Upgraden auf die FortiManager Version 7.2.8 oder höher
- Upgraden auf die FortiManager Version 7.0.13 oder höher
- Upgraden auf die FortiManager Version 6.4.15 oder höher
Diese Versionen werden in den kommenden Tagen veröffentlicht.
Workarounds:
Auf dem FortiManager der Versionen <=7.0.12, <=7.2.5 oder <=7.4.3 (ausser 7.6.0) kann mit folgender Konfiguration verhindert werden, dass unbekannte Geräte sich versuchen zu registrieren:
Für FortiManager-Versionen 7.0.12 oder höher, 7.2.5 oder höher, 7.4.3 oder höher (ausser 7.6.0),
Konfiguration über die CLI:
|
config system global
set fgfm-deny-unknown enable
end
|
|
Wenn du diese Einstellung aktivierst, verhindert FortiManager, dass sich ein FortiGate-Gerät registriert, falls dessen Seriennummer nicht in der Geräteliste hinterlegt ist, selbst wenn das Modellgerät und der vorab geteilte Schlüssel (PSK) übereinstimmen.
|
Für alle FortiManager-Versionen kannst du Abhilfemaßnahmen ergreifen, indem du lokale Firewallregeln (Local-In-Regeln) erstellst, um die IP-Adressen der FortiGate-Geräte, die eine Verbindung herstellen dürfen, auf eine Whitelist zu setzen. Alternativ kann dies auch über eine externe Firewall erfolgen.
Um eine lokale Firewallregel auf dem FortiManager zu konfigurieren, die Verbindungen von einem bekannten Subnetz, z. B. 198.18.250.0/24 (Verwaltungsnetzwerk),
sowie der spezifischen IP-Adresse 10.109.16.99 (FortiGate-Gerät) zulässt, verwende folgende Regeln:
Konfiguration über die CLI:
|
config system local-in-policy
edit 1
set action accept
set src 198.18.250.0/24
set dport 443
next
edit 2
set action accept
set src 198.18.250.0/24
set dport 22
next
edit 3
set action accept
set src 10.109.16.99/32
set dport 541 <--- Erlaube nur TCP/541 von bekannten FortiGate-IP-Adressen.
next
edit 4
next
end
|
Es ist wichtig zu beachten, dass die Regel 4 im Beispiel alle Einstellungen auf "Standard" hat.
|
|
Dadurch wird sie zu einer expliziten Drop-Regel, die den Zugriff von allen anderen IP-Adressen verweigert.
Weitere Informationen findet man unter folgenden externen Artikeln:
PSIRT - FortiGuard:
Informationen CVE-
add 14.10.2024 - 4Tinu
|
-->
Checkpoint FAQ
VPN
Wie kann ich den Port für das SSL-VPN ändern?
Default mässig ist für das SSL VPN der Port TCP 443 von der Checkpoint vor konfiguriert. Wenn man nur eine Public IP Adresse hat und ein eingehendes NAT auf einen HTTPS Dienst konfigurieren will, kommt man natürlich vor ein Problem, da wir den TCP Port 443 bereits für das SSL-VPN benutzen. Wir können dieses Problem folgendermassen lösen. Wir müssen in den SSL- VPN Settings den Listen Port auf einen anderen Wert setzen:
- Dafür müssen wir im Menu DEVICE --> Advanced --> Advanced Settings navigieren.
- Nun kann man im Suchfeld mit ssl vpn den richtigen Parameter finden : VPN Remote Access - Remote Access port Dieses Attribut kann mit doppelklick editiert werden:
- Den Remote Access Port auf einen nicht benutzen Port ändern (default Wert 443)
- Wenn man den TCP443 Port für ein Einkommendes NAT (Destinations NAT) verwenden muss, ist diese Option zwingend einzuschalten.
Jetzt kann in der Übersicht die Konfigurationsänderung angeschaut werden:
Wir sehen, der Port ist nun für 10443 konfiguriert, und das VPN wird über diesen Port verbinden.
Dafür müssen wir aber noch den VPN Client entsprechend anpassen:
Wie kann ich auf einer Check Point ein Remote Client VPN einrichten?
- Menu VPN anwählen
- unter Remote Access Blade Control anwählen
- Remote Access muss eingeschalten sein, ansonsten wird der Remote VPN Zugriff nicht funktionieren
- im User Menu können die User definiert werden, welche über das Remote VPN Zugreifen dürfen. Dafür einfach auf den blauen user link klicken
- Damit wir im Log sehen was passiert, empfehlen wir das Log komplett einzuschalten
- im VPN Remote Access users can connct via: kann die VPN Methode ausgewählt werden, wie man auf die Check Point ein Remote VPN aufbauen kann. für das Klassische client VPN den Punkt Check Point VPN clients anwählen.
Wie konfiguriere ich ein VPN zwischen einer Check Point und einer FortiGate Firewall?
Ausgangslage:
|
Seite FortiGate
|
Seite Checkpoint
|
Netzplan
|
|
Hardware
|
FortiGate 60F
|
Checkpoint 1550
|
Software
|
6.4.2 build1723
|
R80.20.05 (992001134)
|
Lokal Netzwerk
|
10.10.161.0/24
|
10.10.151/24
|
Public IP
|
198.18.0.161
|
198.18.0.151
|
Authentication
|
Pre-shared Key definieren
|
IKE Version
|
Version 2
|
Phase 1 Proposal
|
Alogrithms: AES256-SHA256 DH-Group 15
|
Phase 1 Key Lifetime
|
86400 Sekunden
|
Phase 2 Proposal
|
Alogrithms: AES256-SHA512 / PFS-DH-Group 15
|
Phase 2 Key Lifetime
|
3600 Sekunden
|
Konfiguration Checkpoint 1550
Konfiguration über das WebGUI:
|
Konfigurieren des VPN-Tunnels:
Um auf der Checkpoint einen VPN-Tunnel zu konfigurieren kann auf folgendes Menü angewählt werden:
VPN -> VPN Sites ->
Netzwerk-Parameter:
- Auf das TAB Remote Site gehen
- Site name: Hier wird der Name des VPN-Tunnels definiert
- Bei Conection type auf Host Name or IP address setzen
- IP address anwählen und im Feld die public IP-Adresse der FortiGate eingeben (198.18.0.153)
- Behind static NAT ist die NAT Traversal-Einstellung
Authentication konfigurieren:
- Pre-shared secret anwählen (entspricht der Option Pre-shared KEY auf der Fortigate)
- im Feld Password den selben Key eingeben, welcher bereits auf der FortiGate definiert wurde
- mittels confirm den Key nochmals eingeben
Remote Site Encryption Domain konfigurieren
Die Remote Site Encryption Domain entspricht dem lokalen Netz auf der FortiGate bei den Selektoren.
Zuerst muss das Netz oder der Host definiert werden. Dafür auf den klicken.
Es öffnet sich folgendes Fenster:
- den Type auf Network stellen
- Network address Die Netzadresse angeben (ohne Subnetzmaske), was in unserem Fall das Netzwerk auf der FortiGate 10.10.161.0 ist
- Subnetmask Die Subnetzmaske des Netzes angeben: 255.255.255.0
- Object name Hier wird der Name definiert, wie das Objekt dann angewählt werden kann
- mit
das Objekt erstellen
Mit kann das Adress-Objekt zu der Encryption Domain hinzugefügt werden.
Encryption für Phase 1 und Phase 2 konfigurieren:
- das TAB Encryption anwählen
- Encryption settings auf custom stellen
- IKE (Phase 1)
- Encryption auf AES-256 konfigurieren, alle anderen Parameter deaktivieren
- Authentication auf SHA256 konfigurieren - alle anderen Parameter ebenfalls deaktivieren
- Diffie-Hellmann group support setzen wir auf Group 14 (2048 bit)
- Renegotiate every: wird auf 1440 Minuten gesetzt (auf der FortiGate ist 86400 Sekunden eingestellt, was 1440 Minuten entspricht)
- IPSec (Phase2)
- Encryption auf AES-256 konfigurieren, alle anderen Parameter deaktivieren
- Authentication auf SHA256 konfigurieren, alle anderen Parameter ebenfalls deaktivieren
- Enable Perfect Forward Secrecy (PFS) aktivieren
- Diffie-Hellmann group support setzen wir auf Group 14 (2048 bit)
- Renegotiate every: wird auf 3600 Sekunden gesetzt (auf der FortiGate haben wir diesen Parameter auf 3600s konfiguriert)
Advanced Optionen konfigurieren:
- TAB Advanced anwählen
- Bei den Settings die Option Remote Gateway is a Check Point Security Gateway deaktivieren
- unter Encryption method den Parameter auf IKEv2 stellen.
|
Konfigurieren eines Netzwerk Objektes:
- User & Objects anwählen
- Network Objects auswählen
Im Editor-Fenster folgendes konfigurieren:
- Type auf Network einstellen
- Network address: Die Netzwerk-Adresse ohne Netzmaske eintragen
- Subnet mask: Die Subnetzmaske des Netzes eintragen
- Object name: Name des Adress-Objektes eintragen
- mit dem Button
wird das Objekt erstellt
Konfigurieren der Policy:
Nun gilt es noch die Firewall Regeln zu konfigurieren:
- Menu Access Policy anwählen
- Policy auswählen
- unter dem Menu Incoming, Internal and VPN traffic mit
wird eine neue VPN-Regel erstellt
- Source und Destination, wie auch die Services anwählen.
- Das Feld Match only for encrypted traffic auswählen, so wird sichergestellt, dass diese Regel für den verschlüsselten Traffic gilt.
- mit
wird die Regel erstellt und aktiv
- das Selbe in grün noch für die Gegenrichtung falls dies vom Setup erforderlich ist
|
Konfiguration FortiGate 60F:
Konfiguration über das WebGUI:
|
Konfigurieren des VPN-Tunnels:
Netzwerkeinstellungen:
- Name des VPN-Tunnels definieren (es wird ein Tunnel-Interface mit diesem Namen gebildet)
- Bei Remote Gateway den Typ auf Static IP Address stellen
- Im Feld IP Address wird die public IP-Adresse der Checkpoint eingetragen (198.18.0.151)
- Bei Interface wird das ausgehende Interface (meistens WAN) angegeben. Auf diesem Interface wird das Tunnel-Interface dann als Subinterface gebildet
- NAT Traversal ist zu definieren, falls noch ein NAT Device zwischen der FortiGate und der Checkpoint vorhanden ist.
Authentication konfigurieren:
- Method Auf Pr-shared Key einstellen
- Im Feld Pre-shared Key einen komplexen, nicht nachvollziehbaren Key konfigurieren (dieser Key wird auf der Checkpoint dann auch benötigt)
- In unserem Beispiel werden wir mit IKE Version 2 arbeiten. Dementsprechend den Parameter auf 2 einstellen
Phase 1 Parameter konfigurieren:
- Encryption auf AES256 und Authentication auf SHA256 konfigurieren
- Alle anderen Encryption- und Authentications-Parameter entfernen
- Die Diffie-Hellmann Group wird auf 14 eingestellt
- Der Parameter Key Lifetime (seconds) auf 86400 (1440 Minuten) stellen
Phase 2 Selektoren konfigurieren:
In diesem Beispiel zeigen wir, wie man den Selektor für 10.10.161.0/24 zu 10.10.151.0/24 konfiguriert:
- Name in diesem Feld kann ein Name für den Selektor definiert werden
- Local Address Das Netz welches bei der Fortigate erreicht werden soll. Typ auf Subnet stellen und Adresse: 10.10.161.0/24 konfigurieren
- Remote Address Das Netz welches wir hinter der Checkpoint erreichen wollen. Typ auf Subnet stellen und Adresse 10.10.151.0/24 konfigurieren
- Unter dem Menüpunkt Advanced können die Phase 2 Proposal konfiguriert werden
- Encryption auf AES256 und Authentication auf SHA256 stellen. Alle anderen Encryption- und Authentications-Parameter entfernen
- Perfect Forward Secrecy (PFS) aktivieren
- Die Difie-Hellman Group auf 14 stellen
- Key Lifetime auf Second stellen und dann 3600 Sekunden einstellen (dies ist nicht der default Wert auf der FortiGate)
|
Konfigurieren der Routen:
Auf der FortiGate muss das Netz der Remote Seite(10.10.151.0/24) in den IPSec-Tunnel geroutet werden. Dabei zeigt die Route auf das Tunnel-Interface (vpn_to_CP_151). Damit bei einem Unterbruch des Tunnels der Traffic nicht über die default Route ins Internet geroutet wird, sollte eine Blackhole Route konfiguriert werden. Mehr Details dazu im Artikel : Was ist eine Blackhole Route?
Die Routen werden wie folgt konfiguriert:
Menu: Network -> Static Routes -> 
Blackhole Route mit Distanz 254:
|
Konfigurieren der Policies:
Es braucht mindestens eine Policy auf der FortiGate. Damit der Traffic bidirektional durch den Tunnel geht, empfiehlt es sich eine Regel in jede Richtung zu konfigurieren. Dabei ist die Kommunikation zwischen dem VPN-Tunnel Interface (vpn_cp-forti) und dem internen Interface (internal2).
Menu : Policy & Objects -> IPv4 Policy -> 
Die ganze Policy noch bei bedarf gegengleich konfigurieren (Source Interface / Netz und Destinations Interface / Netz)
Dabei kann die Clone Reverse Funktion benutzt werden.
Komplettes Regelsetup:
|
Konfiguration via CLI:
|
VPN Phase 1 konfigurieren:
config vpn ipsec phase1-interface
edit "vpn_to_CP_151"
set interface "wan1"
set ike-version 2
set peertype any
set net-device disable
set proposal aes256-sha256
set dhgrp 14
set remote-gw 198.18.0.151
set psksecret "Hier_einen_komplexen_Key_eingeben"
next
end
VPN Phase 2 konfigurieren:
config vpn ipsec phase2-interface
edit "p2-vpn_to_lab-0062-10.10.162.0-24"
set phase1name "vpn_to_lab-0062"
set proposal aes256-sha256
set dhgrp 14
set auto-negotiate enable
set src-subnet 10.10.161.0 255.255.255.0
set dst-subnet 10.10.162.0 255.255.255.0
next
end
Routen konfigurieren:
config router static
edit 2
set dst 10.10.151.0 255.255.255.0
set device "vpn_to_CP_151"
next
edit 3
set dst 10.10.151.0 255.255.255.0
set distance 254
set comment "blackhole Route - CP Remote Netz"
set blackhole enable
next
end
Adress Objekte für Policies konfigurieren:
config firewall address
edit "net_remoteVPN-10.10.151.0-24"
set comment "Remote Netz -VPN Checkpoint"
set color 10
set subnet 10.10.151.0 255.255.255.0
next
edit "net_ul-10.10.161.0-24"
set color 3
set subnet 10.10.161.0 255.255.255.0
next
end
Policy konfigurieren:
config firewall policy
edit 5
set name "I_vpn_CP_151->10.0.161.0-24"
set srcintf "vpn_to_CP_151"
set dstintf "internal2"
set srcaddr "net_remoteVPN-10.10.151.0-24"
set dstaddr "net_ul-10.10.161.0-24"
set action accept
set schedule "always"
set service "ALL"
set logtraffic all
next
edit 6
set name "O_vpn_10.10.161.0-24->CP_151"
set srcintf "internal2"
set dstintf "vpn_to_CP_151"
set srcaddr "net_ul-10.10.161.0-24"
set dstaddr "net_remoteVPN-10.10.151.0-24"
set action accept
set schedule "always"
set service "ALL"
set logtraffic all
next
end
|
Erfolgskontrolle
FortiGate Monitor:
Checkpoint Monitor:
Traffic generieren und im Debug auf den beiden Geräten prüfen:
Ping von der FortiGate aus generiert:
- mit dem Befehl
execute ping-option source 10.10.161.2 können wir der FortiGate angeben, mit welcher Adresse diese den Ping ausführen soll
- mit dem Befehl
execute ping 10.10.151.2 können wir die IP Adresse auf der Checkpoint vom LAN Interface anpingen
Im Flow sieht das so aus:
# diag debug flow filter clear
# diag debug flow filter sadd 10.10.161.2
# diag debug flow filter dadd 10.10.151.2
# diag debug flow trace start 9000
# diag debug enable
# id=20085 trace_id=6 func=print_pkt_detail line=5639 msg="vd-root:0 received a packet(proto=1, 10.10.161.2:3584->10.10.151.2:2048) from local. type=8, code=0, id=3584, seq=0."
id=20085 trace_id=6 func=init_ip_session_common line=5810 msg="allocate a new session-00087e78"
id=20085 trace_id=6 func=ipd_post_route_handler line=439 msg="out vpn_to_CP_151 vwl_zone_id 0, state2 0x0, quality 0.
"
id=20085 trace_id=6 func=ipsecdev_hard_start_xmit line=789 msg="enter IPsec interface-vpn_to_CP_151"
id=20085 trace_id=6 func=_ipsecdev_hard_start_xmit line=666 msg="IPsec tunnel-vpn_to_CP_151"
id=20085 trace_id=6 func=esp_output4 line=907 msg="IPsec encrypt/auth"
id=20085 trace_id=6 func=ipsec_output_finish line=622 msg="send to 198.18.0.151 via intf-wan1"
id=20085 trace_id=7 func=print_pkt_detail line=5639 msg="vd-root:0 received a packet(proto=1, 10.10.161.2:3584->10.10.151.2:2048) from local. type=8, code=0, id=3584, seq=1."
id=20085 trace_id=7 func=resolve_ip_tuple_fast line=5720 msg="Find an existing session, id-00087e78, original direction"
id=20085 trace_id=7 func=ipd_post_route_handler line=439 msg="out vpn_to_CP_151 vwl_zone_id 0, state2 0x0, quality 0.
# diag debug reset
# diag debug disable
fw monitor auf der Checkpoint:
fwalem-lab-0151> expert in den Expert Modus wechseln
Enter expert password:
You are in expert mode now.
FW Monitor:
[Expert@fwalem-lab-0151]# fw monitor -e 'accept host(10.10.161.2);'
fw: getting filter (from command line)
fw: compiling
monitorfilter:
Compiled OK.
fw: loading
fw: monitoring (control-C to stop)
[vs_0][fw_2] WAN:id[84]: 10.10.161.2 -> 10.10.151.2 (ICMP) len=84 id=53344
ICMP: type=8 code=0 echo request id=3840 seq=1
[vs_0][fw_2] WAN:ID[84]: 10.10.161.2 -> 10.10.151.2 (ICMP) len=84 id=53344
ICMP: type=8 code=0 echo request id=3840 seq=1
[vs_0][fw_2] WAN:o[84]: 10.10.151.2 -> 10.10.161.2 (ICMP) len=84 id=7498
ICMP: type=0 code=0 echo reply id=3840 seq=1
[vs_0][fw_2] WAN:O[84]: 10.10.151.2 -> 10.10.161.2 (ICMP) len=84 id=7498
ICMP: type=0 code=0 echo reply id=3840 seq=1
[vs_0][fw_2] WAN:O[84]: 10.10.151.2 -> 10.10.161.2 (ICMP) len=84 id=7498
ICMP: type=0 code=0 echo reply id=3840 seq=1
[vs_0][fw_2] WAN:id[84]: 10.10.161.2 -> 10.10.151.2 (ICMP) len=84 id=53345
ICMP: type=8 code=0 echo request id=3840 seq=2
[vs_0][fw_2] WAN:ID[84]: 10.10.161.2 -> 10.10.151.2 (ICMP) len=84 id=53345
ICMP: type=8 code=0 echo request id=3840 seq=2
[vs_0][fw_2] WAN:o[84]: 10.10.151.2 -> 10.10.161.2 (ICMP) len=84 id=7720
ICMP: type=0 code=0 echo reply id=3840 seq=2
[vs_0][fw_2] WAN:O[84]: 10.10.151.2 -> 10.10.161.2 (ICMP) len=84 id=7720
ICMP: type=0 code=0 echo reply id=3840 seq=2
[vs_0][fw_2] WAN:O[84]: 10.10.151.2 -> 10.10.161.2 (ICMP) len=84 id=7720
……
Mit ctrl+c kann der Output abgebrochen werden
Guide als PDF Herunterladen:
Q/A R81 GA
» Hier finden Sie die Präsentation zum Webinar als PDF:
https://pages.checkpoint.com/rs/750-DQH-528/images/2020.11.13_Webinar_R81-overview.pdf
» Weiterführende Webinare zum Thema:
Fragen aus dem R81 Webinar inkl. Antworten & weiterführenden Links:
- F: Was passiert wenn man einige Blades wie z.B. Sandboxing nicht lizenziert hat? Wird das Blade dann trotzdem mit der Inifinite Protection aktiviert?
- A: Blades, die nicht lizensiert sind, werden hierdurch auch nicht aktiviert.
- F: SmartEvent: Reicht es für die neuen Features das Management auf R81 zu haben oder müssen auch die Gateways R81 sein?
- A: Teilsteils, manche Feature werden vom Management alleine bewältigt und andere brauchen ein R81 Gateway
- F: Benötigt die Erkennung/Klassifizierung dieser IoT Geräte ein R81 Gateway?
- A: IoT Funktionen sind ab der R80.40 verfügbar. Für die Klassifizierung & Risiko Analyse werden zusätzliche Systeme benötigt. Um die vollen Funktionen der IoT Policy zu Nutzen müssen auch R81 GW vorhanden sein.
- F: Werden 2012 Appliances von R81 unterstützt.
- A: Nein, letzte Version für 2012 Appliances ist derzeit R80.40 plus Hotfix
- F: Wird Smart-1 Cloud in R81 auch MAESTRO unterstützen?
- A: Ist geplant aber noch kein Datum für den Release
|