Ein Reverse-Proxy gibt ein Mehr an Sicherheit in einem Rechnernetz. Diese Gründe sprechen für seinen Einsatz.

Ein Reverse-Proxy ist ein Proxy in einem für Clients erreichbaren Netzwerk, der Ressourcen, auf die Clients zugreifen möchten, von einem oder mehreren Servern abholen und bereitstellen kann. Die Umsetzung der Adresse ist atypisch und der Richtung des Aufrufes entgegengesetzt („umgekehrter Proxy“). Die wahre Adresse des internen Zielsystems bleibt dem Client verborgen. Das unterscheidet ihn vom typischen Forward-Proxy, der mehreren Clients eines internen Netzes den Zugriff auf ein externes Netz gewährt.

Gründe, die für den Einsatz eines Reverse-Proxys sprechen:

Netzwerksicherheit

Der Reverse-Proxy stellt ein weiteres Glied in der Sicherheitskette dar und trägt so zur Sicherheit der Webserver bei, denn die üblichen Enterprise-Produkte beinhalten Zusatz-Features wie eine Web Application Firewall (WAF) oder ein Intrusion Prevention System (IPS) und vieles mehr zum Filtern und Scannen des Traffics.

 

Single Sign-on (SSO) – 2-Faktor-Authentifizierung

Der Reverse-Proxy kann die Benutzer-Authentifizierung für mehrere Backend-Server und Services übernehmen. Dadurch muss sich der Benutzer nur einmal anmelden, um die Dienste mehrerer Server zu nutzen. Die Anmeldeoberfläche ist dabei flexibel und ermöglicht es gegebenenfalls, ein eigenes Corporate Design zu nutzen.

 

Verschlüsselung – SSL-Handhabung

Wenn sichere Webseiten erzeugt werden, wird die SSL-Verschlüsselung gelegentlich nicht vom Webserver selbst durchgeführt, sondern durch einen Reverse-Proxy, der mit einer entsprechenden Beschleunigungshardware ausgestattet ist. Somit ist es überdies möglich, ein (SSL-)Zertifikat auf dem Proxy einzusetzen (anstelle auf einem dahinterliegenden Webserver). Durch das Verlagern der Verschlüsselung auf den Proxy werden folgende Vorteile erzielt:

  • Der Webserver wird durch die Auslagerung der Verschlüsselung erheblich entlastet.
  • Der Proxy kann die Webinhalte cachen und auch Kompressionsfeatures nutzen, was sonst nicht möglich wäre und eine weitere Entlastung des Backendservers bedeutet.
  •  ACLs (Access Control List) können auch auf verschlüsselten Seiten angewendet werden, da der Proxy die Header im Klartext sieht.
  • Des Weiteren kann man sich auch entscheiden, ob man den Traffic ohne ihn aufzubrechen einfach weiterleitet, oder ihn aufbricht und wieder verschlüsselt.
  • Den Traffic kann man auch aufbrechen und ihn unverschlüsselt ins Backend schicken, was wiederum Performance einspart.

Durch Lastverteilung werden Server-Ausfälle abgefangen

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 („URL Modifying“). Über Content Switching kann man dann auch eine Traffic-Separierung erreichen, somit kann man IP-Adressen sparen und verschiedene Features zusammenfassen.

Ein Reverse-Proxy kann die Webserver entlasten, indem er statische Inhalte wie Bilder sowie die Ergebnisse häufig aufgerufener dynamisch erstellter Seiten (aus Skriptsprachen) zwischenspeichert. Auf diese Weise wird eine deutlich höhere Anzahl an Webseitenanfragen bewältigt (Stichworte hierbei: Cache und Kompression).

Bei Ausfall des dahinterliegenden Webservers kann zudem für die User Experience eine „benutzerfreundliche“ Meldung angezeigt oder ein spezieller Sorry-Service genutzt werden. Weiterhin ist es möglich, einen Reverse-Proxy auch als offenen Proxy zu nutzen, um Anfragen unter „seinem Namen“ an fremde Server zu schicken – ohne dass dies vom Betreiber so gedacht ist. Daher kann es empfehlenswert sein, ihn so zu konfigurieren, dass er nur auf Anfragen an bestimmte Server antwortet.