Was ist ein Proxy-Server?

Als Proxy-Server (Proxy = engl. „Stellvertreter“) bezeichnet man eine Kommunikationsschnittstelle in einem Netzwerk, die zwischen zwei Computersystemen vermittelt. Grundlegende Aufgabe des Proxy-Servers ist es, Client-Anfragen an einen Server stellvertretend entgegenzunehmen und mit der eigenen IP-Adresse an den Zielrechner weiterzuleiten. Bei dieser Art der Kommunikation besteht keine direkte Verbindung zwischen Absender und Empfänger. Mitunter wissen das anfragende System und der Zielrechner gar nicht, dass sie es mit einem Proxy zu tun haben. Proxy-Server lassen sich in zwei Richtungen realisieren: Ein Forward-Proxy dient dem Schutz eines Client-Netzwerks vor Einflüssen aus dem Internet. Soll das Zielsystem, beispielsweise ein Webserver, durch einen vorgeschalteten Proxy-Server geschützt werden, spricht man von einem Reverse-Proxy.

  • Forward-Proxy (Schutz des Clients): Wird ein Proxy-Server als Schnittstelle zwischen einem privaten Netzwerk (LAN) und dem Internet installiert, lassen sich lokale Endgeräte effektiv von Einflüssen aus dem öffentlichen Netz abschirmen. Anfragen aus dem LAN werden vom Proxy entgegengenommen und mit dessen IP-Adresse als Absender an den Zielrechner im Internet weitergeleitet. Antwortpakete aus dem Netz werden somit nicht an den Client im LAN adressiert, sondern passieren ebenfalls den Proxy-Server, bevor Sie ans eigentliche Ziel weitergeleitet werden. In der Regel fungiert der Proxy-Server dabei als Kontrollinstanz. Entsprechende Sicherheitssysteme müssen so nicht auf jedem Client des Netzwerks installiert werden, sondern lassen sich auf einer überschaubaren Anzahl an Proxy-Servern realisieren.
  • Reverse-Proxy (Schutz des Servers): Auch Webserver lassen sich zusätzlich absichern, indem ein Proxy-Server bei Zugriffen aus dem öffentlichen Netz vorgeschaltet wird. Clients aus dem Internet greifen somit nicht direkt auf den Zielrechner zu. Stattdessen werden Anfragen vom Proxy-Server entgegengenommen, gemäß konfigurierten Sicherheitsregeln geprüft und bei Unbedenklichkeit an den Server im Hintergrund weitergeleitet. 

Anwendungsgebiete eines Proxy-Servers

Es gibt diverse Gründe, einen Proxy-Server zu implementieren. Als Bindeglied zwischen zwei Kommunikationspartnern ermöglicht diese Netzwerkkomponente selbst dann einen Datenaustausch zwischen zwei Systemen, wenn eine direkte Verbindung aufgrund inkompatibler IP-Adressen unmöglich ist – zum Beispiel weil eine Komponente IPv4 verwendet und die anderen den neuen Standard IPv6. Daten, die den Umweg über einen Proxy nehmen, lassen sich zudem filtern, zwischenspeichern und im Rahmen eines Load-Balancings auf verschiedene Zielsysteme verteilen. Darüber hinaus ist ein Proxy eine zentrale Komponente der Firewall, die Computersysteme vor Angriffen aus dem öffentlichen Netz schützt.

  • Caching: Eine weitere Standardfunktion für Proxy-Server ist das Caching. Um wiederkehrende Anfragen aus einem lokalen Netzwerk schnell beantworten zu können, speichert ein entsprechend konfigurierter Proxy-Server eine Kopie der Daten, die er von Servern aus dem Internet erhält, temporär im Cache. Häufig angefragte Webinhalte müssen so nicht jedes Mal neu geladen, sondern können direkt ausgeliefert werden. Dies spart Zeit und Bandbreite.
     
  • Filterung: Wurde ein Proxy-Server als Schnittstelle zwischen zwei Computersystemen installiert, lässt dieser sich als Filter für den Datenverkehr nutzen, um bestimmte Webinhalte für Clients zu blockieren oder auffällige Serveranfragen automatisch abzuweisen.
     
  • Bandbreitenkontrolle und Lastenverteilung: Wird ein Proxy-Server zur Kontrolle der Bandbreite genutzt, teilt dieser den Clients eines Netzwerks je nach Auslastung im Vorfeld definierte Ressourcen zu. So lässt sich sicherstellen, dass die Bandbreite durch einzelne Anwendungen nicht komplett blockiert wird. Als zentrale Schnittstelle ermöglicht ein Proxy-Server zudem, ressourcenintensive Client-Anfragen oder Serverantworten auf verschiedene Systeme umzulegen, sodass sich Lasten innerhalb eines Rechnernetzes gleichmäßig verteilen lassen.
     
  • Anonymisierung: Da Proxy-Server die direkte Verbindung zwischen Absender und Empfänger unterbinden, ist es möglich, die IP-Adresse eines Clients hinter der der Kommunikationsschnittstelle zu verbergen. Dies erlaubt ein gewisses Maß an Anonymität, da Nutzer nach außen hin mit der IP-Adresse und dem Standort des Proxys agieren. In Ländern mit einer starken Internetzensur oder einem eingeschränkten Zugriff auf urheberrechtliche geschützte Inhalte werden Proxy-Server im Ausland mitunter genutzt, um ein Geoblocking zu umgehen.

Arten und Bezeichnungen von Proxy-Servern

Neben einer allgemeinen Proxy-Definition kursieren diverse Bezeichnungen für verschiedene Arten von Proxy-Servern, die oft nicht trennscharf voneinander abgegrenzt werden. Sie beziehen sich auf die technische Realisation der Netzwerkkomponente sowie auf anwendungsbezogene Unterschiede. Gängig ist eine Klassifikation in Circuit Level und Application Level sowie in dedizierte und generische Proxy-Server.

Application Level vs. Circuit Level

Manche Proxy-Server werden technisch so realisiert, dass sie in der Lage sind, Datenpakete zu analysieren, die ihnen zur Weiterleitung übergeben werden. Andere Proxy-Realisationen hingegen haben keinen Zugriff auf Paketdaten. Filterfunktionen lassen sich in diesem Fall jedoch auf Grundlage der Absender-IP und des angesprochenen Ports umsetzen.

  • Application-Level-Proxy: Ein Application-Level-Proxy ist auf der Anwendungsschicht (Schicht 7) des OSI-Referenzmodells angesiedelt. Somit verfügt diese Proxy-Server-Art über Funktionen, um Datenpakete zu analysieren und je nach vorkonfigurierten Regeln zu blockieren, zu verändern und weiterzuleiten. Ein Application-Level-Proxy wird auch Applikations- oder Anwendungsfilter genannt.
  • Circuit-Level-Proxy: Der Circuit-Level-Proxy arbeitet auf der Transportschicht (Schicht 4) des OSI-Referenzmodells und ist somit nicht in der Lage, Paketdaten zu analysieren. Diese Proxy-Art wird in der Regel als Firewall-Filtermodul eingesetzt und ermöglicht es, Datenpakete über Ports und IP-Adressen zu filtern. Anders als der Application-Level-Proxy kann der Circuit-Level-Proxy die Kommunikation selbst nicht beeinflussen. Stattdessen beruht die Filterung auf dem Alles-oder-nichts-Prinzip. Datenpakete werden entweder durchgelassen oder blockiert. 

Dedizierte vs. generische Proxy-Server

Die Klassifikation anhand der Begriffe „dediziert“ und „generisch“ bezieht sich auf die Frage, ob ein Proxy-Server nur für ein Kommunikationsprotokoll zuständig ist (dedizierter Proxy) oder ob die Netzwerkschnittstelle als Ansprechpartner für alle Kommunikationsprotokolle fungiert (generischer Proxy).

  • Dedizierter Proxy: Ein dedizierter Proxy-Server wird der Bezeichnung entsprechend für ein bestimmtes Kommunikationsprotokoll konfiguriert. In der Regel werden daher verschiedene dedizierte Proxy-Server für unterschiedliche Protokolle wie HTTP, FTP oder SMTP parallel betrieben.
  • Generischer Proxy: Anders als dedizierte Proxys ist ein generischer Proxy-Server nicht spezialisiert und wird für mehrere Kommunikationsprotokolle eingesetzt.

In der Praxis wird ein Application-Level-Proxy meist als dedizierter Proxy-Server realisiert. Generische Proxy-Server hingegen finden als Circuit-Level-Proxys Anwendung. Die entsprechenden Begriffe werden daher mitunter synonym verwendet.