gerber
Goto Top

FortiGate externe FQDN an verschiedene Webserver

Hi zusammen,

ich habe eine Frage bezüglich einer FortiGate Firewall.

Ich komme aus der Sophos Welt und habe hierfür immer die von Sophos genutzte Webserver Protection genutzt.
Nun muss ich mich allerdings in die FortiGate Firewalls einarbeiten.

Z.B. um mehrere Webdienste auf 443 zu veröffentlichen.

Mein Ziel ist z.B.:

mail.domain.de -> Server1 192.168.150.50
extern.domain.de -> Server 2 192.168.150.60

Beide Webserver arbeiten mit dem Port 443.

Wie kann ich dies auf der FortiGate konfigurieren?

Es gibt von FortiGate einen Artikel, der allerdings nicht zum Erfolg führt (Siehe Anhang)

Dort ist genau das beschrieben, was ich suche.
Allerdings komme ich am Punkt "ldb-method http-host" nicht weiter. Dort lässt er den Befehl einfach nicht zu.

Vllt hat ja jemand von euch bereits solch eine Konfiguration durchgeführt.


Danke euch im Voraus.

Grüße
Phil
fg

Content-ID: 568424

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

Ausgedruckt am: 25.11.2024 um 12:11 Uhr

Dani
Dani 29.04.2020 um 18:36:59 Uhr
Goto Top
Moin,
das Zauberwort heißt Reverse Proxy. Ob das mit FortiGate geht, weiß ich nicht. Aber das solltest du mit dem Stichwort problemlos überprüfen können.


Gruß,
Dani
7Gizmo7
7Gizmo7 29.04.2020 um 19:24:14 Uhr
Goto Top
Hi,

was du willst geht nur mit einer FortiWeb. Die Fortigate ist eine Firewall mit Portfreigaben.

Mit freundlichen Grüßen
Gerber
Gerber 29.04.2020 um 20:29:09 Uhr
Goto Top
Hi,

Danke euch.

@Dani

Jow, ist mir klar.
Wie bereits beschrieben habe ich ständig Reverse Proxy Konfigurationen unter sophos umgesetzt.

@7Gizmo7

Ja die Fortiweb ist natürlich extra dafür gemacht.

Allerdings muss ich euch etwas widersprechen.
Die Fortigate kann wohl auch Reverse Proxy spielen. Im kleinen Maß.

Es kann z. B. Keine Authentifizierung vorgeschaltet werden und es muss alles vom Webservice abgevespert werden.

Im Zusammenhang mit dem wort findet man im Faq Artikel dazu, auf der CLI.


Ebenfall habe ich euch ja bereits ein Screenshot angehängt in dem einfaches Domain Routing beschrieben wird.

Es läuft nur leider nicht, wie auch beschrieben.

Grüße
Phil
7Gizmo7
7Gizmo7 29.04.2020 um 23:44:46 Uhr
Goto Top
Hi,

naja du willst die HTTP host load balancing Funktion "vergewaltigen" . face-wink Hast du denn die Funktion Load Balance angeschaltet ?

Mit freundlichen Grüßen
Gerber
Gerber 30.04.2020 um 08:04:33 Uhr
Goto Top
Morgen,

ich habe hier ein Testsystem liegen mit dem ich mal schauen will, was ich alles so anstelle kann face-wink.

Naja wie oben im Screenshot eben beschrieben habe ich es auf der CLI versucht.
Komme aber nicht weiter.

Grüße
Phil
Gerber
Gerber 30.04.2020 um 08:29:16 Uhr
Goto Top
Okay bin nun ein Schritt weiter gekommen.
Das Problem war, dass die Firewall auf FLow stand und nicht auf Proxy.

Nun konnte ich es über die CLI wie oben beschrieben konfigurieren, allerdings will es nicht richtig :D.
BernhardMeierrose
BernhardMeierrose 30.04.2020 um 08:57:36 Uhr
Goto Top
Moin,

Du hast da offenbar den falschen Artikel zu Rate gezogen. Der Artikel dreht sich darum, wie du eine Loadbalancer aufbaust. Also eine externe Adresse wird auf mehrere interne Adressen verteilt.

Gruß
Bernhard
Gerber
Gerber 30.04.2020 um 08:59:35 Uhr
Goto Top
Hi,

danke dir.
Ja dies will ich ja so ein wenig machen :D.

Ich habe nun nochmals ein paar Tests durchgeführt und war mit dem Port 80 erfolgreich.

Hier konnte ich schön die DOmains von extern über den LB auf verschiedene Webserver leiten.

Allerdings mit dem 443 Port nicht möglich.

Grüße
Phil
Benandi
Benandi 30.04.2020 um 13:22:48 Uhr
Goto Top
Hallo Gerber,

liege ich richtig, wenn ich vermute, dass dir nur eine öffentliche IP zur Verfügung steht?
Wir setzen bei uns FortiGates ein, haben jedoch den Luxus mehrerer öffentlicher IP-Adressen. Daher "durfte" ich deinen konkreten Anwendungsfall bis dato noch nicht eruieren. Der Ansatz über die VIP ist aber schon mal richtig.

