Ein Proxy (oder Proxy-Server) ist ein Programm, das sich zwischen Client und Server befindet.
Für den Client verhält es sich wie ein Server. Es bearbeitet die Clientanfragen aber nicht selbst, sondern leitet sie an den wirklichen Server weiter (indem es sich ihm gegenüber wie ein Client verhält).
Sinn und Zweck:
Zum kontrollierten Zulassen von Verbindungen durch eine FireWall (kein direkter IP-Paketaustausch)
Zugriffe durch Zwischenspeicherung (Caching) zu beschleunigen, z.B. bei HTTP
- Zugriffe kontrollieren - wer darf auf was zugreifen
- Inhalte filtern
Ein Proxy-Server ist oft Teil einer ApplicationLevelFirewall.
Software:
Squid Der caching proxy (für http und ftp)
Privoxy sorgt für Privatsphäre ohne Werbung (Der Nachfolger vom alten Internet Junkbuster )
WWWoffle ist ein caching proxy der auch offline-browsen bei Einwahlverbindungen ermöglicht
socks-Proxys. Socks ist ein allgemeiner Proxy, der es - wie bei 'inetd' - ermöglicht, IP-Prüfungen und Anmeldung dazwischen zu schalten.
Zorp - unterstützt HTTP, FTP, SSL, finger, whois, telnet und plugins (Python basiert)
redir ist der einfachste Proxy. Er leitet ip:port an ip:port um.
Polipo ist ein schneller, schlanker Proxy für HTTP mit Caching- und Filterfunktionalität.
transparenter Proxy mit iptables:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
Clienteinstellungen bei Nutzung von Proxy-Servern
Um einem WEB-Browser oder einem Download-Manager die Nutzung eines Proxys vorzuschreiben, sind diese Clientprogramme anzupassen. Für Kommandozeilen-Programme wie wget wird dies über die Variablen http_proxy und ftp_proxy gemacht. Um die Variablen nicht immer neu eingeben zu müssen, sollten diese in der Datei /etc/profile folgendermaßen definiert werden:
export http_proxy="http://<User>:<Passwort>@<ProxynameOderIP>:<portNummer>"
Ein konkretes Beispiel:
export http_proxy="http://benutzer:geheim@192.168.1.2:3128"
Wenn keine Authentifizierung nötig ist:
export http_proxy="http://192.168.1.2:3128"
Anschließend muss sich entweder neu angemeldet werden oder die /etc/profile in der Shell aufgerufen werden mit:
. /etc/profile
siehe auch ReverseProxy (beide Seiten lieber zusammenfassen?), AnonProxy