Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 67: | Zeile 67: | ||
* req_header: Filter auf den Header des Clients (Es könnte z.B. der Browser bestimmt werden) | * 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) | * src: Gibt die Quell IP des Clients an (87.139.55.127/255.255.255.255) | ||
* dstdomain: Gibt die Domäne/IP des | * dstdomain: Gibt die Domäne/IP des Ziel-Servers an (web.test.local oder 192.168.6.19) | ||
* srcdomain: | * srcdomain: Gibt die Domäne des Absenders an (securepoint.de) | ||
* srcdom_regex: | * srcdom_regex: Regex auf die Domäen (securepoint) | ||
* proto: | * proto: Protokoll (http, https, ftp) | ||
* time: | * 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 | |||
[[Datei:Utm-reverseproxy4.png|center|]] | [[Datei:Utm-reverseproxy4.png|center|]] | ||
* 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. | |||
[[Datei:Utm-reverseproxy5.png|center|]] | [[Datei:Utm-reverseproxy5.png|center|]] | ||
===Site=== | |||
[[Datei:Utm-reverseproxy6.png|center|]] | [[Datei:Utm-reverseproxy6.png|center|]] | ||
[[Datei:Utm-reverseproxy7.png|center|]] | [[Datei:Utm-reverseproxy7.png|center|]] |
Version vom 7. November 2012, 13:09 Uhr
Reverse Proxy
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önne über den Reverse-Proxy dedizierte Filterregeln erstellt werden. Zudem kann bei nur einer öffentlich IP, 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 Revers-Proxy weiterzuleiten, so müssen Sie zuerst den Port des Webinterfaces umlegen. Gehen Sie dazu auf "Extras -> Erweiterte Einstellungen" 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ötogt 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 freigibt.
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 : Einem Server
- 1:N - Eine Domäne/IP : Mehreren Servern (Load Balancing)
- N:1 - Mehrere Domänen/IPs : Einem Server
- N:M - Mehrere Domänen/IPs : Mehreren Servern (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äen (securepoint)
- proto: Protokoll (http, https, ftp)
- 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.