VIPs bei help.fortinet.com (5.4) sowie das Handbuch (zu 6.0) beschreiben "Dynamic VIP according to DNS translation". Für mich klingt dieser Typ VIP eher nach dem, was du suchst, denn Load Balancing hat andere Ziele.

Noch besser dürfte dir diese Methode gefallen:
Dabei ist zuerst ein Objekt pro FQDN anzulegen. Den FQDN in der VIP (6.0) trägst du dann per ID ein. Das muss jedoch zwingend per CLI gemacht werden (es geht nämlich nicht alles über die GUI. Das habe ich schmerzhaft bei BGP gelernt.). Davon legst du dann pro Webserver jeweils einen an und baust eine entsprechende Policy, um den eingehenden Traffic an die beiden Webserver weiter zu leiten.

Weil es später relevant werden könnte, verrate uns Hilfswilligen bitte das Modell, die Version des FortiOS und ob du mit VDOMs arbeitest. Der Betriebsmodus ist mittlerweile "Proxy" und nicht mehr "Flow", wie ich schon lesen durfte face-smile
Es handelt sich um eine Teststellung / Spielwiese ohne einen konkreten Hintergrund. Ist das richtig? Die von dir beschriebene Thematik resultiert aus selbst gestellten Anforderungen, um dich tiefer in die Materie einzuarbeiten?
Je nach dem, was Phase ist, würde ich auch mehr Informationen anfordern, um einen sinnigen oder geeigneteren Lösungsansatz vorschlagen zu können. Was wir hier besprechen, ist erst mal Routing / Firewalling. "Webserver Protection" von Sophos fällt meiner Meinung nach nicht da rein, weshalb ich Ansätze, dies auf der FortiGate nachzubilden, nicht verfolgt habe.

Viel Spaß beim Basteln und Grüße
Benandi
Gerber
Gerber 02.05.2020 aktualisiert um 14:17:15 Uhr
Goto Top
Hi Benandi,

danke für deine Antwort.

liege ich richtig, wenn ich vermute, dass dir nur eine öffentliche IP zur Verfügung steht?
Hier liegst du genau richtig. Es ist nur eine Public IP am Anschluss vorhanden und es werden mehrere Webserver auf dem Port 443 gehostet.


"Dynamic VIP according to DNS translation". Für mich klingt dieser Typ VIP eher nach dem, was du suchst, denn Load Balancing hat andere Ziele.

Ja. Load Balancing hat andere Funktionen. Allerdings habe ich es einfach mal darüber getestet.

Mit dem Dynamic VIP weiß ich ehrlich gesagt gerade noch nicht viel damit anzufangen. Was macht dieser Typ genau?

Noch besser dürfte dir diese Methode gefallen:
Dabei ist zuerst ein Objekt pro FQDN anzulegen. Den FQDN in der VIP (6.0) trägst du dann per ID ein. Das muss jedoch zwingend per CLI gemacht werden (es geht nämlich nicht alles über die GUI. Das habe ich schmerzhaft bei BGP gelernt.). Davon legst du dann pro Webserver jeweils einen an und baust eine entsprechende Policy, um den eingehenden Traffic an die beiden Webserver weiter zu leiten.

Na dies klingt doch mal ganz gut :D.
Ich habe es nun mal zum Test konfiguriert.

Du meinst es funktioniert damit tatsächlich, dass z.B. anhand von mail.domain.de an einen Server weitergeleitet wir und z.b. extern.domain.de an einen anderen Server?

Okay habe gerade gemerkt, dass ich eine Fehlermeldung bekomme beim ändern des Typs. Typ der VIP kann wohl nicht auf FQDN geändert werden.

Weil es später relevant werden könnte, verrate uns Hilfswilligen bitte das Modell, die Version des FortiOS und ob du mit VDOMs arbeitest. Der Betriebsmodus ist mittlerweile "Proxy" und nicht mehr "Flow", wie ich schon lesen durfte

Aber sicher:

FortiGate 30E mit OS v6.0.4 build 0231

Es handelt sich um eine Teststellung / Spielwiese ohne einen konkreten Hintergrund. Ist das richtig? Die von dir beschriebene Thematik resultiert aus selbst gestellten Anforderungen, um dich tiefer in die Materie einzuarbeiten?

Yes genau. Wie bereits beschrieben komme ich aus der Sophos Welt und muss mich nun auf FortiGate einarbeiten.
Deswegen ist es auch nur eine kleine 30E, welche ich zuhause stehen habe und als Spielwiese dient.

Je nach dem, was Phase ist, würde ich auch mehr Informationen anfordern, um einen sinnigen oder geeigneteren Lösungsansatz vorschlagen zu können. Was wir hier besprechen, ist erst mal Routing / Firewalling. "Webserver Protection" von Sophos fällt meiner Meinung nach nicht da rein, weshalb ich Ansätze, dies auf der FortiGate nachzubilden, nicht verfolgt habe.

