jahman
Goto Top

Fortigate 60 Config

Hallo,

bin seit kurzer Zeit stolzer Besitzer einer Fortigate 60.

Habe sie soweit auch schon eingerichtet, bin auch bereits online damit.

Habe nur eine Kurze Frage bzgl. der Policies etc.

Also...

Unter internal -> wan1 Policies habe ich nur 1 Policy. die wie folgt aussieht.

Source Dest Schedule Service Action
MyInter all always MyGroup1 ACCEPT

Unter wan1 -> internal Policies habe ich bisher keine Policies eingetragen.

Information Adressbereiche/Gruppen:

MyInter ist mein interner Adressbereich von 172.....
all steht auf 0.0.0.0/0.0.0.0
MyGroup1 habe ich einige Services zusammengefasst.

Meine Frage ist nun, kann ich dies so lassen oder muss ich bei WAN1 -> internal unbedingt was eintragen ?. Wenn nichts eingetragen ist, werden doch alle von aussen kommenden Events geblockt ? Es sei denn sie sind von Innen angefordert. ist das soweit korrekt ?.

Desweiteren wollte ich einen Port freischalten z.b. 8000.

Bin wie folgt vorgegangen:

Services/Custom/New
Name: Test8000
Protokoll: TCP
Source Port 1024 - 65535
Destination Port: 8000 - 8000

Habe dann eine neue Policy unter wan1 -> internal erstellt.

Source Dest Schedule Service Action
all MyInter always test ACCEPT

Dies ist auch die einzige Policy in WAN1 -> Internal.

Wenn ich nun mittels der GRC Website prüfe ob dieser Port offen ist bekomme ich immer "STEALTH" angezeigt. Ist das korrekt ? oder muesste nun nicht dort "OPEN" stehen ?

Vielen Dank für Eure Hilfe schonmal vorab.

Content-Key: 32822

Url: https://administrator.de/contentid/32822

Ausgedruckt am: 29.03.2024 um 12:03 Uhr

Mitglied: jensw2000
jensw2000 18.05.2006 um 23:06:08 Uhr
Goto Top
Moin Jahman,

Meine Frage ist nun, kann ich dies so lassen oder muss ich bei WAN1 -> internal unbedingt.was eintragen ?. Wenn nichts eingetragen ist, werden doch alle von aussen kommenden Events geblockt ? Es sei denn sie sind von Innen angefordert. ist das soweit korrekt ?.

Das ist korrekt.
Die Fortigate blockt (wie die meisten brauchbaren Firewalls) generell alles, was nicht explizit erlaubt wurde. Wenn also Niemand von extern auf das interne Netz zugreifen soll, dann benötigst du keine Wan1 > Internal Rule.

Das bringt uns zum 2. Teil deiner Frage ...
Desweiteren wollte ich einen Port freischalten z.b. 8000. Bin wie folgt vorgegangen: ...

Wenn du den Port 8000 von extern zulassen möchtest, dann ist das Erstellen einer entsprechenden External > Internal Rule nur die halbe Arbeit.
Zusätzlich benötigst du einen "Virtual Server".
Diesen kannst du entweder per static NAT von einer freien festen exteren IP Adresse einrichten oder einfach per Port-Forwarding. Wenn nur wenige Ports nörig sind, oder du keine freie feste externe IP mehr hast, dann ist Portforwarding die Lösung.

Richte dir einfach einen Virtual Server ein (unter Firewall > Virtual IP)

Name: <Mein_TCP_8000_Dienst>
External Interface: EXTERNAL
Type: Port Forwarding
External IP Address: 0.0.0.0
External Service Port: 8000
Map To IP: 172.16.1.1 << die interne IP deines Servers, des den Dienst auf Port 8000 bereitstellt
Map To Port: 8000
Protocol: TCP

Der Service sieht so aus:

Name: TCP_8000
Protocol Type: TCP
Source Port: 1 - 65535
Destination Port: 8000 - 8000

Für den Server der den Dienst auf TCP Port 8000 bereitstellt erstellst du dir unter Firewall > Address am besten einen benannten Host:

Address > Create New
Address Name: MeinServer
IP Range: 172.16.1.100/255.255.255.255 << Hier die IP deines "Servers" und Host-Maske !!!

Und zu guter Letzt die Firewall Policy:
Firewall > Policy > External > Internal

Source:
Interface / Zone: external
Address Name: all
Destination:
Interface/Zone: internal
Address Name: MeinServer
Schedule: always
Service: TCP_8000
Action: Accept

[x] NAT [x] Dynamic Pool

Protection Profile und Log nach Ermessen ....

Das wars dann auch schon.

Wenn ich nun mittels der GRC Website prüfe ob dieser Port offen ist bekomme ich immer "STEALTH" angezeigt. Ist das korrekt ? oder muesste nun nicht dort "OPEN" stehen ?

Der externe Portscanner wird Open anzeigen, sobald die Konfiguration vollständig ist, und der interne Dienst (auf Port 8000) gestartet ist.

Schöne Grüße,
Jens
Mitglied: Jahman
Jahman 22.05.2006 um 11:55:38 Uhr
Goto Top
Danke erstmal für die Informationen.

Werde ich die Tage mal testen.

Vielen Dank vorab.
Mitglied: sunblocker
sunblocker 23.05.2006 um 18:49:10 Uhr
Goto Top
Hallo zusammen

@ Jahman
bist du so zu einer Lösung gekommen?
Ich habe das selbe Problem, aber ich konnte das Forwarding auch mit dieser Hilfe nicht konfigurieren.

Gruss
Sunblocker
Mitglied: jensw2000
jensw2000 23.05.2006 um 21:12:24 Uhr
Goto Top
@sunblocker
installiere dir mal den Kiwi Syslog Daemon und trage die IP des Syslog Servers auf der Fortigate ein. In den Log-Optionen setzt du dann beim Syslog alle Häkchen.
Anschließend versuch mal von extern auf den TCP Port 8000 deiner aktuellen WAN IP IP zuzugreifen.
Eventuell siehst du dann selbst wo der Fehler steckt. Andernfalls poste mal das betreffende Stückchen Trace. Dann sehe ich mir das mal an.

Alternativ kannst du auch per SSH (bzw. Telnet) auf deine Fortigate gehen und mit
"diag sniffer interface internal and protocol tcp and port 8000" (s. Doku, Syntax variiert in den Firmware-Versionen) schauen wo es klemmt. Das Syslog ist aber meistens aussagekräftiger.

Schöne Grüße,
Jens
Mitglied: sunblocker
sunblocker 24.05.2006 um 00:00:19 Uhr
Goto Top
Hallo Jens

Vielen Dank dass du dir Zeit nimmst für mein Problem!

Ok, ich habe es mit dem sniffer versucht. Den SSH zugang kenne ich, da ich momentan per SSH auf die Box Verbinde und dann einen Tunnel mache face-smile Aber dies ist keine endgültige Lösung.

BTW: Ich möchte eine VNC Verbindung aufbauen, desshalb Port 5900.

Also hier mal mein Versuch:
(diag)# sniffer filters 'tcp and port 5900'
< Starten der VNC Verbindung, dann habe ich folgenden Output>
241.766026 213.221.239.XX.14070 -> 217.11.45.XX.5900: syn 3346223691

Das wäre soweit ok, von meiner 213.xxx IP nach 217.xxx auf Port 5900. Allerdings wird der Traffic dann nicht in das interne Netz geleitet.

Hast Du noch eine Idee?

Beim Syslog habe ich nicht rausgefunden welchen "Level" ich einstellen muss, um diese Infos zu erhalten.

Gruss
Sunblocker
Mitglied: jensw2000
jensw2000 24.05.2006 um 09:29:40 Uhr
Goto Top
Deine Fortigate antwortet nicht.
Ein funktionierender TCP Verbindungsaufbau funktioniert so:
Initiiert wird die Kommunikation mit einem SYN des "Clients". Wenn die Fortigate die Verbindung akzeptiert sendet sie ein SYN ACK an den Client zurück. Der Client quittiert den Empfang des SYN ACK mit einem ACK.
Wenn die Verbindung nicht zustandekommt, weil der VNC Server u.U. nicht läuft, dann sollte die Fortigate (meiner Meinung nach) mit einem SYN NAK antworten.
Deine Fortigate antwortet jedoch nicht ( versteckt sich :o) ) und tut so, als wäre auf Port 5900 überhaupt nichts zu holen...
Daher vermute ich (durch die Ferne) das die Pakete durch eine Firewall-Regel gedroppt werden. Es kann natürlich noch viele weitere Ursachen geben. z.B. könnte die Maschine, auf der dein "VNC-Server" läuft auf ein anderes Gateway zeigen, oder garkeine Route nach draußen kennen. In diesen Fall kommen ebenfalls keine Antwortpakete.

Jetzt kommst du nur mit Loggen weiter.
Aktiviere mal in allen relevanten Firewall-Regeln sowie auf allen Interfacen die Option "Log" bzw. "Log Traffic". In den Log Einstellungen > Syslog trägst du einfach die IP des Rechners ein, auf dem dein Syslog-Dienst läuft. Der default Syslog Port ist UDP 514.
Wähle den Level "Information". Bei Facility kannst du wahlfrei einen Eintrag wählen. Das ist einfach nur die Log-Quelle. Diese kann man frei wählen, um verschiedene Geräte auf einem Syslog-Server auseinanderzuhalten.
Nun musst du nur noch in den Log-Filtereinstellungen alle Haken in der Spalte SYSLOG setzen und schon hechelt er los :o)

Wie gesagt, entweder gibt es eine Rule die die Pakete verschluckt oder dein virtueller Server (Virtual IP) zeigt auf eine falsche Machine oder auf der Maschine läuft kein VNC-Server oder das Standard-Gateway auf dem Server ist falsch bzw. nicht vergeben.

Das sollte man aber mit dem Log herausfinden.

Schöne Grüße,
Jens
Mitglied: jensw2000
jensw2000 24.05.2006 um 10:34:28 Uhr
Goto Top
kleiner Nachtrag...

Möglicherweise hast du auch nur übersehen, in der WAN1 > Internal Rule ein NAT Haken zu setzen ( [x] NAT [x] dynamic Pool )

Dein Client kommt dann mit seiner externen IP beim VNC-Server an.
Der VNC-Server "hört" aber nur auf IP Adressen, die an ein Interface des VNC-Server Hosts gebunden sind. Die Pakete kommen in dem Fall zwar beim VNC-Server Host an, aber der VNC-Server fühlt sich nicht "angesprochen".

Schöne Grüße,
Jens
Mitglied: sunblocker
sunblocker 24.05.2006 um 20:58:55 Uhr
Goto Top
Hallo Jens

Ich habe deine Vorschläge mal umgesetzt...
Zu TCP: Mir ist bekannt wie ich eine TCP Verbindung zustande kommt. Ich habe auch schon mit verschiedenen Firewalls gearbeitet (Cisco Pix, Netfilter etc.) Aber die Fortigate ist mir neu...
Zum VNC Server: Das Gateway ist korret (gibt nur eines in dem Netz). Das mit dem Port könnte ein Problem sein: Der VNC Server horcht nur auf der IP 192.168.100.1 (interne Adresse des Servers). Aber ich habe in diesem System ja kein Interface, welches auf die 217.X (externe fixe IP hört!)
Das Forwarding sollte doch das Packet folgendermassen "umbiegen":
Absender Firewall extern Absender Server Intern
213.xy:5648 -> 217.xy:5900 ----> 213.xy:5648 -> 192.168.100.1:5900

Oder täusche ich mich jetz?

Nun zum Logging:
Ich habe nun Syslog zum laufen gebracht. Danke für den Tipp!
Eine Verbindung auf die externe Firewall Adresse per HTTPS wir im Syslog Protokolliert (dieser Zugang ist auch aktiviert). Das sieht folgendermassen aus:
DATE=2006-05-24 TIME=20:13:05 DEVICE_ID=FGT-602103240387 LOG_ID=0001000002 TYPE=TRAFFIC SUBTYPE=SESSION PRI=NOTICE SN=126150 DURATION=8 POLICYID=0 PROTO=6 SERVICE=80/TCP STATUS=DENY SRC=213.x.x.x SRCNAME=38-x-x-x-LAN.CH DST=217.x.x. DSTNAME=ADSL-x.CYBERNET.CH SRC_INT=N/A DST_INT=WAN1 SENT=48 RCVD=0 SRC_PORT=14411 DST_PORT=80 VPN=N/A TRAN_IP=0.0.0.0 TRAN_PORT=0

Eine Connect auf Externe IP:5900 führt zu keinem eintrag im Syslog!
(Und in der SSH Konsole beim Sniffen ist es wie beim früheren Post von mir)
Auch wenn ich auf einen zufälligen Port Verbinde, erhalte ich kein Syslog eintrag.

==> Fazit!
Die Firewall dropt meine Anfrage! (naja, dass ist nicht neues. sonst würde es ja gehen face-smile

Nochmals alle Regeln/Ports die ich definiert habe:

Address:
Name IP/Netmask Interface
Server 192.168.100.1/255.255.255.255 internal

Ist die /24 Netzmaske richtig? Ich denke schon..?!?

Service:
Service Name Detail
VNC tcp/1-65535=>5900
Irgend ein Source Port nach 5900...

Policy:
wan1 -> internal
Source Dest Schedule Service Action Enable
WAN1_All Server Always VNC ACCEPT X

Virtual IP:
Name IP Service Port Map to IP Map to Port
VNC_on_Server 217.X.x.x tcp/5900 192.168.100.1 tcp/5900

Das sind alle einstellungen die ich gemacht habe.
Kannst du einen Fehler entdecken?

Gruss & Vielen Dank schon im Voraus!!

Sunblocker

p.s. und wenn wir keine Lösung finden:
Habe Fortigate 60 günstig zu verkaufen ;)
Mitglied: jensw2000
jensw2000 29.05.2006 um 23:32:11 Uhr
Goto Top
Die 24 Maske ist richtig. Es handelt sich bei der Adresse 192.168.100.1 um eine Hostadresse und nicht um ein Subnet. Hostadressen werden immer voll maskiert.

Zu unserem kleinen Problemchen :o|

Es sieht alles richtig aus. Jetzt kann ich mir nur noch vorstellen, das bei der wan1 -> internal Rule das Häkchen für NAT fehlt oder das dir ggf. die Intrusion Detection bzw. Intrusion Prevention Regeln einen Streich spielen.

Schau bitte noch einmal nach dem NAT Haken. Wenn er gesetzt ist, dann deaktiviere mal testweise IDS / IPS. Sollte das auch nicht helfen, dann hänge mal testweise einen anderen Dienst per PF hinter die Firewall (nen Webserver oder so).

Ich bin diese Woche im Urlaub. Falls es bis zur nächsten Woche immernoch nicht funktioniert, teste ich das Ganze mal auf einer FG bei uns in der Firma. Da habe ich zwar nur 100er und 200er zur Verfügung, aber das ist für das Portforwarding nicht relevant.