Ein Proxy oder Proxyserver (vom engl. proxy representative = Stellvertreter von lat. "proximus" = "Der Nä(c)hste") ist ein Computerprogramm, das im Datenverkehr zwischen Computern oder Computer-Programmen in so genannten Computernetzen, zwischen angefragten Server und anfragendem Client vermittelt. Dem Server gegenüber verhält sich das Programm wie ein Client, dem Client gegenüber wie ein Server. Meist liegt der Ort des Proxy-Servers näher am anfragenden Client als am angefragten Server, zu dem der Proxy vermittelt, aber nicht notwendigerweise. Z.B. vermittelt ein Proxy-Server einer Firma allen Datenverkehr der Computer der Mitarbeiter mit dem Internet und der Proxyserver JAP vermittelt, über eine seiner Komponenten in New York, den anonymen Internetdatenverkehr eines Surfers mit einem Internetshop seiner Stadt. Der strukturell Nä(c)hste ist hier nicht notwendigerweise der räumlich Nä(c)hste.
Funktion
Im einfachsten Fall leitet der Proxy die Daten einfach weiter, üblicherweise hat ein Proxy aber eine der folgenden Funktionen:
- Zwischenspeicher (Cache): Der Proxy speichert häufig gestellte Anfragen und kann diese dann beantworten, ohne zuerst den Server zu fragen. Dadurch können Anfragen schneller beantwortet werden, und es wird gleichzeitig die Netzlast verringert.
- Filter: Mittels Proxy können beispielsweise bestimmte Kategorien von Webseiten für den Benutzer gesperrt werden. Es kann auch der Inhalt auf schädliche Programme durchsucht werden. Somit ist ein Proxy auch oft Teil von Firewalls.
- Zugriffssteuerung: Ist der Server nicht frei im Internet erreichbar, so kann ein vorgeschalteter Proxy den Zugriff ermöglichen. Ein Angreifer kann dann den Server nicht mehr direkt angreifen, sondern nur den Proxy. Es kann auch der Zugriff von Clients auf Webserver nur über einen Proxy ermöglicht werden.
- Vorverarbeitung von Daten: Proxys können auch gewisse Applikationsfunktionen übernehmen, beispielsweise Daten in ein standardisiertes Format bringen.
- Anonymisierungsdienst: Der Proxy leitet die Daten des Clients zum Server weiter, wodurch der Server die IP-Adresse des Clients nicht auslesen kann. Siehe auch: Anonymität im Internet
Protokolle
Proxys sind generell für jedes verbindungsorientierte Protokoll möglich. Häufig werden sie für folgende Protokolle verwendet:
- HTTP: Die meisten Provider bieten Ihren Kunden die Verwendung eines Proxies an. Dadurch wird die Netzlast verringert und der Zugriff beschleunigt. In Firmen hingegen wird über solche Proxies oft das Surfverhalten der Mitarbeiter eingeschränkt bzw. kontrolliert.
- FTP: Die meisten HTTP-Proxies beherrschen auch FTP. Hier sind dieselben Funktionen wie bei HTTP möglich.
- SMTP: Manche Firewalls bieten einen SMTP-Proxy an, der den Mailverkehr zwischen Internet und Mailserver überwacht und bestimmte gefährliche bzw. unerwünschte Befehle ausfiltert. Durch das Design des SMTP-Protokolls ist jeder SMTP-Server auch als SMTP-Proxy verwendbar.
- Applikationsproxy: Ein Proxy, der auf ein bestimmtes Server-Programm zugeschnitten ist, und nur dessen Protokoll erkennt. Diese Form eines Proxys wird oft dazu verwendet, den eigentlichen Server in ein geschütztes Netz zu stellen und nur durch den Proxy erreichbar zu machen. Auf diese Art ist der Server weitgehend vor Angriffen geschützt. Die Proxy-Software ist weit weniger komplex, und daher auch sicherer gegen Angriffe.
Sonderformen
- Transparenter Proxy: Die Verwendung eines Proxy-Servers muss meist dem Client explizit mitgeteilt werden. Ein transparenter Proxy muss hingegen nicht explizit angegeben werden. Ein Paketfilter auf einem Gateway zwischen Client und Server kann die Datenpakete abfangen und sie an den Proxy weiterleiten. Dieses Verfahren ist für den Client transparent, d.h. er bemerkt nicht, dass er einen Proxy verwendet.
- Reverse Proxy: Tritt statt dem eigentlichen Server in Erscheinung. Es können auch mehrere Web Server im Internen Netz über eine einzige öffentliche IP Adresse erreicht werden. Die Filterrung erfolgt über den Header des TCP Packets, bzw. über die URL. Dadurch können etwa Zugriffskontrollen oder Caches realisiert werden.
Proxy Software
Bekannte Proxy-Server-Software:
- WebWasher - Lokaler HTTP-Proxy, Freeware
- Deutschsprachiges Proxomitron-Forum Proxomitron - Lokaler HTTP-Proxy, Shonenware
- http://www.privoxy.org/ Privoxy - ehemals http://www.junkbusters.com/ Junkbuster - Lokaler HTTP-Proxy (Win32, Unix/Linux, AmigaOS, MacOS)
- http://www.squid-cache.org/ Squid (Linux/Unix)
- http://www.research.att.com/sw/tools/iproxy iProxy (AT&T)
- http://bfilter.sourceforge.net/index.php BFilter - Lokaler HTTP-Proxy, Freeware
- http://www.janaserver.de Jana-Server - Freeware für private Anwendungen
- Wwwoffle
Bekannte Proxy-Client-Software:
- Java Anonymity & Privacy (JAP) - Anonymisierungsprogramm