Proxy steht für
Stellvertreter. Rechner mit Zugriffsmöglichkeiten dienen als Stellvertreter
(Proxies) für Maschinen ohne Zugang, für die sie die gewünschten Aufgaben erledigen Will
ein
interner Rechner z.B. Verbindung mit einem Rechner im Internet aufnehmen, nimmt er, der
Proxy-Client, Kontakt mit dem Proxy-Server auf. Der Client wendet sich also nicht direkt an
den "echten" Rechner, sondern kommuniziert über den Proxy-Server mit diesem. Für
den
Benutzer ist nicht zu unterscheiden, ob er es mit dem "echten" Server oder dem Proxy-Server
zu tun hat. Umgekehrt nimmt der "echte" Server an, er arbeite mit dem Benutzer direkt, obwohl
für ihn nur der Proxy-Server sichtbar ist.
Damit Proxy-Systeme effektiv arbeiten, sind sie in Kombination mit Verfahren einzusetzen,
welche den Netzverkehr zwischen den Clients und den eigentlichen Servern auf IP-Ebene
einschränken. Ansonsten ist es möglich, den Proxy-Server zu umgehen
Wozu braucht
man Proxy-Dienste?
Proxy-Dienste werden
eingesetzt, um vielen Benutzern den Zugriff auf das Internet zu
ermöglichen und gleichzeitig ein bestimmtes Mass an Sicherheit beizubehalten. Der Benutzer
erhält nur Zugriff mit Diensten (resp. Protokollen), für die auf dem Gateway entsprechende
Proxies installiert sind.
Ein Proxy-System agiert somit als Kontrollstelle, da es nur jene Funktionen zulässt, welche in
den installierten Proxy-Diensten realisiert sind. Ein Proxy- Prozess läuft völlig im Hintergrund
ab, sodass die Verbindung ins Internet für den Benutzer scheinbar transparent ist. Daraus ergibt
sich die einfachste Handhabung von Benutzerseite her.
Vorteile von
Proxy-Diensten
Bieten Benutzern
"direkten" Zugriff auf Internet-Dienste:
Proxy-Dienste gestatten Benutzern, von ihren eigenen Systemen aus auf Internet-
Dienste zuzugreifen. Sie vermitteln den Benutzern den Eindruck, direkt mit den Internet-
Diensten zu kommunizieren, obwohl im Hintergrund einige Prozesse ablaufen.
Bieten effektive
Möglichkeiten zur Protokollierung:
Proxy-Server kennen die zu "vertretenden" Protokolle. Dadurch kann
z.B. ein FTP-
Proxy-Server nur die abgesetzten Kommandos protokollieren anstelle der gesamten
Daten. Die Aufzeichnungen werden somit nicht so umfangreich und bleiben meist recht
übersichtlich.
Nachteile von
Proxy-Diensten
Software nicht
immer leicht zu finden:
Es ist oft ein Problem, stabile Software für neue oder spezielle Dienste
zu besorgen.
Zudem vergeht meist viel Zeit, bis für einen neu eingeführten Dienst ein entsprechender
Proxy-Server verfügbar ist.
Unter Umständen
für jeden Dienst eigener Server nötig:
Es sind jedoch einige Produkte erhältlich, bei welchen mehrere Server integriert
sind.
Clients und/oder
Prozeduren müssen abgeändert werden:
Jede Änderung hat gewisse Nachteile. So lassen sich entsprechende Anweisungen
auf
einmal nicht mehr wie gewohnt verwenden und es wird eine zusätzliche Fehlerquelle
geschaffen.
Proxies nicht
für alle Dienste möglich:
Es gibt Dienste wie talk, welche komplizierte und verwickelte Interaktionen
aufweisen.
Für solche Dienste wird es wahrscheinlich nie einen Proxy-Dienst geben.
Kein Schutz
vor Schwächen im Protokoll:
Proxy-Dienste überwachen oder ersetzen sicherheitskritische Protokolloperationen.
Bei manchen Protokollen ist es aber sehr schwierig, diese kritischen Operationen
ausfindig zu machen und diese zu überwachen. Dabei darf die Funktionsfähigkeit nicht
eingeschränkt werden. X11 beispielsweise besitzt zahlreiche unsichere Operationen.
Wie funktionieren
Proxies?
Die Funktionsweise
eines Proxys ist vom Dienst abhängig. Manche Dienste funktionieren mit
den Standardservern, bei anderen wird eine Anpassung der Clients oder Server nötig. Auf der
Client-Seite unterscheidet man zwischen angepasster Client-Software und modifiziertem
Verfahren für die Benutzer. Bei ersterer Alternative muss der Quellcode zur Verfügung stehen,
ansonsten lassen sich keine Änderungen an den Clients anbringen. Beim modifizierten
Verfahren kann der Benutzer die Standard-Client-Software verwenden, da der Proxy-Server
in diesem Fall mit diesen zusammenarbeitet. Bei der Vorgehensweise jedoch wird vom
Benutzer ein spezielles Vorgehen verlangt.
Verschiedene
Arten von Proxy-Servern
Application-Level-Proxy
Application-Level-Proxy-Server kennen den Dienst und dessen Protokoll, für
welchen
sie eingesetzt werden. Sie werden meist in Verbindung mit modifizierten Verfahren
verwendet, da sie zusätzlich benötigte Informationen mit Kenntnis des
Anwendungsprotokolls oder aus den Benutzerdaten beziehen können (z.B. Zieladresse
des "echten" Servers). Sie interpretieren also das Protokoll des entsprechenden
Dienstes.
Circuit-Level-Proxy
Circuit-Level-Proxy-Server interpretieren das Anwendungsprotokoll nicht. Sie
benötigen vom Benutzer also zusätzliche Informationen zum Verbindungsaufbau und
verwenden dazu angepasste Clients. Im Allgemeinen fungiert ein Circuit-Level-Proxy-
Server quasi als Vermittlungsstelle für die entsprechenden Protokolle.
Intelligente
Proxy-Server
Intelligente Proxy-Server verfügen über zusätzliche Funktionalität.
Beispiel: Ein HTTP-
Proxy-Server hält Daten in einem Cache, um Anfragen nach denselben Daten nicht
erneut ins Internet leiten zu müssen.