Tipps&Tricks: Unterschied zwischen den Versionen
4Tinu (Diskussion | Beiträge) |
4Tinu (Diskussion | Beiträge) |
||
(70 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''Tipps & Tricks - Best Practice Beispiele - How To'''<br> | '''Tipps & Tricks - Best Practice Beispiele - How To'''<br> | ||
[[Datei:tipp.svg|50px|link=]] [[Datei:FortiOS_64.svg|50px|link=]] [[Datei:FortiOS_70.svg|50px|link=]] [[Datei:FortiOS_72.svg|50px|link=]] [[Datei:config_cli.png|50px|link=]] | [[Datei:tipp.svg|50px|link=]] [[Datei:FortiOS_64.svg|50px|link=]] [[Datei:FortiOS_70.svg|50px|link=]] [[Datei:FortiOS_72.svg|50px|link=]] [[Datei:FortiOS_74.svg|50px|link=]] [[Datei:config_cli.png|50px|link=]] | ||
[[Category:Fortinet]] | [[Category:Fortinet]] | ||
== Vorwort == | == Vorwort == | ||
Zeile 109: | Zeile 109: | ||
---- | ---- | ||
<small>''add 10.03.2022 von 4Tinu''</small> | <small>''add 10.03.2022 von 4Tinu''</small> | ||
=== Wie kann ich Gefaehrliche Systeme über Firewall Regeln blockieren? === | |||
[[Datei:FortiOS_70.svg|25px|link=]] [[Datei:FortiOS_72.svg|25px|link=]] [[Datei:FortiOS_74.svg|25px|link=]] | |||
In diesem Artikel wird aufgezeigt, wie man über ISDB Objekte Firewall Regeln konfigurieren kann, welche Zugriffe auf bekannte gefährliche und unerwünschte Systeme blockieren. | |||
{| class="wikitable" style="width:850px" | |||
|- style="background:#89E871" | |||
| [[file:config_webgui.png|25px|link=]] '''Konfiguration über das WebGui:''' | |||
|- | |||
| | |||
Falls bei den Features die Option ''Policy Disclaimer'' und/oder ''Multiple Interface Policies'' noch nicht aktiviert wurde, sollte diese jetzt noch eingeschalten werden. Navigiere dafür über folgenden Menupunkt: <br> | |||
''System → Feature Visiblity'' und aktiviere die Option ''Policy Disclaimer'' und oder ''Multiple Interface Policies'' | |||
[[Datei:Fortinet-3358.jpg|250px|link=]] → die Option Block notification kann in den Policies benutzt werden | |||
[[Datei:Fortinet-3359.jpg|250px|link=]] → mehrere Interfaces oder ANY Interface kann in Policies benutzt werden | |||
In der CLI können die Features folgendermassen aktiviert werden: | |||
<pre style="background-color:#252269;color: #FFFFFF"> | |||
config system settings | |||
set gui-multiple-interface-policy enable | |||
set gui-policy-disclaimer enable | |||
end | |||
</pre> | |||
|- | |||
| | |||
Nun können die beiden Firewall Regeln erstellt werden. Wir konfigurieren eine Firewallregel welche von ''all'' zu den ISDB Objekten ''Botnet-C&C Server'', ''Phishing Server'', ''Malicious Server'', ''Hosting-Bulletproof Server'' und ''Spam Server'' und umgekehrt den Zugriff blockieren. Bei den Interface werden wir jeweils als Source und Destination ''any'' verwenden. Bei der Ausgehenden Regel soll der Anwender eine Meldung bekommen, wenn der Zugriff blockier wird. Dafür schalten wir die Option ''Block notification'' ein. | |||
[[Datei:Fortinet-3353.jpg|750px|link=]] | |||
Um die ISDB Objekte auszuwählen muss im Source oder Destination Feld von IP Adressen auf Internet Services umgestellt werden. Achtung es sind entweder IP Adressen oder ISDB Objekte erlaubt, beides funktioniert nicht. | |||
Mehr Infos über ISDB Objekte findet man Arikel: [[FortiGate:FAQ#Was_sind_ISDB_Objekte?|Was sind ISDB Objekte?]] | |||
[[Datei:Fortinet-3354.jpg|250px|link=]] | |||
|- | |||
| | |||
Diese beiden Reglen sollten im vorhandenen Regelwerk ganz nach oben geschoben werden: | |||
[[Datei:Fortinet-3355.jpg|750px|link=]] | |||
|- | |||
| | |||
Wenn eine ausgehende Verbindung blockiert wird, erhält der User eine Notification, dass er blockiert wurde. | |||
[[Datei:Fortinet-3356.jpg|750px|link=]] | |||
|- | |||
| | |||
Im Forward Log kann man die blockierten Requests sehen: | |||
[[Datei:Fortinet-3357.jpg|750px|link=]] | |||
|} | |||
{| class="wikitable" style="width:100%" | |||
|- style="background:#89E871" | |||
| [[file:config_cli.png|25px|link=]] '''Konfiguration über die CLI:''' | |||
|- | |||
| | |||
<pre style="background-color:#252269;color: #FFFFFF"> | |||
config firewall policy | |||
edit 0 | |||
set name "BLOCK_dangerous systems-outgoing" | |||
set srcintf "any" | |||
set dstintf "any" | |||
set srcaddr "all" | |||
set internet-service enable | |||
set internet-service-src-name "Botnet-C&C.Server" "Malicious-Malicious.Server" "Phishing-Phishing.Server" "Spam-Spamming.Server" "Hosting-Bulletproof.Hosting" | |||
set schedule "always" | |||
set logtraffic all | |||
set comments "Block Gefaehrliche Systeme - Ausgehende Kommunikation" | |||
set block-notification enable | |||
next | |||
edit 0 | |||
set name "BLOCK_dangerous systems-incoming" | |||
set srcintf "any" | |||
set dstintf "any" | |||
set dstaddr "all" | |||
set internet-service-src enable | |||
set internet-service-src-name "Botnet-C&C.Server" "Malicious-Malicious.Server" "Phishing-Phishing.Server" "Spam-Spamming.Server" "Hosting-Bulletproof.Hosting" | |||
set schedule "always" | |||
set match-vip enable | |||
set service "ALL" | |||
set logtraffic all | |||
set comments "Block Gefaehrliche Systeme - Eingehende Kommunikation" | |||
next | |||
end | |||
</pre> | |||
|} | |||
Du kannst folgendes Template benutzen um deine FortiGate mit diesen beiden Regeln zu Härten: | |||
{| class="wikitable" style="width:850px" | |||
|- | |||
| style="width:50px;background-color: #FF7730;"| <span>[[File:wichtig.svg|50px|link=]]</span> | |||
| style="background-color: #FFB991"| | |||
[[Datei:TMP-fgt_BLOCK-dangerousSystems-Policy.txt]] <small>Verion 1.0.1</small> | |||
---- | |||
<small>'' | |||
Das verwenden dieses Templates basiert auf eigener Verantwortung.<br> | |||
Mit diesem Setup werden alle Zugriffe von und zu gefährlichen Systemen (ISDB-Objekte) blockiert.<br> | |||
Die ALSO Schweiz AG lehnt jede Haftung beim verwenden dieses Templates ab! | |||
''</small> | |||
|} | |||
---- | |||
<small>add 03.04.2024 - 4Tinu</small> | |||
=== Wie kann ich unterbinden, dass private Netzwerke im Internet erreicht werden? === | === Wie kann ich unterbinden, dass private Netzwerke im Internet erreicht werden? === | ||
Zeile 126: | Zeile 221: | ||
| | | | ||
'''Adressen Objekte konfigurieren:''' | '''Adressen Objekte konfigurieren:''' | ||
<pre> | <pre style="background-color:#252269;color: #FFFFFF"> | ||
config firewall address | config firewall address | ||
edit "net_rfc1918-10.0.0.0-8" | edit "net_rfc1918-10.0.0.0-8" | ||
Zeile 146: | Zeile 241: | ||
</pre> | </pre> | ||
'''Adressgruppe konfigurieren:''' | '''Adressgruppe konfigurieren:''' | ||
<pre> | <pre style="background-color:#252269;color: #FFFFFF"> | ||
config firewall addrgrp | config firewall addrgrp | ||
edit "gr_net_RFC1918" | edit "gr_net_RFC1918" | ||
Zeile 168: | Zeile 263: | ||
|- | |- | ||
| | | | ||
<pre> | <pre style="background-color:#252269;color: #FFFFFF"> | ||
config firewall policy | config firewall policy | ||
edit 0 | edit 0 | ||
Zeile 207: | Zeile 302: | ||
|- | |- | ||
| | | | ||
<pre> | <pre style="background-color:#252269;color: #FFFFFF"> | ||
config router static | config router static | ||
edit 0 | edit 0 | ||
Zeile 227: | Zeile 322: | ||
set blackhole enable | set blackhole enable | ||
next | next | ||
end</pre> | end | ||
</pre> | |||
|- | |- | ||
|} | |} | ||
Zeile 238: | Zeile 334: | ||
* [[FortiGate:FAQ#Was_ist_eine_Blackhole-Route.3F]] | * [[FortiGate:FAQ#Was_ist_eine_Blackhole-Route.3F]] | ||
|} | |} | ||
---- | |||
<small>edit 03.04.2024 - 4Tinu</small> | |||
=== Wie konfiguriere ich die FortiGate für eine IPplus Lösung von Swisscom? === | === Wie konfiguriere ich die FortiGate für eine IPplus Lösung von Swisscom? === | ||
[[Datei:FortiOS_6x.svg|50px|link=]] [[Datei: | [[Datei:FortiOS_6x.svg|50px|link=]] [[Datei:FortiOS_7x.svg|50px|link=]]<br> | ||
'''Dieser Artikel ist im Aufbau und wird noch editiert und ergänzt, bitte um ein wenig Geduld (4Tinu - | <small>'''Dieser Artikel ist im Aufbau und wird noch editiert und ergänzt, bitte um ein wenig Geduld (4Tinu - 03.04.24)'''</small> | ||
Die Informationen sind aus diesem Dokument entnommen. | Die Informationen sind aus diesem Dokument entnommen. | ||
Zeile 258: | Zeile 354: | ||
Adressobjekte definieren CLI: | Adressobjekte definieren CLI: | ||
<pre> | <pre style="background-color:#252269;color: #FFFFFF"> | ||
config firewall address | config firewall address | ||
edit "IPplus-net_193.135.14.128-27" | edit "IPplus-net_193.135.14.128-27" | ||
Zeile 296: | Zeile 392: | ||
[[Datei:Fortinet-3084.jpg]] | [[Datei:Fortinet-3084.jpg]] | ||
Services definieren CLI: | Services definieren CLI: | ||
<pre> | <pre style="background-color:#252269;color: #FFFFFF"> | ||
config firewall service custom | config firewall service custom | ||
edit "tcp_8070" | edit "tcp_8070" | ||
Zeile 306: | Zeile 402: | ||
edit "tcp_5222" | edit "tcp_5222" | ||
set category "VoIP, Messaging & Other Applications" | set category "VoIP, Messaging & Other Applications" | ||
set comment "Business Communication APP/Client : Wird verwendet für Standard Messaging und Presence | set comment "Business Communication APP/Client : Wird verwendet für Standard Messaging und Presence Protocol (XMPP) Verbindungen" | ||
set color 10 | set color 10 | ||
set tcp-portrange 5222:1024-65535 | set tcp-portrange 5222:1024-65535 | ||
Zeile 320: | Zeile 415: | ||
set category "VoIP, Messaging & Other Applications" | set category "VoIP, Messaging & Other Applications" | ||
set udp-idle-timer 180 | set udp-idle-timer 180 | ||
set comment "Business Communication APP/Client : Hier wird die Session aufgebaut (vom Router zum SIP-Proxy | set comment "Business Communication APP/Client : Hier wird die Session aufgebaut (vom Router zum SIP-Proxy)." | ||
)." | |||
set color 10 | set color 10 | ||
set tcp-portrange 5075-5076:1024-65535 | set tcp-portrange 5075-5076:1024-65535 | ||
Zeile 353: | Zeile 447: | ||
set category "VoIP, Messaging & Other Applications" | set category "VoIP, Messaging & Other Applications" | ||
set udp-idle-timer 180 | set udp-idle-timer 180 | ||
set comment "Yealink, Mitel, Panasonic, Mediatrix: Hier findet die Sprachübertragung statt ( | set comment "Yealink, Mitel, Panasonic, Mediatrix: Hier findet die Sprachübertragung statt (Sprachprotokoll vom Router zum Voiceserver)." | ||
set color 10 | set color 10 | ||
set tcp-portrange 16384-65535:1024-65535 | set tcp-portrange 16384-65535:1024-65535 | ||
Zeile 362: | Zeile 455: | ||
set category "VoIP, Messaging & Other Applications" | set category "VoIP, Messaging & Other Applications" | ||
set udp-idle-timer 180 | set udp-idle-timer 180 | ||
set comment "Chrome Browser : Hier findet die Sprachübertragung statt (Sprachprotokoll vom Router zum | set comment "Chrome Browser : Hier findet die Sprachübertragung statt (Sprachprotokoll vom Router zum WebRTC Router)." | ||
set color 10 | set color 10 | ||
set udp-portrange 1024-65535:1024-65535 | set udp-portrange 1024-65535:1024-65535 | ||
Zeile 370: | Zeile 462: | ||
set category "VoIP, Messaging & Other Applications" | set category "VoIP, Messaging & Other Applications" | ||
set udp-idle-timer 180 | set udp-idle-timer 180 | ||
set comment "SIP: Yealink, Mitel, Panasonic, Mediatrix : Hier wird die Session aufgebaut (vom Router zum | set comment "SIP: Yealink, Mitel, Panasonic, Mediatrix : Hier wird die Session aufgebaut (vom Router zum SIP-Proxy)." | ||
SIP-Proxy)." | |||
set color 10 | set color 10 | ||
set tcp-portrange 5061:1024-65535 | set tcp-portrange 5061:1024-65535 | ||
Zeile 381: | Zeile 472: | ||
[[Datei:Fortinet-3090.jpg]] | [[Datei:Fortinet-3090.jpg]] | ||
<pre> | <pre style="background-color:#252269;color: #FFFFFF"> | ||
#### GRUPPE ##### | #### GRUPPE ##### | ||
config firewall service group | config firewall service group | ||
edit "gr_IPplus-Services" | edit "gr_IPplus-Services" | ||
set member "tcp_2209" "tcp_5222" "tcp_5269" "tcp_5281" "tcp_8012" "tcp_8070" "tcp_8443" "udp-tcp_16384- | set member "tcp_2209" "tcp_5222" "tcp_5269" "tcp_5281" "tcp_8012" "tcp_8070" "tcp_8443" "udp-tcp_16384-65535" "udp-tcp_5075-5076" "udp_1024-65535" "HTTP" "HTTPS" "udp-tcp_5061" | ||
set comment "Business Communication Services" | set comment "Business Communication Services" | ||
set color 10 | set color 10 | ||
Zeile 394: | Zeile 484: | ||
config firewall service group | config firewall service group | ||
edit "gr_IPplus-Services" | edit "gr_IPplus-Services" | ||
set member "tcp_2209" "tcp_5222" "tcp_5269" "tcp_5281" "tcp_8012" "tcp_8070" "tcp_8443" "udp-tcp_16384- | set member "tcp_2209" "tcp_5222" "tcp_5269" "tcp_5281" "tcp_8012" "tcp_8070" "tcp_8443" "udp-tcp_16384-65535" "udp-tcp_5075-5076" "udp_1024-65535" "HTTP" "HTTPS" "udp-tcp_5061" | ||
set comment "Business Communication Services" | set comment "Business Communication Services" | ||
set color 10 | set color 10 | ||
next | next | ||
end | end | ||
</pre> | </pre> | ||
Routing konfigurieren CLI: | Routing konfigurieren CLI: | ||
[[ [[Datei:Fortinet-3088.jpg]] | [[ [[Datei:Fortinet-3088.jpg]] | ||
<pre> | <pre style="background-color:#252269;color: #FFFFFF"> | ||
config router static | config router static | ||
edit 0 | edit 0 | ||
Zeile 439: | Zeile 526: | ||
DoS Policy (Optional): | DoS Policy (Optional): | ||
[[Datei:Fortinet-3089.jpg]] | [[Datei:Fortinet-3089.jpg]] | ||
---- | |||
<small>edit 03.04.2024 - 4Tinu</small> | |||
== FortiGate und Windows == | == FortiGate und Windows == | ||
Zeile 479: | Zeile 567: | ||
| | | | ||
'''Service konfigurieren:''' | '''Service konfigurieren:''' | ||
<pre> | <pre style="background-color:#252269;color: #FFFFFF"> | ||
config firewall service custom | config firewall service custom | ||
edit "udp_3389" | edit "udp_3389" | ||
Zeile 490: | Zeile 578: | ||
</pre> | </pre> | ||
'''Firewallregel konfigurieren:''' | '''Firewallregel konfigurieren:''' | ||
<pre> | <pre style="background-color:#252269;color: #FFFFFF"> | ||
config firewall policy | config firewall policy | ||
edit 0 | edit 0 | ||
Zeile 588: | Zeile 676: | ||
<!-- https://community.fortinet.com/t5/FortiGate/Technical-Tip-Microsoft-RDP-freeze-and-cause-FortiGate-slow-when/ta-p/202024 --> | <!-- https://community.fortinet.com/t5/FortiGate/Technical-Tip-Microsoft-RDP-freeze-and-cause-FortiGate-slow-when/ta-p/202024 --> | ||
<!-- https://www.mustbegeek.com/rdp-connection-freezes-in-windows-10/ --> | <!-- https://www.mustbegeek.com/rdp-connection-freezes-in-windows-10/ --> | ||
---- | |||
<small> edit 03.04.2024 - 4Tinu</small> | |||
=== Was kann ich tun, wenn ich mit Microsoft Teams Videokonferenzen Unterbrüche oder eine langsame Verbindung habe? === | |||
[[Datei:FortiOS_64.svg|35px|link=]] [[Datei:FortiOS_70.svg|35px|link=]] [[Datei:FortiOS_72.svg|35px|link=]] [[Datei:FortiOS_74.svg|35px|link=]] | |||
die Videos | |||
Es ist mal wieder Zeit für ein technisches Rätsel, liebe Security Engineers! Heute geht es um das leidige Thema MS-Teams und Performance-Probleme. Es ist immer wieder ärgerlich, wenn eine Videokonferenz mit nur zwei Teilnehmern reibungslos funktioniert, aber sobald sich mehrere Nutzer zusammenschließen, stockt die Verbindung, die Videos hängen und die Sprachqualität erinnert eher an Terminator mit einem kaputten Funkgerät. Klingt nach keiner angenehmen Erfahrung, oder? | |||
Aber zum Glück gibt es eine Lösung für dieses Problem! Wenn du DoS-Policies konfiguriert hast, wird höchstwahrscheinlich die Anomalie DoS-UDP-FLOOD zuschlagen. Um dem entgegenzuwirken, reicht es aus, | |||
eine Ausnahme-Regel für Teams zu erstellen: | |||
Du solltest am besten eine DoS-Ausnahme-Regel mit den Teams-Adressen als Ziel konfigurieren und die UDP-Parameter auf "Monitor" setzen. | |||
Es ist leider nicht möglich, die ISDB-Objekte in den DoS-Regeln zu verwenden, daher müssen wir manuell die entsprechenden IP-Adressbereiche in der FortiGate erfassen. | |||
Keine Sorge, Microsoft bietet eine offizielle Seite, auf der du die entsprechenden IP-Adressbereiche und Dienste finden kannst. Besuche einfach folgenden Link: [https://learn.microsoft.com/en-us/microsoft-365/enterprise/urls-and-ip-address-ranges?view=o365-worldwide#skype-for-business-online-and-microsoft-teams Microsoft Teams Adressen und Services] | |||
Um es zusammenzufassen, müssen wir also die folgenden Parameter in der FortiGate vorbereiten: | |||
# Erfasse manuell die entsprechenden IP-Adressbereiche und Dienste auf der FortiGate. | |||
# Erstelle eine Ausnahme-Regel für DoS mit den Teams-Adressen als Ziel. | |||
# Setze die UDP-Parameter auf "Monitor". | |||
Mit diesen Schritten sollte die Performance von MS-Teams bei Videokonferenzen mit mehreren Teilnehmern erheblich verbessert werden. Viel Spaß beim Optimieren und genießt flüssige Videokonferenzen ohne Stottern und Terminator-Sounds! | |||
Folgende Parameter müssen auf der FortiGate vordefiniert werden:</br> | |||
'''IP Adressen Ranges:''' | '''IP Adressen Ranges:''' | ||
* 13.107.64.0/18 | * 13.107.64.0/18 | ||
Zeile 619: | Zeile 710: | ||
* HTTP (TCP80) --> normalerweise vordefiniert | * HTTP (TCP80) --> normalerweise vordefiniert | ||
* UDP 3478 - 3481 | * UDP 3478 - 3481 | ||
Um flexibler und übersichtlicher zu bleiben, empfehle ich euch je eine Adresse Gruppe und eine Service Gruppe zu bilden: | |||
* Gruppe IP Adressen: ''gr_ext-MS-TEAMS'' | |||
* Gruppe Services: ''gr_MS-TEAMS'' | |||
<big>'''Konfiguration im Webgui:'''</big> | |||
{| class="wikitable" style="width:850px" | |||
|- style="background:#89E871" | |||
| [[file:config_webgui.png|25px|link=]] '''Konfiguration über das WebGui:''' | |||
|- | |||
| | |||
'''Adressobjekte erstellen:''' | |||
[[Datei:Fortinet-3310.jpg|550px]] | |||
* Navigiere über ''Policy & Objects -> Adresses -> Create New -> Address'' | |||
* Erstelle für folgende Netze ein Adressobjekt: | |||
** 13.107.64.0/18 | |||
** 52.112.0.0/14 | |||
** 52.122.0.0/15 | |||
** 52.238.119.141/32 | |||
** 52.244.160.207/32 | |||
Wie Adressobjekte erstellt werden, kann in diesem [[FortiGate:FAQ#Wie_erstelle_ich_ein_Adressenobjekt_auf_der_FortiGate?|Wiki Artikel]] nachgelesen werden.<br> | |||
'''Adressgruppe erstellen:''' <br> | |||
Wenn die Objekte erstellt sind, kannst du eine Adresse Gruppe erstellen: | |||
* Navigiere über ''Policy & Objects -> Adresses -> Create New -> Address Group'' | |||
* Benenne die Gruppe ''gr_ext-MS-TEAMS'' und füge die vorhin angelegten Adressobjekte hinzu. | |||
[[Datei:Fortinet-3311.jpg|550px|link=]] | |||
|- | |||
| | |||
'''Service für Teams definieren:'''<br> | |||
Der HTTP und HTTPS Service ist auf der FortiGate standartmässig konfiguriert. Um die spezifischen Teams Ports zu konfigurieren über das Menu ''Policy & Objects -> Services -> Create New'' einen neuen Service definieren: | |||
[[Datei:Fortinet-3312.jpg|550px|link=]] | |||
* Bei den Protocol Options folgendes konfigurieren: | |||
** Protocol Type : TCP/UDP/SCTP | |||
** Destination Port UDP 3478 - 1481 | |||
** Option Specify Source Ports aktivieren und 1024 - 65535 eingeben | |||
'''IP Adressen Range:''' <br> | '''Gruppe für die Services definieren:''' | ||
<pre | Nun über ''Policy & Objects -> Services -> Service groups -> Create New'' eine Service Gruppe erstellen: | ||
## | [[Datei:Fortinet-3313.jpg|550px|link=]] | ||
* Benenne die Gruppe ''gr_MS-TEAMS'' | |||
* Füge die Ports HTTP, HTTPS und udp_3478-3481 hinzu | |||
Nun sind alle Parameter für die DoS Regel vorbereitet. | |||
|- | |||
| | |||
'''DoS Regel konfigurieren:'''<br> | |||
Die DoS Policy über ''Policy & Objects -> IPv4 DoS Policy -> Create New'' | |||
[[Datei:Fortinet-3314.jpg|550px|link=]] | |||
* Als Interface das Interface richtung Internet auswählen (wan1 zum Beispiel) | |||
* Bei den Source kann all oder der Client Range gewählt werden. | |||
* Als Destination das Object gr_ext_MS-TEAMS auswählen | |||
* Bei den Services die vorhin angelegte Gruppe ''gr_MS-TEAMS'' konfigurieren | |||
* L3 Anomalien alle auf Block und die Logging Optionen aktivieren | |||
* L4 Anomalien alle auf Block und die Logging Optionen aktivieren | |||
** Ausnahme die Option '''udp_flood''' auf '''Monitor''' konfigurieren | |||
* Mit ''OK'' wird die DoS Policy erstellt | |||
Mehr Informationen und Grundlagen zu DoS Regeln gibt es [[FortiGate:FAQ#DoS|HIER im Wiki]] | |||
Nun muss sichergestellt werden, dass die neu angelegte DoS Regel vor die Regel geschoben wird, welche das Teams blockt: | |||
[[Datei:Fortinet-3315.jpg|750px|link=]] | |||
Es kann mit ''Drag&Drop'' die Regel an die entsprechende Stelle verschoben werden: | |||
[[Datei:Fortinet-3316.jpg|750px|link=]] | |||
|- | |||
|} | |||
<big>'''Konfiguration in der CLI:'''</big> | |||
{| class="wikitable" style="width:800px" | |||
|- style="background:#89E871" | |||
| [[file:config_cli.png|25px|link=]] '''Konfiguration via CLI:''' | |||
|- | |||
| | |||
'''IP Adressen Range definieren:''' <br> | |||
<pre style="background-color:#252269;color: #FFFFFF"> | |||
config firewall address | config firewall address | ||
edit "ext-TEAMS-13.107.64.0-18" | edit "ext-TEAMS-13.107.64.0-18" | ||
Zeile 652: | Zeile 810: | ||
next | next | ||
end | end | ||
## | </pre> | ||
'''IP Objekt Gruppe mit MS-Teams relevanten IP-Netze/Adressen bilden:'''<br> | |||
<pre style="background-color:#252269;color: #FFFFFF"> | |||
config firewall addrgrp | config firewall addrgrp | ||
edit "gr_ext-MS-TEAMS" | edit "gr_ext-MS-TEAMS" | ||
set member "ext-TEAMS-13.107.64.0-18" "ext-TEAMS-52.112.0.0-14" "ext-TEAMS-52.122.0.0-15" "ext-TEAMS-52.238.119.141-32" "ext-TEAMS-52.244.160.207-32" | set member "ext-TEAMS-13.107.64.0-18" "ext-TEAMS-52.112.0.0-14" "ext-TEAMS-52.122.0.0-15" "ext-TEAMS-52.238.119.141-32" "ext-TEAMS-52.244.160.207-32" | ||
set comment "MS-Teams IP Adressen | set comment "MS-Teams IP Adressen" | ||
set color 20 | set color 20 | ||
next | next | ||
end | end | ||
</pre> | </pre> | ||
|} | |||
<pre | '''MS-Teams relevante Services erstellen:'''<br> | ||
## | {| class="wikitable" style="width:800px" | ||
|- style="background:#89E871" | |||
| [[file:config_cli.png|25px|link=]] '''Konfiguration via CLI:''' | |||
|- | |||
| | |||
<pre style="background-color:#252269;color: #FFFFFF"> | |||
config firewall service custom | config firewall service custom | ||
edit "udp_3478-3481" | edit "udp_3478-3481" | ||
set category "VoIP, Messaging & Other Applications" | set category "VoIP, Messaging & Other Applications" | ||
set comment "Teams | set comment "Teams Service" | ||
set color 20 | set color 20 | ||
set udp-portrange 3478-3481:1024-65535 | set udp-portrange 3478-3481:1024-65535 | ||
next | next | ||
end | end | ||
</pre> | |||
'''Service Objekt Gruppe mit MS-Teams relevanten Services bilden:'''<br> | |||
<pre style="background-color:#252269;color: #FFFFFF"> | |||
config firewall service group | config firewall service group | ||
edit "gr_MS-TEAMS" | edit "gr_MS-TEAMS" | ||
Zeile 684: | Zeile 849: | ||
end | end | ||
</pre> | </pre> | ||
|} | |||
'''DoS Policy erstellen:''' | |||
''' | {| class="wikitable" style="width:800px" | ||
|- style="background:#89E871" | |||
| [[file:config_cli.png|25px|link=]] '''Konfiguration via CLI:''' | |||
|- | |||
| | |||
<pre style="background-color:#252269;color: #FFFFFF"> | |||
config firewall DoS-policy | config firewall DoS-policy | ||
edit 0 | edit 0 | ||
set name " | set name "Teams_[INTERFACE_NAME]" <-- z.B wan1 | ||
set comments "Teams Ausnahme | set comments "Teams Ausnahme" | ||
set interface " | set interface "[INTERFACE_NAME]" <-- z.B wan1 | ||
set srcaddr "all" | set srcaddr "all" | ||
set dstaddr "gr_ext-MS-TEAMS" | set dstaddr "gr_ext-MS-TEAMS" | ||
Zeile 809: | Zeile 980: | ||
end | end | ||
</pre> | </pre> | ||
|} | |||
Natürlich könnt ihr dafür auch dieses Script gebrauchen. Ihr müsst nur den Parameter [INTERFACE_NAME] durch das entsprechende Interface (z.B. wan1) ersetzen. Die angelegte DoS Regel, noch vor die Allgemeine DoS Regel schieben, damit diese auch zur Anwendung kommt. | Natürlich könnt ihr dafür auch dieses Script gebrauchen. Ihr müsst nur den Parameter <code> [INTERFACE_NAME] </code> durch das entsprechende Interface (z.B. wan1) ersetzen. Die angelegte DoS Regel, noch vor die Allgemeine DoS Regel schieben, damit diese auch zur Anwendung kommt. | ||
Das Template kann hier auf eigene Verantwortung heruntergeladen werden: | |||
[[Datei:TMP-fgt_DoS-Policy-4-MS-TEAMS.txt]] | |||
---- | ---- | ||
<small> | <small>edit {{REVISIONDAY}}.{{REVISIONMONTH}}.{{REVISIONYEAR}} - 4Tinu<nowiki> |</nowiki> übrigens''ChatGPD hat mir geholfen beim verfassen dieses Artikel ;-)'' </small> | ||
== FortiGate Konfigurations Templates == | == FortiGate Konfigurations Templates == | ||
=== Wie kann ich ein Template am einfachsten in die FortiGate einlesen? === | |||
Damit du nicht das gesamte Template mühsam per ''Copy+Paste'' über die Kommandozeile (CLI) einfügen musst, | |||
gibt es eine viel bequemere Möglichkeit im WebGUI der FortiGate. Du kannst das Template einfach importieren! | |||
Hier kannst du ein beliebiges Textfile mit der FortiOS-Syntax hochladen. Klingt praktisch, oder? | |||
So gehst du vor, um das Skript einzulesen: | |||
{| class="wikitable" style="width:850px" | |||
|- style="background:#89E871" | |||
| [[file:config_webgui.png|25px|link=]] '''Konfiguration über das WebGui:''' | |||
|- | |||
| | |||
[[Datei:Fortinet-3408.jpg|550px|link=]] | |||
# Navigiere oben Rechts in der Kopfzeile auf den AdminUser (in unserem Fall heisst er ''also_admin'' | |||
# Über das Menu <code>Configuration</code>→<code>Scripts</code> wird das Template einlesen Menu angezeigt. | |||
|- | |||
| | |||
[[Datei:Fortinet-3409.jpg|250px|link=]] | |||
Um das Script einzulesen den folgenden Button anwählen: <code>Run Script</code> | |||
|- | |||
| | |||
[[Datei:Fortinet-3410.jpg|550px|link=]] | |||
# Um von deinem Lokalen Gerät ein Skript hochzuladen die Option <code>Local</code> benutzen | |||
# Wähle das Template File aus | |||
# über <code>OK</code> wird das ausgewählte Textfile auf die FortiGate eingelesen | |||
|- | |||
| | |||
Wenn alles geklappt hat, wirst du danach in der Liste der eingelesenen Skripts einen grünen Hacken sehen: | |||
[[Datei:Fortinet-3411.jpg|550px|link=]] | |||
|} | |||
---- | |||
<small>add 05.07.2024 - 4Tinu </small> | |||
=== Alle GEO-IP Regionen als Adressobjekte === | === Alle GEO-IP Regionen als Adressobjekte === | ||
Mit diesem Template können sämtliche GEO IP Adressobjekte auf einmal in die FortiGate erfasst werden. | Mit diesem Template können sämtliche GEO IP Adressobjekte auf einmal in die FortiGate erfasst werden. |
Aktuelle Version vom 5. Juli 2024, 07:07 Uhr
Tipps & Tricks - Best Practice Beispiele - How To
Vorwort
Dieses FAQ ist für Fortinet Systeme basierend auf FortiOS 6.4 und FortiOS 7.0. Sofern nicht anderes vermerkt, stand zu Test-Zwecken eine Fortigate 60E oder 60F zur Verfügung!
Datenschutz
********************************************************************* * * * THIS FILE MAY CONTAIN CONFIDENTIAL, PRIVILEGED OR OTHER LEGALLY * * PROTECTED INFORMATION. YOU ARE PROHIBITED FROM COPYING, * * DISTRIBUTING OR OTHERWISE USING IT WITHOUT PERMISSION FROM * * ALSO SCHWEIZ SWITZERLAND. * * * ********************************************************************* "Die in diesen Artikeln enthaltenen Informationen sind vertraulich und dürfen ohne schriftliche Zustimmung der ALSO Schweiz AG gegenüber Dritt-Unternehmen nicht bekannt gemacht werden"
FortiGate - Best Practice
Wie kann ich auf der FortiGate geographische Regionen blockieren?
Wenn von einer Region wie zum Beispiel Russland geziehlt viele Hacker aktivitäten vorgenommen werden, ist es Sinnvoll auf der FortiGate eine Regel zu erstellen, welchen diesen Traffic Global blockiert. Dabei muss man natürlich darauf achten, dass wenn gewisse Services aus dieser Region denoch erreicht werden sollen, diese ausgenommen werden.
Am effizientesten ist es eine LocalIn Regel zu konfigurieren. Dies muss über die CLI vorgenommen werden. Eine manuelle LocalIn Regel sieht man auch nach dem konfigurieren im WebGui nicht, daher diese Regel in der Dokumentation so detailgerecht wie möglich niederschreiben. Was eine lokalIn Policy ist, kann man hier erfahren:
FortiGate:FAQ#Was_ist_eine_Local-In_Policy.3F
Bevor eine LocalIn Regel konfiguriert wird, macht es Sinn die Adressobjekte vorab zu erstellen. Dafür nutzen wir die GeoIP Adressobjekte. In diesen Objekten sind geographisch zugeordnete IP-Adressen Range hinterlegt. Diese Objekte werden von der FortiGuard in einer Datenbank gepflegt und in ca 1 Monatigen abständen aktuell gehalten. Wie man ein GeoIP Adressobjekt im Webgui erstellt findet man hier:
FortiGate:FAQ#Wie_kann_ich_geographisch_gebundene_Adressobjekte_erstellen.3F
Für unser Beispiel wollen wir ein Adressobjekt für Russland und Weissrussland (Belarus) erstellen.
Damit wir in der LocalIn Policy danach ohne grossen Aufwand weitere Regionen hinzu oder entfehrnen können, bilden wir eine Adressgruppe und schieben die entsprechenden Adressobjekte in die Gruppe:
Nun wird eine Local In Policy erstellt: Grundlegendes über das konfigurieren von manuellen LocalIn Regeln, kann in diesem Wikiartikel entnommen werden:
FortiGate:FAQ#Wie_kann_ich_eine_manuelle_Local-In_Policy_konfigurieren.3F
Konfiguration über die CLI: |
### Erstellen GEO-IP Objekte ### config firewall address edit "net_geo_russland" set type geography set comment "Geo IP Russland" set color 6 set country "RU" next edit "net_geo_belarus" set type geography set comment "Geo Objekte Weissrussland" set color 6 set country "BY" next end ### Erstellen Gruppe ### config firewall addrgrp edit "net_geo_blocken" set member "net_geo_belarus" "net_geo_russland" set comment "Geo IP Objekte zum blocken" set color 6 next end ### Erstellen localIn Policy fuer ALLE Interface ### config firewall local-in-policy edit 0 set intf "any" set srcaddr "net_geo_blocken" set dstaddr "all" set service "ALL" set schedule "always" set action deny set comments "Blocken von unerwuenschten geographischen Regionen" next end |
Obwohl man die manuellen LocalIn Policies im WebGui nicht sieht, gibt es einen kleinen Trick denoch zu erkennen, dass die Objektgruppe mit einer LocalIn Policy verknüpft ist:
Dafür geht man in die Adressobjekt übersicht in den Abschnitt Address Group und sucht das Gruppenobjekt. Wir sehen in der Spalte Ref. eine 1. Diese können wir anklicken und sehen, wo das Objekt überall verwendet wird:
Wir sehen hier, dass das Objekt in der LocalIn Policy 3 verwendet wird.
Diese Datei kann als Vorlage verwendet werden für diese Konfiguration in jede beliebege FortiGate einzufügen:
Datei:Template localin-geoIP-drop.txt
Das verwenden dieses Templates basiert auf eigener Verantwortung. |
add 10.03.2022 von 4Tinu
Wie kann ich Gefaehrliche Systeme über Firewall Regeln blockieren?
In diesem Artikel wird aufgezeigt, wie man über ISDB Objekte Firewall Regeln konfigurieren kann, welche Zugriffe auf bekannte gefährliche und unerwünschte Systeme blockieren.
Konfiguration über das WebGui: |
Falls bei den Features die Option Policy Disclaimer und/oder Multiple Interface Policies noch nicht aktiviert wurde, sollte diese jetzt noch eingeschalten werden. Navigiere dafür über folgenden Menupunkt: → die Option Block notification kann in den Policies benutzt werden → mehrere Interfaces oder ANY Interface kann in Policies benutzt werden In der CLI können die Features folgendermassen aktiviert werden: config system settings set gui-multiple-interface-policy enable set gui-policy-disclaimer enable end |
Nun können die beiden Firewall Regeln erstellt werden. Wir konfigurieren eine Firewallregel welche von all zu den ISDB Objekten Botnet-C&C Server, Phishing Server, Malicious Server, Hosting-Bulletproof Server und Spam Server und umgekehrt den Zugriff blockieren. Bei den Interface werden wir jeweils als Source und Destination any verwenden. Bei der Ausgehenden Regel soll der Anwender eine Meldung bekommen, wenn der Zugriff blockier wird. Dafür schalten wir die Option Block notification ein. Um die ISDB Objekte auszuwählen muss im Source oder Destination Feld von IP Adressen auf Internet Services umgestellt werden. Achtung es sind entweder IP Adressen oder ISDB Objekte erlaubt, beides funktioniert nicht. Mehr Infos über ISDB Objekte findet man Arikel: Was sind ISDB Objekte? |
Diese beiden Reglen sollten im vorhandenen Regelwerk ganz nach oben geschoben werden: |
Wenn eine ausgehende Verbindung blockiert wird, erhält der User eine Notification, dass er blockiert wurde. |
Im Forward Log kann man die blockierten Requests sehen: |
Konfiguration über die CLI: |
config firewall policy edit 0 set name "BLOCK_dangerous systems-outgoing" set srcintf "any" set dstintf "any" set srcaddr "all" set internet-service enable set internet-service-src-name "Botnet-C&C.Server" "Malicious-Malicious.Server" "Phishing-Phishing.Server" "Spam-Spamming.Server" "Hosting-Bulletproof.Hosting" set schedule "always" set logtraffic all set comments "Block Gefaehrliche Systeme - Ausgehende Kommunikation" set block-notification enable next edit 0 set name "BLOCK_dangerous systems-incoming" set srcintf "any" set dstintf "any" set dstaddr "all" set internet-service-src enable set internet-service-src-name "Botnet-C&C.Server" "Malicious-Malicious.Server" "Phishing-Phishing.Server" "Spam-Spamming.Server" "Hosting-Bulletproof.Hosting" set schedule "always" set match-vip enable set service "ALL" set logtraffic all set comments "Block Gefaehrliche Systeme - Eingehende Kommunikation" next end |
Du kannst folgendes Template benutzen um deine FortiGate mit diesen beiden Regeln zu Härten:
Datei:TMP-fgt BLOCK-dangerousSystems-Policy.txt Verion 1.0.1
Das verwenden dieses Templates basiert auf eigener Verantwortung. |
add 03.04.2024 - 4Tinu
Wie kann ich unterbinden, dass private Netzwerke im Internet erreicht werden?
Private IP Adressen werden im Internet nicht geroutet und somit müssen diese auch nicht die FortiGate über den Internet Anschluss verlassen. Auf den Core Router werden im Normallfall diese Netze auch nicht ins grosse weite Internet geroutet. Wir haben verschiedene Möglichkeiten auf der FortiGate diese Netze gleich zu blockieren, damit die gar nie ins Internet gehen:
- Mit Deny Policy
- Mit Blackhole Routen
Variante Firewall Regel:
Wir können aber auf der FortiGate gleich eine Firewall Regel konfigurieren, welche den Zugriff auf Private Netze im Internet gar nicht zulässt. Dafür konfigurieren wir drei Adressobjekte und fügen diese einer Gruppe hinzu. Danach wird zu Oberst im Regelwerk eine Firewall Regel von den Internen Interface auf die Internet Interfaces mit Source All und Destination das konfigurierte Gruppenobjekt erstellt, welche sämtliche Service blockiert.
Konfiguration über die CLI: |
Adressen Objekte konfigurieren: config firewall address edit "net_rfc1918-10.0.0.0-8" set comment "private net - RFC1918" set color 27 set subnet 10.0.0.0 255.0.0.0 next edit "net_rfc1918-172.16.0.0-12" set comment "private net - RFC1918" set color 27 set subnet 172.16.0.0 255.240.0.0 next edit "net_rfc1918-192.168.0.0-16" set comment "private net - RFC1918" set color 27 set subnet 192.168.0.0 255.255.0.0 next end Adressgruppe konfigurieren: config firewall addrgrp edit "gr_net_RFC1918" set member "net_rfc1918-10.0.0.0-8" "net_rfc1918-172.16.0.0-12" "net_rfc1918-192.168.0.0-16" set comment "private networks RFC1918" set color 27 next end |
Konfiguration über das WebGui: |
|
Firewall Regel konfigurieren:
Konfiguration über die CLI: |
config firewall policy edit 0 set name "O_wlan_to_INTERNET-block-RFC1918" set srcintf "[INTERNAL-INTERFACE]" set dstintf "[WAN-INTERFACE]" set srcaddr "all" set dstaddr "gr_net_RFC1918" set schedule "always" set service "ALL" set logtraffic all set comments "Blocks all traffic to private networks RFC1918 to the INTERNET" next end |
Konfiguration über das WebGui: |
Diese Firewall Regel muss zuoberst im Regelwerk platziert werden. |
Details über den RFC 1918 findet man hier: https://datatracker.ietf.org/doc/html/rfc1918 |
Private Netze mit Blackhole Route verwerfen
Eine weitere Möglichkeit ist es, mit einer Blackhole Route zu arbeiten. Diese Lösung ist dann gleich allgemein gültig und nicht auf ein Interface begrenzt:
Konfiguration über die CLI: |
config router static edit 0 set dst 10.0.0.0/8 set distance 254 set comment "Blackhole 10.0.0.0/8 - RFC1918" set blackhole enable next edit 0 set dst 172.16.0.0/12 set distance 254 set comment "Blackhole 172.16.0.0/12 -RFC1918" set blackhole enable next edit 0 set dst 192.168.0.0/16 set distance 254 set comment "Blackhole 192.168.0.0/16-RFC1918" set blackhole enable next end |
Mehr zum Thema Blachkole Route finden sich in diesem Artikel: |
edit 03.04.2024 - 4Tinu
Wie konfiguriere ich die FortiGate für eine IPplus Lösung von Swisscom?
Dieser Artikel ist im Aufbau und wird noch editiert und ergänzt, bitte um ein wenig Geduld (4Tinu - 03.04.24)
Die Informationen sind aus diesem Dokument entnommen.
Adressobjekte definieren:
Gruppe Definieren:
Adressobjekte definieren CLI:
config firewall address edit "IPplus-net_193.135.14.128-27" set comment "Reservierter IP Range für IP+ (SIP und RTP)" set color 6 set subnet 193.135.14.128 255.255.255.224 next edit "IPplus-net_193.135.14.160-27" set comment "Reservierter IP Range für IP+ (SIP und RTP)" set color 6 set subnet 193.135.14.160 255.255.255.224 next edit "IPplus-net_193.135.14.192-27" set comment "Reservierter IP Range für IP+ (SIP und RTP)" set color 6 set subnet 193.135.14.160 255.255.255.224 next edit "clientnet_voice" set comment "Client Netzwerk Voice Devices" set color 3 set subnet 192.168.200.0 255.255.255.0 next end config firewall addrgrp edit "gr_IPplus-net" set member "IPplus-net_193.135.14.128-27" "IPplus-net_193.135.14.160-27" "IPplus-net_193.135.14.192-27" set comment "Reservierter IP Ranges für IP+ (SIP und RTP)" set color 6 next end
Services gemäss Liste definieren:
Services definieren CLI:
config firewall service custom edit "tcp_8070" set category "VoIP, Messaging & Other Applications" set comment "Chrome Browser : Hier wird die Session aufgebaut (vom Router zum SIP-Proxy)." set color 10 set tcp-portrange 8070:1024-65535 next edit "tcp_5222" set category "VoIP, Messaging & Other Applications" set comment "Business Communication APP/Client : Wird verwendet für Standard Messaging und Presence Protocol (XMPP) Verbindungen" set color 10 set tcp-portrange 5222:1024-65535 next edit "tcp_5281" set category "VoIP, Messaging & Other Applications" set comment "Receptionist : Wird benutzt für bidirektionale Streams über Synchrone HTTPS Verbindungen" set color 10 set tcp-portrange 5281:1024-65535 next edit "udp-tcp_5075-5076" set category "VoIP, Messaging & Other Applications" set udp-idle-timer 180 set comment "Business Communication APP/Client : Hier wird die Session aufgebaut (vom Router zum SIP-Proxy)." set color 10 set tcp-portrange 5075-5076:1024-65535 set udp-portrange 5075-5076:1024-65535 next edit "tcp_2209" set category "VoIP, Messaging & Other Applications" set comment "Estos ECSTA : Wird für den Zugang vom PC ins Internet verwendet (Datenfunktionen)" set color 10 set tcp-portrange 2209:1024-65535 next edit "tcp_5269" set category "VoIP, Messaging & Other Applications" set comment "Business Communication APP/Client : Benutzt für Federation Protokol Verbindungen" set color 10 set tcp-portrange 5269:1024-65535 next edit "tcp_8012" set category "VoIP, Messaging & Other Applications" set comment "Estos ECSTA : Wird für den Zugang vom PC ins Internet verwendet (Datenfunktionen)" set color 10 set tcp-portrange 8012:1024-65535 next edit "tcp_8443" set category "VoIP, Messaging & Other Applications" set comment "Centro Business : Wird für die Synchronisierung der Geräte-Konfiguration verwendet." set color 10 set tcp-portrange 8443:1024-65535 next edit "udp-tcp_16384-65535" set category "VoIP, Messaging & Other Applications" set udp-idle-timer 180 set comment "Yealink, Mitel, Panasonic, Mediatrix: Hier findet die Sprachübertragung statt (Sprachprotokoll vom Router zum Voiceserver)." set color 10 set tcp-portrange 16384-65535:1024-65535 set udp-portrange 16384-65535:1024-65535 next edit "udp_1024-65535" set category "VoIP, Messaging & Other Applications" set udp-idle-timer 180 set comment "Chrome Browser : Hier findet die Sprachübertragung statt (Sprachprotokoll vom Router zum WebRTC Router)." set color 10 set udp-portrange 1024-65535:1024-65535 next edit "udp-tcp_5061" set category "VoIP, Messaging & Other Applications" set udp-idle-timer 180 set comment "SIP: Yealink, Mitel, Panasonic, Mediatrix : Hier wird die Session aufgebaut (vom Router zum SIP-Proxy)." set color 10 set tcp-portrange 5061:1024-65535 next end
Gruppe definieren mit diesen Objekten:
#### GRUPPE ##### config firewall service group edit "gr_IPplus-Services" set member "tcp_2209" "tcp_5222" "tcp_5269" "tcp_5281" "tcp_8012" "tcp_8070" "tcp_8443" "udp-tcp_16384-65535" "udp-tcp_5075-5076" "udp_1024-65535" "HTTP" "HTTPS" "udp-tcp_5061" set comment "Business Communication Services" set color 10 next end config firewall service group edit "gr_IPplus-Services" set member "tcp_2209" "tcp_5222" "tcp_5269" "tcp_5281" "tcp_8012" "tcp_8070" "tcp_8443" "udp-tcp_16384-65535" "udp-tcp_5075-5076" "udp_1024-65535" "HTTP" "HTTPS" "udp-tcp_5061" set comment "Business Communication Services" set color 10 next end
Routing konfigurieren CLI:
[[
config router static edit 0 set dst 193.135.14.128 255.255.255.224 set gateway 192.168.150.1 set device "internal1" set comment "Netz IPplus SIP und RTP" next edit 0 set dst 193.135.14.160 255.255.255.224 set gateway 192.168.150.1 set device "internal1" set comment "Netz IPplus SIP und RTP" next edit 0 set dst 193.135.14.192 255.255.255.224 set gateway 192.168.150.1 set device "internal1" set comment "Netz IPplus SIP und RTP" next edit 0 set dst 194.209.29.192 255.255.255.224 set gateway 192.168.150.1 set device "internal1" set comment "Netz SIP und RTP" next end
FirewallRegel konfigurieren:
DoS Policy (Optional):
edit 03.04.2024 - 4Tinu
FortiGate und Windows
Was kann ich tun, wenn die Remotedesktop Verbindung zu meinem Windows 10 System immer einfriert oder langsamer wird?
Die Remotedesktopverbindung (RDP) ist die Standardmethode, welche in Windows 10 benutzt, um remote auf andere Windowsclients zuzugreifen. In Windows 10 gibt es ein Problem, bei dem nach dem Herstellen einer RDP-Verbindung zum Computer der Bildschirm nach einiger Zeit zufällig einfriert und man so die RDP Session trennen und sich neu verbinden muss.
RDP verwendet prinzipiell UDP- und TCP-Protokolle mit dem Port 3389. Seit der Veröffentlichung von Windows 8 und Server 2012 wurde RDP v8 eingeführt, welches im RDP Protokoll auch UDP verwendet Der Zweck von UDP ist es, die Verbindung schneller zu machen und die Benutzererfahrung zu verbessern.
in Windows 10 friert der RDP-Client den Bildschirm gelegentlich ein. Dies ist höchstwahrscheinlich auf einen Fehler im Windows 10 zurückzuführen, der nicht in der Lage ist, nahtlos zwischen dem TCP- und dem UDP-Protokoll zu wechseln. Dieses Problem wurde in den Windows 10 Versionen von 1809 bis 1903 berichtet. Mit folgenden Möglichkeiten können wir diesem Problem gegensteuern. Dabei können wir auf der FortiGate eine Regel konfigurieren oder wir lösen das Problem direkt auf den Windows Systemen:
Lösungsansatz auf der FortiGate:
Beim Versuch, einen Remotezugriff auf das hinter der FortiGate gehostete Windows System durchzuführen, wird der Client darauf hingewiesen, dass er versucht, über den UDP-Port 3389 statt über TCP 3389 über FortiGate FortiView-Sessions zuzugreifen. Der Client "spammt" riesigen UDP 3389-Verkehr und dies führt dazu, dass der Microsoft RDP client und die FortiGate einfrieren oder langsamer werden.
Konfiguriere eine Firewallregel welche den Port UDP3389 blockiert.
Konfiguration über das WebGui: |
Service konfigurieren: Firewallregel konfigurieren: |
Konfiguration über die CLI: |
Service konfigurieren: config firewall service custom edit "udp_3389" set category "Remote Access" set comment "RDP UDP Port" set color 10 set udp-portrange 3389:1024-65535 next end Firewallregel konfigurieren: config firewall policy edit 0 set name "block_udp-RDP" set srcintf "ssl.root" <-- Source Interface set dstintf "port1" <-- Destination Interface (Serverstandort) set srcaddr "net-office_ip-pool-support-198.18.10.128-25" <-- Source IP set dstaddr "h_ao-srv-win-ems-198.18.0.103" <-- Destinations IP (Windows System) set schedule "always" set service "udp_3389" <-- Konfigurierter RDP-UDP Port set logtraffic all set groups "gr_support_DE" <-- nur bei SSL-VPN notwendig! set comments "Block UDP 3389" next end |
Darauf achten, dass diese Firewallregel vor der regulären Firewallregel steht, welche den RDP Zugriff auf das Windows System bearbeitet, ansonsten wird diese Regel ignoriert! |
Lösungsansätze beim Windows System:
Um das Einfrieren der RDP-Verbindung in Windows 10 zu beheben, muss das UDP-Protokoll des RDP-Clients mithilfe einer lokalen Gruppenrichtlinie deaktiviert werden.
Vorgehensweise:
Konfiguration Windows System: |
Unter Windows 10 im START Menu das Programm Ausführen starten. (Suchfeld Ausführen eintippen)
|
|
|
Damit die Konfiguration aktiv wird, das Windows System neu starten. |
Wir können auch im Registrationsfile direkt die Konfiguration vornehmen:
Konfiguration Windows System: |
Über Start das Programm Ausführen starten und die Datei |
Nun folgendermassen durchnavigieren um zum DWORD-Wert
*Die Werte bedeuten folgendermassen:
|
Damit die Konfiguration aktiv wird, das Windows System neu starten. |
Erfolgskontrolle:
Folgendermassen kann überprüft werden, ob eine RDP Session mit UDP oder TCP kommuniziert:
Kommunikation mit UDP:
Wenn man auf das Icon der Verbindungsinformationen klickt erscheint bei UDP Verbindungen folgender Hinweis:
Kommunikation mit TCP:
Wenn man auf das Icon der Verbindungsinformationen klickt erscheint bei TCP Verbindungen folgender Hinweis:
edit 03.04.2024 - 4Tinu
Was kann ich tun, wenn ich mit Microsoft Teams Videokonferenzen Unterbrüche oder eine langsame Verbindung habe?
Es ist mal wieder Zeit für ein technisches Rätsel, liebe Security Engineers! Heute geht es um das leidige Thema MS-Teams und Performance-Probleme. Es ist immer wieder ärgerlich, wenn eine Videokonferenz mit nur zwei Teilnehmern reibungslos funktioniert, aber sobald sich mehrere Nutzer zusammenschließen, stockt die Verbindung, die Videos hängen und die Sprachqualität erinnert eher an Terminator mit einem kaputten Funkgerät. Klingt nach keiner angenehmen Erfahrung, oder?
Aber zum Glück gibt es eine Lösung für dieses Problem! Wenn du DoS-Policies konfiguriert hast, wird höchstwahrscheinlich die Anomalie DoS-UDP-FLOOD zuschlagen. Um dem entgegenzuwirken, reicht es aus, eine Ausnahme-Regel für Teams zu erstellen:
Du solltest am besten eine DoS-Ausnahme-Regel mit den Teams-Adressen als Ziel konfigurieren und die UDP-Parameter auf "Monitor" setzen. Es ist leider nicht möglich, die ISDB-Objekte in den DoS-Regeln zu verwenden, daher müssen wir manuell die entsprechenden IP-Adressbereiche in der FortiGate erfassen. Keine Sorge, Microsoft bietet eine offizielle Seite, auf der du die entsprechenden IP-Adressbereiche und Dienste finden kannst. Besuche einfach folgenden Link: Microsoft Teams Adressen und Services
Um es zusammenzufassen, müssen wir also die folgenden Parameter in der FortiGate vorbereiten:
- Erfasse manuell die entsprechenden IP-Adressbereiche und Dienste auf der FortiGate.
- Erstelle eine Ausnahme-Regel für DoS mit den Teams-Adressen als Ziel.
- Setze die UDP-Parameter auf "Monitor".
Mit diesen Schritten sollte die Performance von MS-Teams bei Videokonferenzen mit mehreren Teilnehmern erheblich verbessert werden. Viel Spaß beim Optimieren und genießt flüssige Videokonferenzen ohne Stottern und Terminator-Sounds!
Folgende Parameter müssen auf der FortiGate vordefiniert werden:
IP Adressen Ranges:
- 13.107.64.0/18
- 52.112.0.0/14
- 52.122.0.0/15
- 52.238.119.141/32
- 52.244.160.207/32
Services
- HTTPS (TCP443) --> normalerweise vordefiniert
- HTTP (TCP80) --> normalerweise vordefiniert
- UDP 3478 - 3481
Um flexibler und übersichtlicher zu bleiben, empfehle ich euch je eine Adresse Gruppe und eine Service Gruppe zu bilden:
- Gruppe IP Adressen: gr_ext-MS-TEAMS
- Gruppe Services: gr_MS-TEAMS
Konfiguration im Webgui:
Konfiguration über das WebGui: |
Adressobjekte erstellen:
Wie Adressobjekte erstellt werden, kann in diesem Wiki Artikel nachgelesen werden.
|
Service für Teams definieren:
Gruppe für die Services definieren: Nun über Policy & Objects -> Services -> Service groups -> Create New eine Service Gruppe erstellen:
Nun sind alle Parameter für die DoS Regel vorbereitet. |
DoS Regel konfigurieren:
Mehr Informationen und Grundlagen zu DoS Regeln gibt es HIER im Wiki Nun muss sichergestellt werden, dass die neu angelegte DoS Regel vor die Regel geschoben wird, welche das Teams blockt: Es kann mit Drag&Drop die Regel an die entsprechende Stelle verschoben werden: |
Konfiguration in der CLI:
Konfiguration via CLI: |
IP Adressen Range definieren: config firewall address edit "ext-TEAMS-13.107.64.0-18" set comment "MS-Teams IP Range" set color 20 set subnet 13.107.64.0 255.255.192.0 next edit "ext-TEAMS-52.112.0.0-14" set comment "MS-Teams IP Range" set color 20 set subnet 52.112.0.0 255.252.0.0 next edit "ext-TEAMS-52.238.119.141-32" set comment "MS-Teams IP" set color 20 set subnet 52.238.119.141 255.255.255.255 next edit "ext-TEAMS-52.244.160.207-32" set comment "MS-Teams IP" set color 20 set subnet 52.244.160.207 255.255.255.255 next edit "ext-TEAMS-52.122.0.0-15" set comment "MS-Teams IP Range" set color 20 set subnet 52.122.0.0 255.254.0.0 next end IP Objekt Gruppe mit MS-Teams relevanten IP-Netze/Adressen bilden: config firewall addrgrp edit "gr_ext-MS-TEAMS" set member "ext-TEAMS-13.107.64.0-18" "ext-TEAMS-52.112.0.0-14" "ext-TEAMS-52.122.0.0-15" "ext-TEAMS-52.238.119.141-32" "ext-TEAMS-52.244.160.207-32" set comment "MS-Teams IP Adressen" set color 20 next end |
MS-Teams relevante Services erstellen:
Konfiguration via CLI: |
config firewall service custom edit "udp_3478-3481" set category "VoIP, Messaging & Other Applications" set comment "Teams Service" set color 20 set udp-portrange 3478-3481:1024-65535 next end Service Objekt Gruppe mit MS-Teams relevanten Services bilden: config firewall service group edit "gr_MS-TEAMS" set member "HTTP" "HTTPS" "udp_3478-3481" set comment "MS Teams Service Gruppe" set color 20 next end |
DoS Policy erstellen:
Konfiguration via CLI: |
config firewall DoS-policy edit 0 set name "Teams_[INTERFACE_NAME]" <-- z.B wan1 set comments "Teams Ausnahme" set interface "[INTERFACE_NAME]" <-- z.B wan1 set srcaddr "all" set dstaddr "gr_ext-MS-TEAMS" set service "gr_MS-TEAMS" config anomaly edit "tcp_syn_flood" set status enable set log enable set action block set threshold 2000 next edit "tcp_port_scan" set status enable set log enable set action block set threshold 1000 next edit "tcp_src_session" set status enable set log enable set action block set threshold 5000 next edit "tcp_dst_session" set status enable set log enable set action block set threshold 5000 next edit "udp_flood" set status enable set log enable set threshold 2000 next edit "udp_scan" set status enable set log enable set action block set threshold 2000 next edit "udp_src_session" set status enable set log enable set action block set threshold 5000 next edit "udp_dst_session" set status enable set log enable set action block set threshold 5000 next edit "icmp_flood" set status enable set log enable set action block set threshold 250 next edit "icmp_sweep" set status enable set log enable set action block set threshold 100 next edit "icmp_src_session" set status enable set log enable set action block set threshold 300 next edit "icmp_dst_session" set status enable set log enable set action block set threshold 1000 next edit "ip_src_session" set status enable set log enable set action block set threshold 5000 next edit "ip_dst_session" set status enable set log enable set action block set threshold 5000 next edit "sctp_flood" set status enable set log enable set action block set threshold 2000 next edit "sctp_scan" set status enable set log enable set action block set threshold 1000 next edit "sctp_src_session" set status enable set log enable set action block set threshold 5000 next edit "sctp_dst_session" set status enable set log enable set action block set threshold 5000 next end next end |
Natürlich könnt ihr dafür auch dieses Script gebrauchen. Ihr müsst nur den Parameter [INTERFACE_NAME]
durch das entsprechende Interface (z.B. wan1) ersetzen. Die angelegte DoS Regel, noch vor die Allgemeine DoS Regel schieben, damit diese auch zur Anwendung kommt.
Das Template kann hier auf eigene Verantwortung heruntergeladen werden:
Datei:TMP-fgt DoS-Policy-4-MS-TEAMS.txt
edit 5.07.2024 - 4Tinu | übrigensChatGPD hat mir geholfen beim verfassen dieses Artikel ;-)
FortiGate Konfigurations Templates
Wie kann ich ein Template am einfachsten in die FortiGate einlesen?
Damit du nicht das gesamte Template mühsam per Copy+Paste über die Kommandozeile (CLI) einfügen musst, gibt es eine viel bequemere Möglichkeit im WebGUI der FortiGate. Du kannst das Template einfach importieren!
Hier kannst du ein beliebiges Textfile mit der FortiOS-Syntax hochladen. Klingt praktisch, oder?
So gehst du vor, um das Skript einzulesen:
Konfiguration über das WebGui: |
|
Um das Script einzulesen den folgenden Button anwählen: |
|
Wenn alles geklappt hat, wirst du danach in der Liste der eingelesenen Skripts einen grünen Hacken sehen: |
add 05.07.2024 - 4Tinu
Alle GEO-IP Regionen als Adressobjekte
Mit diesem Template können sämtliche GEO IP Adressobjekte auf einmal in die FortiGate erfasst werden.
- Die Adressobjekte sind alle in der Farbe Rote (Farbcode: 6)
- Syntax der Objekte net_geo-[Region]
- Kommentar der Objekte IP networks from [Region]
- Die Adressobjekte sind auf kein Interface referenziert.
Genereller Syntax des Geo IP Adressobjekt:
Konfiguration via CLI: |
config firewall address edit "net_geo-[Region]" set type geography set comment "IP networks from [Region]" set color 6 set country "[COUNTRY_CODE]" next end |
Insgesamt sind es 250 Adressobjekte welche durch dieses Template eingelesen werden.
Template zum herunterladen:
Datei:TMP-fgt ALL-geoIP-objects.txt
add 6.12.2022 - 4Tinu
System NTP Template
Dieses Template kann verwendet werden um die globalen NTP Dienste auf der FortiGate zu benutzen. Dabei werden die NTP Server des Projekts https://www.pool.ntp.org/zone/ch verwendet.
Folgende NTP Server werden als Custom NTP Server verwendet:
- 1.ch.pool.ntp.org
- 2.ch.pool.ntp.org
Konfiguration via CLI: |
config system ntp set ntpsync enable set type custom config ntpserver edit 1 set server "1.ch.pool.ntp.org" next edit 2 set server "2.ch.pool.ntp.org" next end end |
Die Globale Zeitzone wird auf MEZ (Code 26) konfiguriert
Konfiguration via CLI: |
config system global set timezone 26 end |
Template zum herunterladen:
Datei:TMP-fgt NTP-global-config.txt
add 06.12.2022 - 4Tinu
NTP Adressobjekte Template
Dieses Template legt vier FQDN Adressobjekte von NTP Server in der Schweiz aus dem NTP-Pool Projekt an und fasst diese in eine Gruppe zusammen. Dies kann als Objekt in Firewall Regeln benutzt werden um den NTP Dienst der Umsysteme oder Serversysteme freizuschalten.
- Die Adressobjekte sind alle in der Farbe Rote (Farbcode: 6) abgebildet
- Syntax der Adressobjekte ext_srv_[NUMMER].ch.pool.ntp.org
- Syntax des Gruppenobjekt ext_srv_ch.pool.ntp.org
- Die Adress und Gruppenobjekte sind auf kein Interface referenziert
Genereller Syntax des NTP Adressobjektes:
Konfiguration via CLI: |
config firewall address edit "ext_srv_[NUMMER].ch.pool.ntp.org" set type fqdn set comment "NTP Server Projekt https://www.pool.ntp.org/zone/ch" set color 6 set fqdn "[NUMMER].ch.pool.ntp.org" next end |
Template zum herunterladen:
Datei:TMP-fgt NTP-adressobjects-ntpPool.txt
add 06.12.2022 - 4Tinu
Template für einen IPSEC Site2Site VPN Tunnel
Das folgende Template kann für das erstellen eines Site2Site VPN Tunnels verwendet werden. Informationen über IPSEC Site2Site auf der FortiGate findet man unter folgendem Wiki Artikel:
Das Template ist für eine Seite und muss daher für das zweite Gerät noch gegengleich benutzt werden:
Datei:TMP-fgt IPSEC-Site2SiteVPN.txt
Bidirektionales Template ist in Arbeit und sollte bald verfügbar sein. (Muss noch auf Herz und Nieren überprüft werden ;-) )
add 07.12.2022 - 4Tinu