Den Begriff „Proxy-Server“ haben die meisten Internet-Benutzer sicherlich schon einmal gehört. Darunter versteht man einen „Vermittler“, der Client-Anfragen an einen Webserver im Internet weiterleitet. Im umgekehrten Fall spricht man von einem „Reverse-Proxy“. Dieser verbirgt sich normalerweise hinter der Firewall und leitet Anfragen von außen an die Backend-Server des internen Netzwerkes weiter. In diesem Artikel erklären wir Ihnen, was ein Reverse-Proxy genau ist und wie er funktioniert. Außerdem schauen wir uns einige typische Anwendungsgebiete dafür an.
- Mit einem Reverse-Proxy können Anfragen von Extern auf Basis einer Zugriffsteuerung reglementiert werden.
- Der Reverse-Proxy ist das Pendant zum Forward-Proxy, unterscheidet sich dabei aber nicht signifikant von dessen Funktionsweise.
- Der Einsatz eines Proxys ist häufig auch eine Frage von Kosten und Aufwand.
Inhalt
1. Was ist ein Reverse-Proxy und wie funktioniert er?
Der Namenszusatz ließe vielleicht vermuten, dass es sich beim Reserve-Proxy um einen umgekehrten Proxy-Server handelt, allerdings ist das nur die halbe Erklärung. Die beiden Varianten unterscheiden sich lediglich durch die Richtung des Datenverkehrs, die Funktionsweise ist im Prinzip aber dieselbe.
In großen Unternehmen werden Proxy-Server eingesetzt, um den Internetzugriff der Mitarbeiter zu regulieren, Datenvolumen und Bandbreite zu sparen und einen unkontrollierten Zugang ins Web zu unterbinden. Konkret bedeutet das: Möchte ein Mitarbeiter vom Firmennetz aus ins Internet gehen, muss er dazu erst einmal über den Proxy-Server. Dieser nimmt die Anfragen der internen Clients und leitet sie bidirektional an einen Empfänger (z.B. eine Website) weiter. Die Identität des eigentlichen Senders bleibt somit verborgen, da der Empfänger nur mit dem Proxy-Server kommuniziert.
Der Reverse-Proxy macht es genau umgekehrt: Er leitet Anfragen aus dem Internet an den internen Webserver weiter. Dieser wird allerdings nur dann kontaktiert, wenn der Reverse-Proxy die Anfrage nicht aus seinem eigenen Cache beantworten kann. Dadurch ist der Webserver vor direkten Angriffen von außen sicher.
Während ein Forward-Proxy die Clients eines Netzwerks vor gefährlichen Einflüssen aus dem Internet schützt, ist die Idee hinter einem Reverse-Proxy ein einzelner (sicherer) Eintrittspunkt ins Netzwerk, für den nicht zwingend ein VPN benötigt wird. Er nimmt stellvertretend die Anfragen von Servern entgegen und leitet sie mit seiner eigenen Absender-Adresse an die entsprechenden Clients weiter. Dafür gewährt er einem oder mehreren externen Clients Zugriff auf das interne Netz.
2. Wofür werden Reverse-Proxys eingesetzt?
Üblicherweise setzt man einen Reverse-Proxy immer für die Erhöhung der Sicherheit ein. Klassische Anwendungsgebiete sind beispielsweise:
- Sicherheit und Kontrolle: Auf einem Reverse-Proxy können Sie Virenscanner, Firewalls oder Paketfilter installieren, die einen zusätzlichen Schutzschirm für die Server und Clients des internen Netzwerks darstellen.
- Verschlüsselung: Bei einigen sicheren Webseiten erzeugt nicht der Webserver die Verschlüsselung (SSL), sondern ein Reverse-Proxy. Durch die Auslagerung der Zertifikate wird der Webserver entlastet, zudem können ACLs („Access Control Lists“) auch auf verschlüsselten Seiten genutzt werden.
- Load-Balancing: Ein Reverse-Proxy kann dafür sorgen, dass die Arbeitslast gleichmäßig auf mehrere Server verteilt wird. Dazu verknüpft er eine URL mit mehreren Servern im internen Netzwerk. Das beugt einerseits Überlastungen vor und erzielt zudem eine hohe Verfügbarkeit, da im Falle eines Ausfalles die Anfragen auf eine der verbleibenden Maschinen umgeleitet werden. Zugleich sinkt auch die Anzahl der benötigten (externen) IP-Adressen, da der Zugriff über eine Adresse erfolgen kann.
- Single-Sign-On: Der umgekehrte Proxy kann die User-Authentifizierung für mehrere Webserver übernehmen. Dadurch müssen Sie sich nur einmal anmelden, um die Dienste mehrere Maschinen zu nutzen.
- DNS-Caching: Statische Inhalte, wie beispielsweise Bilder, kann der Reverse-Proxy zwischenspeichern. Dadurch steigt die Performance, da mehr Anfragen parallel gehandelt werden können und der Webserver zugleich entlastet wird.
- Anonymität: Der Reverse-Proxy stellt den einzigen Zugang zum internen Netzwerk dar und fängt sämtliche Anfragen an die Server dahinter ab. Gegenüber den Clients verhält er sich so, als würde die Kommunikation mit dem eigentlichen Zielsystem stattfinden. Dazu nimmt er die Anfragen an das Zielsystem entgegen und leitet sie innerhalb des Netzwerkes an den Client weiter. Im Anschluss übergibt er die Antwort des Zielsystems an den anfragenden Client. Der eigentliche Server bleibt indessen also völlig anonym.
- Kompression: Wird der Proxy mit einer Packing-Software wie z.B. gzip bestückt, kann er auch zur Kompression von ein- und ausgehenden Daten eingesetzt werden. Das spart Zeit spart und kommt wiederum der Geschwindigkeit zu Gute.
Gut zu wissen: Die beliebtesten Open-Source-Lösungen für Reverse-Proxys sind Squid und Nginx, die sich beide sowohl für kleine Netze als auch für große Proxy-Verbunde eignen. Sie werden häufig zusammen mit einem Apache HTTP Server betrieben.
3. Nachteile von Reverse-Proxys
Neben all der genannten Vorteile haben Reverse-Proxys auch einige Nachteile, die wir in diesem Artikel nicht außen vorlassen möchten.
Zum einen entsteht mit jeder neuen Kommunikationsschnittstelle automatisch eine neue Fehlerquelle, die bei einem Ausfall oder durch eine falsche Konfiguration zu Problemen im Netzwerkverkehr führen kann. Hinzu kommt noch der Umstand, dass längst nicht alle Anwendungen Proxy-Server unterstützen. So werfen beispielsweise sogar einige bekannte Online-Spiele das Handtuch, sobald ein Proxy ins Spiel kommt.
Möchten Sie den gesamte Datenverkehr über den Reverse-Proxy abwickeln, müssen Sie zudem für jedes genutzte Internet-Protokoll einen eigenen Proxy installieren. Das verwendete Programm muss also sämtliche existierenden Internet-Protokolle beherrschen. Somit entsteht bereits bei der Einrichtung ein erhöhter Konfigurationsaufwand.
Zudem sollte man auch immer die Kosten im Auge behalten, denn der Reverse-Proxy sollte, wie jede andere Kommunikationsschnittstelle im Netzwerk auch, möglichst redundant ausgelegt sein.
Elias
ReverseProxy in 2,5 Minuten super erklärt! Wahnsinn.