Ein Proxy ist ein Verbindungsserver in einem Netzwerk, der Daten auf zwei eigenständigen Kanälen vom Sender zum Empfänger durchreicht und dabei seine eigene Adresse benutzt. Am bekanntesten sind Proxy-Server im Internet, dann handelt es sich um auf das HTTP-Protokoll spezialisierte Proxys.
Ein Proxy-Server ist eigentlich eine Maschine, die als Zwischenstelle zwischen den Computern eines lokalen Netzwerks und dem Internet fungiert. Meist wird der Proxy-Server für das Web verwendet, dann handelt es sich um einen HTTP-Proxy. Es kann aber für jedes Anwendungsprotokoll Proxy-Server geben (FTP, TCP usw.):
Das grundlegende Funktionsprinzip eines Proxy-Servers ist ziemlich simpel: Es handelt sich um einen Server, der von einer Anwendung "beauftragt" wird, eine Internetanfrage an ihrer Stelle durchzuführen. Verbindet sich ein User über eine Client-Anwendung mit dem Internet, die für die Verwendung eines Proxy-Servers konfiguriert ist, muss er sich zuerst mit dem Proxy verbinden, und diesem seine Anfrage
senden. Der Proxy-Server verbindet sich dann mit dem Server, den die Client-Anwendung aufrufen möchte und übermittelt ihm die Anfrage. Dann gibt der Server dem Proxy seine Anwort und dieser übermittelt sie an die Client-Anwendung:
Heutzutage wird durch die Verwendung von TCP/IP bei lokalen Netzwerken die Relaisfunktion des Proxy-Servers direkt von den Gateways und Routern übernommen. Proxy-Server werden aber immer noch verwendet, da sie einige andere Funktionen haben.
Die meisten Proxys haben die Funktion eines Caches (caching) im Sinne von der Fähigkeit, die am häufigsten von den Usern des lokalen Netzwerks besuchten Seiten im Speicher (also im Cache) zu behalten, um ihnen diese bei der nächsten Anfrage so schnell wie möglich anzeigen zu können. In der Informatik bezeichnet der Begriff Cache einen Ort zur temporären Datenspeicherung, manchmal wird er auch Puffer genannt.
Einen Proxy-Server, der Informationen "cachen" (also in den Cache-Speicher übernehmen) kann, nennt man meist Proxy-Cache-Server.
Diese bei einigen Proxy-Servern integrierte Funktion ermöglicht einerseits eine Reduzierung der verwendeten Bandbreite zum Internet und andererseits eine Verkürzung der Zugriffszeit auf die Dokumente für die User.
Um diese Tätigkeit allerdings effizient auszuführen, muss der Proxy die Daten, die er im Cache-Speicher hat, regelmäßig mit den fremden Daten vergleichen, um sicherzustellen, dass die Daten im Cache immer noch gültig sind.
Bei Verwendung eines Proxys können die Verbindungen überwacht werden (logging oder tracking). Das geschieht durch die Erzeugung von Logdateien (logs), die systematisch die Aufrufe speichert, die User bei ihren Internet-Verbindungsanfragen tätigen.
So lassen sich die Internetverbindungen filtern, indem einerseits die Aufrufe der Clients und
andererseits die Antworten der Server analysiert werden. Die Durchführung einer Filterung durch den Vergleich der Client-Aufrufe mit einer Liste von erlaubten Aufrufen nennt man weiße Liste. Handelt es sich um eine Liste mit verbotenen Seiten, spricht man von einer schwarzen Liste. Analysiert man die Übereinstimmung der Server-Antworten mit einer Liste von Kriterien (wie Stichwörter usw.), bezeichnet man dies als Inhaltsfilterung.
Da der Proxy das notwendige Zwischenglied für interne Netzwerk-User darstellt, um auf externe Ressourcen zuzugreifen, ist es manchmal möglich, ihn zur Authentifizierung der User zu nutzen. Er kann die User zum Beispiel auffordern, sich mit Username und Passwort zu identifizieren. So lässt
sich der Zugang zu externen Ressourcen leicht auf bestimmte Personen beschränken. Dabei können die getätigten Zugriffe ebenfalls in Logdateien gespeichert werden.
Wird diese Art der Anwendung umgesetzt, stellen sich natürlich zahlreiche Probleme in Bezug
auf den Datenschutz und das Recht auf Privatsphäre.
Als Reverse-Proxy bezeichnet man einen Proxy-Cache-Server, der "verkehrt herum eingebaut" ist, also ein Proxy-Server, der nicht Usern gestattet, aufs Internet zuzugreifen, sondern der Internetusern gestattet, indirekt auf bestimmte interne Server zuzugreifen:
Der Reverse-Proxy dient also als Relais für Internetuser, die auf eine interne Webseite zugreifen möchten, indem sie ihm indirekt die Anfragen übermitteln. Durch den Reverse-Proxy ist der Webserver vor direkten Angriffen von außen gesichert, was die Sicherheit des internen Netzwerks erhöht.
Außerdem kann die Cache-Funktion des Reverse-Proxy die Last des Servers verringern, für den er vorgesehen ist. Aus diesem Grund nennt man einen solchen Server manchmal Beschleuniger (server accelerator).
Durch perfektionierte Algorithmen kann der Reverse-Proxy auch dazu dienen, die Last zu verteilen, indem Anfragen zu verschiedenen gleichwertigen Servern weitergeleitet werden. Dies bezeichnet man als Lastverteilung (load balancing).
Der am weitesten verbreitete Proxy ist zweifellos Squid, eine Open-Source-Software, die für zahlreiche Plattformen verfügbar ist, darunter Windows und Linux.
Es gibt unter Windows mehrere Programme, mit denen sich bei geringen Kosten ein Proxy-Server für das lokale Netzwerk einrichten lässt, zum Beispiel Ultrasurf, CCProxy oder uProxy.
Foto: © Pixabay.