Wechseln zu:Navigation, Suche
Wiki

Vorlage:V11

Reverse Proxy

Webinar

EmbedVideo wurde ein unzulässiger Wert für den Ausrichtungsparameter "auto" übergeben. Gültige Werte sind "links", "Mitte" oder "rechts".

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 Reverse-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ö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.


Utm-reverseproxy1.png

Portfilter

  • Legen Sie nun entsprende Regeln an, die den Zugriff auf das externe Interface freigeben.


Utm-reverseproxy2.png

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.
Utm-reverseproxy3.png

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, 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

Utm-reverseproxy4.png


  • 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.


Utm-reverseproxy5.png

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.

Utm-reverseproxy6.png

Allg. Einstellungen

Hier kann festgelegt werden ob HTTP/HTTPS oder beides verwendet werden soll, die Ports sowie das Zertifikat für den entsprechenden Server.

Utm-reverseproxy7.png