Squid | |
---|---|
Aktuelle Version: | 3.0-STABLE7 (22. Juni 2008) |
Betriebssystem: | Plattformübergreifend |
Kategorie: | Proxyserver |
Lizenz: | GPL |
Deutschsprachig: | nein |
www.squid-cache.org |
Squid (engl. „Kalmar“) ist der Name eines freien Proxyservers, der unter der GNU General Public Licence steht. Er zeichnet sich vor allem durch seine gute Skalierbarkeit aus. Squid unterstützt die Netzwerkprotokolle HTTP/HTTPS, FTP über HTTP und Gopher.
Inhaltsverzeichnis |
Squidserver können sowohl für sehr kleine Netze (5–10 Benutzer), als auch für sehr große Proxyverbände in Weitverkehrsnetzen mit mehreren hunderttausend Benutzern eingesetzt werden.
Squid hat sich ebenfalls als transparenter Proxy bei ISPs (Internet Service Provider) bewährt. In dieser Funktion werden alle Anfragen von Kunden über den Proxy geleitet, was zur Beschleunigung der Datenübertragung sowie zur Reduktion von Bandbreite des Providers führt. Häufig wird Squid auch als Reverse Proxy zum Schutz und zur Beschleunigung von Webservern eingesetzt. Seit Version 2.6 läuft Squid auch als HTTPS-Proxy. Damit wird die SSL-Verschlüsselung vom Webserver auf den Proxy verlagert.
Er kann auch mittels zusätzlicher Redirector-Software eine Filterfunktion wahrnehmen. Damit werden bestimmte Seiten oder Seiteninhalte nicht dargestellt, sondern stattdessen eine Ersatzseite oder Ersatzgrafik angezeigt. Dies wird oft zur Vermeidung von Werbeinhalten, aber auch zur Zensur von Webinhalten eingesetzt. Der SquidGuard, der mit Squid ausgeliefert wird, ist ein Programm, das diese Redirector-Funktionalität (in Squid mit 'url_rewriter' bezeichnet) anwendet. Ein alternatives Produkt ist UfdbGuard, das zusätzlich zu den Filterfunktionen auch Erkennung und Blocken von Tunnel(Rechnernetz) und nicht autorisierten Zertifikaten beherrscht.
In beschränktem, aber für praktische Zwecke oft ausreichendem Maß kann Squid über sogenannte 'Delay-Pools' auch zur Bandbreitenkontrolle eingesetzt werden. Dabei können Benutzerklassen (genauer gesagt Adressbereiche) definiert werden, die unterschiedliche Anteile bei der Leitungsnutzung haben. Einer Benutzerklasse kann ein Vorrat an Kapazität (Buckets) nach dem Token-Bucket-Algorithmus zugeordnet werden, der mit voller Bandbreite aufgebraucht werden darf. Dadurch tritt die Beschränkung erst bei intensiver Nutzung auf, während bei 'normaler' Nutzung aus der Sicht des Anwenders die volle Bandbreite zur Verfügung steht. Es ist konfigurierbar, wieviele nichtbenutzte Buckets eine Klasse ansparen kann, um bei Peaks mit voller Bandbreite bedient werden zu können. Was nicht möglich ist, ist die Zuordnung der vollen Kapazität, falls diese gerade verfügbar ist.
In gewissem Umfang kann Squid auch anonymisieren, indem bestimmte Header eines Web-Requests weggefiltert werden. Allerdings muss Squid extra dafür kompiliert werden, da die meisten Binaries diese Option nicht enthalten.
Ein gutes Beispiel für das Einsatzgebiet von Squid-Caches ist Wikipedia. Derzeit (Stand Dezember 2007) hat das Wikimedia-Projekt ca. 90 Squids weltweit im Einsatz. Diese Reverse Proxys halten viele Seiten im Speicher, damit häufige oder wiederholte Anfragen nicht immer von den Web- und Datenbankservern bearbeitet werden müssen. Diese Systeme bedienen hauptsächlich Seitenaufrufe von unangemeldeten Benutzern und halten über 75 % der Datenanfragen von den Webservern fern; die Effizienz der Webserver wird durch die Squid-Caches also mehr als vervierfacht[1].
Es existierten grafische Benutzeroberflächen (GUI) zur Administration des Servers, z. B.: