Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 56: | Zeile 56: | ||
===Servergruppen=== | ===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. | |||
[[Datei:Utm-reverseproxy3.png|center|]] | [[Datei:Utm-reverseproxy3.png|center|]] | ||
===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 Z | |||
* srcdomain: | |||
* srcdom_regex: | |||
* proto: | |||
* time: | |||
[[Datei:Utm-reverseproxy4.png|center|]] | [[Datei:Utm-reverseproxy4.png|center|]] | ||
Version vom 7. November 2012, 11:14 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 Z
- srcdomain:
- srcdom_regex:
- proto:
- time: