Reverse Proxy
Inhaltsverzeichnis
Was ist ein Reverse Proxy?
Ein Reverse Proxy (“umgekehrter Proxy”) ist in Computernetzwerken ein spezieller Server, der Webservern für erhöhte Sicherheit, Leistung und Zuverlässigkeit vorgeschaltet werden kann. Ein Reverse Proxy und der oder die Webserver bilden ein zusammengehöriges proprietäres Netzwerk.
Diese Art von Proxy stellt sicher, dass kein Client direkt mit den Webservern kommuniziert. Er empfängt Anfragen von Clients (z. B. von Nutzern von Webbrowsern) und leitet sie an die Webserver weiter. Die Antworten der Webserver leitet der Reverse Proxy wiederum weiter an die anfragenden Clients. Die abgerufenen Daten erscheinen dem Client so, als stammten sie von dem Reverse Proxy. Die eigentliche Adresse des Webservers bleibt dem Client verborgen.
Ein Forward Proxy kann sich demgegenüber vor einem Client befinden und mit diesem ein zusammengehöriges Netzwerk bilden. Er gewährt Clients eines proprietären Netzes den Zugriff auf ein externes Netz wie das Internet und kann diesen Zugriff auch beschränken.
Netzsicherheit
Wenn ein Reverse Proxy in der Firewall eines Serversystems eingerichtet ist, erfährt ein Anfragen stellender Client nicht die IP-Adresse dahinterliegender Server. Reverse Proxys können dadurch als Glied in der Sicherheitskette von Webservern arbeiten und die Existenz und die Merkmale eines oder mehrerer dahinterliegender Server verbergen. Dies macht es Angreifern sehr viel schwerer, einen gezielten Angriff auszuführen.
Reverse Proxys in Firewalls können vor gängigen webbasierten Angriffen schützen, wie etwa einem Denial-of-Service-Angriff (DoS) oder einem verteilten Denial-of-Service-Angriff (DDoS).
Wenn Reverse Proxys als sogenannte Dedicated Proxys arbeiten, versteen sie das Netzwerkprotokoll und können die Daten der Netzwerkpakete analysieren und bearbeiten. Sie können dann z.B. die ankommenden Datenpakete durchsuchen und Virenscans durchführen.
Es gibt ferner Reverse Proxys, die nicht Bestandteil der Firewall sind, und einen Zugriff von einem externen Netz auf einen internen Rechner an der Firewall vorbei ermöglichen. Die Verbindung initiiert dabei den internen Rechner zu einem bestimmten externen Rechner, wodurch dieser über den Reverse Proxy an der Firewall vorbei mit dem internen Rechner kommunizieren kann.
Betreibt der externe Rechner ebenfalls einen Reverse Proxy, so können über diesen, weitere Rechner aus dem externen Netz auf den internen Rechner hinter der Firewall zugreifen.
Reverse Proxys können überall dort eingesetzt werden, wo mehrere Webserver über eine einzige öffentliche IP-Adresse erreichbar sein müssen. Reverse Proxys analysieren jede eingehende Anfrage und übermittelt sie an den richtigen Server im lokalen Netzwerk.
Lastenverteilung
Ein Reverse Proxy kann die Last von eingehenden Anforderungen auf mehrere Server verteilen, wobei jeder Server einen eigenen Anwendungsbereich bereitstellt.
Bei dem Global Server Load Balancing (GSLB) genannten Verfahren kann eine Website auf mehreren Servern auf der ganzen Welt verteilt werden und der Reverse Proxy leitet Clients an den Server, der ihnen geografisch am nächsten liegt. Dies verringert die Entfernungen der Datenübertragung und verringert damit die Ladezeiten.
Performance-Optimierung durch Caching
Ein Reverse Proxy kann die Arbeitslast der zu ihm gehörenden Webserver reduzieren, indem er statische sowie dynamische Inhalte zwischenspeichert. Wenn ein Nutzer Inhalte auf einem weiter entfernten Server aufruft, kann ein näher gelegener Proxy-Server die Inhalte zwischenspeichern und im Falle weiterer Anfragen von Nutzern aus der Nähe die Inhalte zur Verfügung stellen, ohne dass die Daten erneut von dem weiter entfernten Server gesendet werden müssen.
Dadurch kann er eine deutlich höhere Frequenz an Webseitenanfragen bearbeiten.
Ein Reverse Proxy kann außerdem bei der Weiterleitung Inhalte durch Komprimierung optimieren, um Datenmengen und Übertragungszeiten zu verringern.
Mit diesen Verfahren arbeitet ein Proxy als HTTP-Beschleuniger und nennt sich dann auch Surrogate Proxy. So wird der Kommunikationsablauf optimiert und der Webserver entlastet. Die Zugriffsrate auf einen Dienst kann dadurch deutlich verbessert werden.
Spoon-Feed
Mit einer Technik namens “Spoon-Feed” kann der Webserver eine dynamisch erzeugte Webseite dem Reverse Proxy zur Verfügung stellen, der sie dann abschnittsweise an den Client schickt – je nachdem, welcher Teil der Seite sich gerade im Sichtbereich des Nutzers befindet. Das Programm auf dem Webserver, das die Seite generiert, kann dadurch früher wieder beendet werden, und die Serverressourcen werden schneller wieder frei für neue Aufgaben.
Single Sign-on
Ein Reverse Proxy kann für mehrere Webserver die Benutzerauthentifizierung übernehmen. Der Benutzer muss sich dadurch nur einmal anmelden, um die Dienste mehrerer Server zu nutzen. So kann ein Webserver, der über keine Authentifizierungsfunktionalität verfügt, auch um grundlegende HTTP-Zugriffsauthentifizierung erweitert werden.
SSL-Verschlüsselung
Das für jeden Client durchzuführende Verschlüsseln und Entschlüsseln einer SSL– (oder TLS-) Kommunikation kann für einen Server aufwendig sein. Ein Reverse Proxy kann so konfiguriert werden, dass er den Server entlastet, indem er diese Aufgabe übernimmt. Er entschlüsselt dann alle eingehenden Anfragen und verschlüsselt alle ausgehenden Antworten.
Auch können in diesem Szenario Access Control Lists (Zugriffssteuerungsliste, ACL) für verschlüsselte Seiten angewendet werden. Mit ACLs können Betriebssysteme Berechtigungen verwalten. Eine ACL gibt an, welchen Benutzern und Systemprozessen der Zugriff auf z. B. Dienste und Dateien gewährt wird und welche Operationen dafür jeweils zulässig sind.
Offener Proxy
Ein Reverse Proxy kann ferner auch als “offener Proxy” genutzt werden. Anfragen werden dabei unter dem Namen des Reverse Proxys an fremde Server gesendet. Offene Proxy-Server können im Gegensatz zu normalen Proxy-Servern von jedermann ohne Anmeldung genutzt werden. Sie dienen dazu, die Herkunft eines Clients zu verschleiern, wie z. B. Anonymisierungs-Dienste.
Als weiterer Nutzen kann ein Reverse Proxy bei einem Ausfall oder Fehler des Webservers dem Client nutzerfreundliche statt abstrakte technische Fehlermeldungen anzeigen. Dies verhindert auch ungewollt preisgegebene interne Information, die in den technischen Fehlermeldungen enthalten sind und für Angriffe genutzt werden könnte.
Einrichtung
Eigene Reverse Proxys einzurichten erfordert Investition in Software und Hardware. Kostengünstiger kann die Nutzung eines Content Delivery Network (CDN)-Dienstes sein. Ein CDN ist ein geografisch verteiltes Netzwerk von Proxy-Servern und deren Rechenzentren.
Tipp
Wenn Sie noch Fragen bezüglich eines Online Marketing Themas haben, dann können Sie gerne unseren Glossar besuchen und sich über das Thema informieren, wo Sie noch speziell Fragen haben.
Sie haben noch Fragen?