KKeine Bearbeitungszusammenfassung |
|||
(22 dazwischenliegende Versionen von 8 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{Archivhinweis|UTM/APP/Reverse_Proxy}} | |||
{{DISPLAYTITLE:Reverse Proxy}} | |||
== Informationen == | |||
Letze Anpassung zur Version: '''11.7''' | |||
<br> | |||
Bemerkung: Artikelanpassung | |||
<br> | |||
Vorherige Versionen: - | |||
<br> | |||
=Reverse Proxy= | =Reverse Proxy= | ||
==Webinar== | |||
{{#ev:youtube|https://www.youtube.com/watch?v=qYLUkJY8sAI|900|center|Securepoint Rebinding Prevention HTTPS}} | |||
==Einleitung== | ==Einleitung== | ||
Mit einem Reverse-Proxy können Sie aus dem Internet heraus, den Zugriff auf die "internen" Webserver steuern. Im Gegensatz zu einer Portweiterleitung, | Mit einem Reverse-Proxy können Sie aus dem Internet heraus, den Zugriff auf die "internen" Webserver steuern. Im Gegensatz zu einer Portweiterleitung, können über den Reverse-Proxy dedizierte Filterregeln erstellt werden. Zudem können, bei nur einer öffentlich IP-Adresse, mehrere interne Webserver anhand der Domäne angesprochen werden. | ||
Ein weiteres Highlight bietet das Load-Balancing. Server können zu Gruppen zusammen gefasst werden, auf die die Anfragen dann mit dem gewählten Algorithmus (z.B. Round-Robin) verteilt werden. | Ein weiteres Highlight bietet das Load-Balancing. Server können zu Gruppen zusammen gefasst werden, auf die die Anfragen dann mit dem gewählten Algorithmus (z.B. Round-Robin) verteilt werden. | ||
Zeile 14: | Zeile 29: | ||
==Vorüberlegungen== | ==Vorüberlegungen== | ||
'''Achtung:''' | '''Achtung:''' | ||
Planen Sie auch https an einen Webserver über den | Planen Sie auch https an einen Webserver über den Reverse-Proxy weiterzuleiten, so müssen Sie zuerst den Port des Userinterfaces umlegen. Gehen Sie dazu auf "Netzwerk -> Servereinstellungen" und ändern den Port auf z.B: 4443 ab. | ||
* Damit Sie danach noch auf das Userinterface zugreifen können, benötigen Sie dann natürlich eine entsprechende Regel. | * Damit Sie danach noch auf das Userinterface zugreifen können, benötigen Sie dann natürlich eine entsprechende Regel. | ||
Zeile 20: | Zeile 35: | ||
Für https benötigt der Reverse-Proxy natürlich ein Zertifikat damit er die verschlüsselte Verbindung entgegen nehmen kann. | Für https benötigt der Reverse-Proxy natürlich ein Zertifikat damit er die verschlüsselte Verbindung entgegen-nehmen kann. | ||
* Gehen Sie dazu auf "Authentifizierung -> Zertifikate" und erstellen ein neues Zertifikat. '''Wichtig:''' der Name des Zertifikates muss so benannt werden wie die Domäne, bei uns also web.test.local. | * Gehen Sie dazu auf "Authentifizierung -> Zertifikate" und erstellen ein neues Zertifikat. '''Wichtig:''' der Name des Zertifikates muss so benannt werden wie die Domäne, bei uns also web.test.local. | ||
Zeile 49: | Zeile 64: | ||
Ein Portforwarding ermöglicht nur eine 1:1 Beziehung, der Port wird immer an den einen Server durchgeschleift. Bei einem Reverse-Proxy ist das anders, hier gibt es die Beziehungen: | Ein Portforwarding ermöglicht nur eine 1:1 Beziehung, der Port wird immer an den einen Server durchgeschleift. Bei einem Reverse-Proxy ist das anders, hier gibt es die Beziehungen: | ||
* 1:1 - Eine Domäne/IP : | * 1:1 - Eine Domäne/IP : Ein Server | ||
* 1:N - Eine Domäne/IP : | * 1:N - Eine Domäne/IP : Mehrere Server (Load Balancing) | ||
* N:1 - Mehrere Domänen/IPs : | * N:1 - Mehrere Domänen/IPs : Ein Server | ||
* N:M - Mehrere Domänen/IPs : | * N:M - Mehrere Domänen/IPs : Mehrere Server (Load Balancing) | ||
Nun ist auch klar warum sich die Server in Gruppen befinden, Sie können, müssen aber nicht mehrer Objekte in diese Gruppen legen. | Nun ist auch klar warum sich die Server in Gruppen befinden, Sie können, müssen aber nicht mehrer Objekte in diese Gruppen legen. | ||
Zeile 70: | Zeile 85: | ||
* dstdomain: Gibt die Domäne/IP des Ziel-Servers an (web.test.local oder 192.168.6.19) | * dstdomain: Gibt die Domäne/IP des Ziel-Servers an (web.test.local oder 192.168.6.19) | ||
* srcdomain: Gibt die Domäne des Absenders an (securepoint.de) | * srcdomain: Gibt die Domäne des Absenders an (securepoint.de) | ||
* srcdom_regex: Regex auf die | * srcdom_regex: Regex auf die Domäne (securepoint) | ||
* proto: Protokoll (http, https | * proto: Protokoll (http, https) | ||
* time: Zeitangabe (M T W H F 9:00-17:00) | * time: Zeitangabe (M T W H F 9:00-17:00) | ||
Zeile 98: | Zeile 113: | ||
Hier können nun die Zuweisungen von den ACLs, der Aktion "Allow/Deny", der Reihenfolge, den Verteilungsalgorithmus sowie der Bandbreite für dem Server erfolgen. | Hier können nun die Zuweisungen von den ACLs, der Aktion "Allow/Deny", der Reihenfolge, den Verteilungsalgorithmus sowie der Bandbreite für dem Server erfolgen. | ||
Die ACLs werden der Reihenfolge nach abgearbeitet, ich kann sie entweder zulassen "Allow" oder verweigern " | Die ACLs werden der Reihenfolge nach abgearbeitet, ich kann sie entweder zulassen "Allow" oder verweigern "Deny". Die ACLs vom Typ "Deny" sollten in der Reihenfolge vor den "Allow" ACLs kommen. | ||
[[Datei:Utm-reverseproxy6.png|center|]] | [[Datei:Utm-reverseproxy6.png|center|]] | ||
===Allg. Einstellungen=== | ===Allg. Einstellungen=== | ||
Hier kann festgelegt werden ob HTTP/HTTPS oder beides verwendet werden soll, die Ports sowie das Zertifikat für den entsprechenden Server. | |||
[[Datei:Utm-reverseproxy7.png|center|]] | [[Datei:Utm-reverseproxy7.png|center|]] |
Aktuelle Version vom 16. April 2021, 12:35 Uhr
notempty
Informationen
Letze Anpassung zur Version: 11.7
Bemerkung: Artikelanpassung
Vorherige Versionen: -
Reverse Proxy
Webinar
Einleitung
Mit einem Reverse-Proxy können Sie aus dem Internet heraus, den Zugriff auf die "internen" Webserver steuern. Im Gegensatz zu einer Portweiterleitung, können über den Reverse-Proxy dedizierte Filterregeln erstellt werden. Zudem können, bei nur einer öffentlich IP-Adresse, mehrere interne Webserver anhand der Domäne angesprochen werden.
Ein weiteres Highlight bietet das Load-Balancing. Server können zu Gruppen zusammen gefasst werden, auf die die Anfragen dann mit dem gewählten Algorithmus (z.B. Round-Robin) verteilt werden.
Ziel
Ziel dieses Howtos ist es über den Reverse-Proxy auf einen internen Webserver zuzugreifen.
- Webserver-IP: 172.16.0.91
- Externe-IP: 192.168.6.19
- Domäne: web.test.local -> 192.168.6.19
Vorüberlegungen
Achtung: Planen Sie auch https an einen Webserver über den Reverse-Proxy weiterzuleiten, so müssen Sie zuerst den Port des Userinterfaces umlegen. Gehen Sie dazu auf "Netzwerk -> Servereinstellungen" und ändern den Port auf z.B: 4443 ab.
- Damit Sie danach noch auf das Userinterface zugreifen können, benötigen Sie dann natürlich eine entsprechende Regel.
Für https benötigt der Reverse-Proxy natürlich ein Zertifikat damit er die verschlüsselte Verbindung entgegen-nehmen kann.
- Gehen Sie dazu auf "Authentifizierung -> Zertifikate" und erstellen ein neues Zertifikat. Wichtig: der Name des Zertifikates muss so benannt werden wie die Domäne, bei uns also web.test.local.
Einrichtung
Netzwerkobjekte
Als ersten benötigen wir ein Netzwerkobjekt mit der IP des Webservers:
- Melden Sie sich an der Appliance an
- Gehen Sie auf Firewall -> Portfilter -> Netzwerkobjekte
- Klicken Sie auf "Hinzufügen" und füllen Sie die Felder entsprechend aus.
Portfilter
- Legen Sie nun entsprende Regeln an, die den Zugriff auf das externe Interface freigeben.
Reverse Proxy
Einleitung
Nun ist es an der Zeit mit der Konfiguration des Reverse-Proxys zu beginnen! Damit Sie verstehen warum das in Gruppen aufgeteilt ist, möchte ich noch mal das Prinzip erläutern.
Ein Portforwarding ermöglicht nur eine 1:1 Beziehung, der Port wird immer an den einen Server durchgeschleift. Bei einem Reverse-Proxy ist das anders, hier gibt es die Beziehungen:
- 1:1 - Eine Domäne/IP : Ein Server
- 1:N - Eine Domäne/IP : Mehrere Server (Load Balancing)
- N:1 - Mehrere Domänen/IPs : Ein Server
- N:M - Mehrere Domänen/IPs : Mehrere Server (Load Balancing)
Nun ist auch klar warum sich die Server in Gruppen befinden, Sie können, müssen aber nicht mehrer Objekte in diese Gruppen legen.
Servergruppen
- Gehen Sie dazu auf "Anwendungen -> Reverse-Proxy".
- Fügen Sie ein Servergruppe hinzu.
- In dieser Gruppe fügen wir nun unseren Server ein. Der Anmeldename und das Passwort sind Optional und dienen zur Authentifizierung am Zielserver, wenn dies aktiv sein sollte.
ACLs - Zugriffsrechte
Über ACLs lassen sich die Zugriffsrechte dediziert zuweisen. Die folgenden Optionen stehen zur Auswahl:
- req_header: Filter auf den Header des Clients (Es könnte z.B. der Browser bestimmt werden)
- src: Gibt die Quell IP des Clients an (87.139.55.127/255.255.255.255)
- dstdomain: Gibt die Domäne/IP des Ziel-Servers an (web.test.local oder 192.168.6.19)
- srcdomain: Gibt die Domäne des Absenders an (securepoint.de)
- srcdom_regex: Regex auf die Domäne (securepoint)
- proto: Protokoll (http, https)
- time: Zeitangabe (M T W H F 9:00-17:00)
Days of the Week
S - Sunday M - Monday T - Tuesday W - Wednesday H - Thursday F - Friday A - Saturday D - All weekdays
- Wir wollen das der Server sowohl über die IP, als auch den Namen erreichbar ist.
- Dazu fügen wir 2 Einträge hinzu, beide vom Typ "dstdomain" mit den entsprechenden Werten.
SITES
Hier können nun die Zuweisungen von den ACLs, der Aktion "Allow/Deny", der Reihenfolge, den Verteilungsalgorithmus sowie der Bandbreite für dem Server erfolgen.
Die ACLs werden der Reihenfolge nach abgearbeitet, ich kann sie entweder zulassen "Allow" oder verweigern "Deny". Die ACLs vom Typ "Deny" sollten in der Reihenfolge vor den "Allow" ACLs kommen.
Allg. Einstellungen
Hier kann festgelegt werden ob HTTP/HTTPS oder beides verwendet werden soll, die Ports sowie das Zertifikat für den entsprechenden Server.