Zum Inhalt springen

Reverse Proxy

Aus Foxwiki
Die 5 zuletzt angesehenen Seiten:  Spezial:Anmelden » Reverse Proxy

Reverse Proxy - Proxy in einem Rechnernetz, der Ressourcen für einen externen Client von einem oder mehreren internen Servern bereitstellt

Beschreibung

Umsetzung der Adresse ist atypisch und der Richtung des Aufrufes entgegengesetzt

  • Adresse des internen Zielsystems bleibt dem externen Client verborgen
Forward-Proxy

Clients eines internen Netzes den Zugriff auf ein externes Netz gewährt

Beispiel

Proxy-Server, der das Internet zu einem internen Netzwerk verbindet

Anfragenden aus dem Internet verbinden sich mit dem Proxy

  • Das interne Netzwerk muss nicht bekannt sein

Firewall

Reverse Proxy als Weiterleitungsmodul einer Firewall

Die Reverse-Proxys einer Firewall bieten zunächst die gleiche Funktionalität wie Portweiterleitung

  • Ermöglichen einen von außen initiierten Verbindungsaufbau zu einem hinter der Weiterleitung liegenden Server des internen Netzes
  • Sobald sie als Dedicated Proxy arbeiten, verstehen sie das Netzwerkprotokoll und sind dann zudem in der Lage, die Daten der Netzwerkpakete zu analysieren und zu bearbeiten
  • So können sie z. B. einen Virenscan vornehmen oder Regeln anwenden, die sich auf die Paketinhalte beziehen
Reverse-Proxy

Demgegenüber gibt es auch Reverse-Proxy

  • die nicht Bestandteil der Firewallsoftware sind
  • dennoch den Zweck haben, den Zugriff aus dem externen Netz heraus auf einen internen Rechner zu ermöglichen, ohne jedoch die Firewall entsprechend manuell konfigurieren zu müssen
  • * Dazu baut der interne Rechner zunächst eine Verbindung zu einem bestimmten externen Rechner auf, wodurch der externe Rechner über die Firewall hinweg mit dem internen Rechner kommunizieren kann
  • * Läuft auf dem externen Rechner ein Reverse-Proxy, so können nun auch beliebige andere Rechner aus dem externen Netz auf den internen Rechner hinter der Firewall zugreifen, indem sie ihre Anfragen an den Reverse-Proxy des externen Rechners schicken (der Reverse-Proxy leitet die Anfragen an den internen Rechner weiter)

Performance

Performance-Optimierung

Eine gänzlich andere Aufgabe kann ein Reverse-Proxy erfüllen, der die Anfragen für einen Dienst entgegennimmt, um die Geschwindigkeit bzw. Zugriffsrate auf den Dienst zu verbessern oder funktionell zu erweitern

  • Er kann lokal auf dem Zielsystem installiert sein, oder auf einer separaten Hardware laufen, und arbeitet beispielsweise als HTTP-Accelerator, auch Surrogate Proxy genannt
  • Verbindungen aus dem Internet an einen Webserver werden durch den Proxy bearbeitet, der die Anfragen selbst beantwortet, sofern sie in dem eigenen Cache stehen, oder andernfalls an die nachgeordneten Dienste oder an einen entfernten Server weiterleitet

Einsatzszenarien

Gründe für den Einsatz eines Reverse-Proxys
Einsatz Beschreibung
Netzwerksicherheit Der Reverse-Proxy stellt ein weiteres Glied in der Sicherheitskette dar und trägt so zur Sicherheit der Webserver bei, denn es ist möglich, auf einem Reverse-Proxy Virenscanner, Firewalls oder Paketfilter zu installieren
Single Sign-on (SSO) Der Reverse-Proxy kann die Benutzer-Authentifizierung für mehrere Webserver übernehmen
  • Dadurch muss sich der Benutzer nur einmal anmelden, um die Dienste mehrerer Server zu nutzen
Verschlüsselung/SSL-
Beschleunigung
Wenn sichere Webseiten erzeugt werden, wird die SSL-Verschlüsselung gelegentlich nicht vom Webserver selbst erledigt, sondern durch einen Reverse-Proxy, der mit einer entsprechenden Beschleunigungshardware ausgestattet ist
  • Somit ist es zudem möglich, ein (SSL-)Zertifikat auf dem Proxy einzusetzen (anstelle auf einem dahinterliegenden Webserver)
  • Bei Squid (ab Version 2.6) geht dies auch per Software
  • Durch das Verlagern der Verschlüsselung auf den Proxy erzielt man folgende Vorteile:
  • Der Webserver wird durch die Auslagerung der Verschlüsselung (u. U. erheblich) entlastet
  • Der Proxy kann die Webinhalte cachen, was sonst nicht möglich wäre und eine weitere Entlastung des Webservers bedeutet
  • ACLs können auch auf verschlüsselten Seiten angewendet werden, da der Proxy die Header im Klartext sieht
Lastverteilung Der Reverse-Proxy kann die Last auf mehrere Server verteilen, wobei jeder Server sein Anwendungsfeld bedient
  • Auch einzelne Server-Ausfälle können hiermit abgefangen werden
  • Bei Webservern muss der Reverse-Proxy gegebenenfalls die URLs in jeder Webseite umschreiben (Übersetzung der extern bekannten URLs auf die internen Standorte)
Cachen von Inhalten Ein Reverse-Proxy kann die Webserver entlasten, indem er statische Inhalte wie etwa Bilder sowie die Ergebnisse häufig aufgerufener dynamisch erstellter Seiten (aus Skriptsprachen) zwischenspeichert
  • Auf diese Weise kann eine deutlich höhere Anzahl an Webseitenanfragen bewältigt werden

Bei Ausfall des dahinterliegenden Webservers (oder im Fehlerfall: beispielsweise HTTP 500) kann zudem eine „benutzerfreundliche“ Meldung angezeigt werden

Weiterhin kann ein Reverse-Proxy auch als offener Proxy genutzt werden, um Anfragen unter „seinem Namen“ an fremde Server zu schicken, ohne dass dies vom Betreiber so gedacht ist

  • Daher kann es empfehlenswert sein, ihn derart zu konfigurieren, dass er nur auf Anfragen an bestimmte Server antwortet
  • Als Beispiel geschieht dies bei Squid durch eine Regel http_access allow mit der abschließenden Regel http_access deny all


Anhang

Siehe auch


Links

Weblinks