Ja hast du Recht. Ich habe dieses Feature von Sophos eben nur hier genannt, da ich dies immer oft eingesetzt hatte.
Wie gesagt stecken dort natürlich mehrere Sicherheit Features mit im Spiel, was dann nichts mehr mit Firewall und Routing zu tun hat.

Es war halt eine geniale Sache bei Sophos, da man so die Reverse Proxy Funktion nutzen konnte und die Virtuellen Webserver nach außen stehn.

Wie gesagt geht es mir z.B. in 80 Prozent der Fälle darum einen Exchange Sauber nach außen sicher zu konfigurieren.

- OWA
- Autodiscover
- Annywhere

Ebenso gibt es Zeiterfassung oder andere Dienste, welche ebenfalls über den Port 443 auf einen anderen Server gehen sollen.
Ich tue mich immer mit meinem Gewissen etwas schwer einfach ein Port Forwarding zu konfigurieren.

Grüße
Phil
bastian23
bastian23 03.05.2020 um 07:36:00 Uhr
Goto Top
Ich habe das mit einem Portforward auf ne kleine VM gelöst. Hier ist HAproxy installiert,
die macht mir dann genau diese gewünschte Zuweisung.
Gerber
Gerber 03.05.2020 aktualisiert um 10:44:10 Uhr
Goto Top
Hi Bastian23,

Danke dir.

Daran habe ich auch bereits gedacht.
Leider habe ich mit solch Lösungen noch nicht viel gearbeitet.

Ich kenne z. B. Noch gobetween oder Traefik.

Hast du eine Linux VM in einem eigenen Vlan hochgezogen oder Hardwaretechnisch davor geschaltet?

Für mich wäre halt eine Weboberfläche ganz gut, da ich in der Linux Welt nicht so sehr unterwegs bin, aber sowas natürlich dann korrekt eingerichtet sein sollte.

Edit: ich habe gerade gesehen, dass es für habe proxy eine GUI gibt.

Grüße
Phil
bastian23
bastian23 03.05.2020 um 10:57:32 Uhr
Goto Top
So sieht es bei mir aus:

INAC -> Portforward -> haprox -> Webserver

INAC -> 443/tcp -> 10.10.10.2 (haproxy)
-> mueller.hans.org -> 10.10.10.12
-> markus.hans.org -> 10.10.10.14
-> michael.hans.org -> 10.10.10.15


Ich mache das ganze per VI, da es wenige Zeilen sind.
Der haproxy läuft auf einem aktuellen Debian System.
Gerber
Gerber 03.05.2020 um 11:38:09 Uhr
Goto Top
Ok.

Inac ist deine Firewall?

Du hast den Ha Proxy also im gleichen Netzt und nicht in der DMZ stehen?

Ich denke ich werde mir den Ha Proxy auch mal ansehen. Dieser ist ja mit Debian und als vm ziemlich schnell installiert.
Finde es etwas schade, dass dies FortiGate nicht von Haus Uäaus kann.

Wenn ich z.B. opnsense oder pfsense anschaue ist es dort z.B. auch vorhanden.


Grüße Phil
Pitbullracer
Pitbullracer 03.05.2020 aktualisiert um 20:38:52 Uhr
Goto Top
Moin,

lässt sich über "Policy & Objects" > "Virtual Servers" lösen.
Haben wir an der Stelle auch gelöst mit 1 öffentlichen IP.

Konfig wie folgt (entsprechender Eintrag je Server/Adressen und je Port!)

vs

Hier nochmal ergänzt um 443
vs_https
Gerber
Gerber 03.05.2020 um 17:02:55 Uhr
Goto Top
@Pitbullracer:

danke dir für den Screen.
Dies ist ja genau das was ich über die CLI konfiguriert habe. Hier wird es über die Load Balancer FUnktion der FortiGate gemacht.

Allerdings hat es bei mir nur mit dem Port 80 und nicht mit dem Port 443 funktioniert.

Grüße
Phil
Pitbullracer
Pitbullracer 03.05.2020 um 20:41:57 Uhr
Goto Top
Moin,

hab das ganze noch um die Konfig für Port 443 ergänzt.
Sichergestellt, das nichts anderes auf 443 läuft?
Admin-Port für https geändert?
Gerber
Gerber 03.05.2020 um 21:06:52 Uhr
Goto Top
Hoi,

Ja sollte eigentlich so gewesen sein.
Admin Port und VPn Port ist geändert.

Alle anderen Vips wurden gelöscht.

Ich prüfe es morgen nochmals.
Gerber
Gerber 04.05.2020 um 10:01:12 Uhr
Goto Top
@Pitbullracer

Also ich habe gerade nochmals auf die Firewall geschaut und musste feststellen, dass bei mir der PUnkt HTTPs wie bei dir unter Virtual Servers fehlt.

Unter dem Punkt Type.

Aus diesem Grund wird auch das ganze nicht funktionieren.

Grüße
Phil
Gerber
Gerber 09.06.2020 um 06:36:47 Uhr
Goto Top
Moin zusammen,

ein kurzer Nachtrag zum Thema:

Ich habe nochmals die Firmware aktualisiert und nun funktioniert Load Balancing Funktion auch mit HTTPs.

Grüße
Phil