Der Pilgermaske Blog

der andere blog - Willkommen!

Übersicht: Alternativen zum Squid Proxy?

- Veröffentlicht unter Linux von

Die Nutzung eines Proxy wie Squid kann verschiedene Gründe haben: Ein Webbenutzer möchte die Gewissheit haben, möglichst wenig Informationen über sich und seine PC Ausstattung im Internet zu streuen. Oder er ist in einer geografischen Umgebung Zuhause, die eine effektive Anbindung an das WWW noch nicht erfahren hat. Wie dem auch sei: In den Schwerpunkten ‘Anonymität’ und ‘Datenvorhaltung’ kann Squid sicherlich überzeugen. Aber sicherlich kann Squid auch zu komplex sein, wenn nur ein kleiner Haushalt seine DSL Performance etwas aufpeppen will oder ein kleines Entwicklungsbüro nicht gleich dem WWW kundtun möchte, auf welchen Webseiten es sich so umschaut. Schauen wir nach Alternativen!

Um es gleich zu sagen: die Auswahl ist bescheiden. Gefunden habe ich im Software Repositorie von Kubuntu Linux 12.04.3 LTS mit dem Befehl sudo aptitude search proxy | less mehrere Proxy Projekte, die sich aber bei genaueren Hinsehen schnell ausdünnten. Das hat zum einen den Grund, dass die Funktion ‘Proxy’ umgangssprachlich zwar meistens mit einen HTTP Proxy – den ein Webnutzer in seinen Browser eintragen kann – assoziiert wird, technisch strenggenommen mit ‘Proxy’ aber auch einfach nur ein ‘Stellvertreter- Zugriff auf Daten’ gemeint ist. So gibt es neben einen DNS und Datenbank Proxy auch solche für Authentifizierungen (PKI’s) und IMAP Zugriffe. Deswegen hole ich in diesen Artikel mal weiter aus und zeige auch Proxy Projekte, die keine HTTP Proxys sind.

Ein weiteres Auswahlkriterium war die letzte erfolgte Software- Änderung. Kein Webnutzer nutzt gerne einen Proxy, mit dem Admina sich mehr Sicherheit oder Performance verspricht, dessen Entwicklung aber 2005 eingestellt wurde. Ich war auch überrascht, solche ungepflegte Projekte in den offiziellen Software Repositories einer Linux Distribution zu finden! Ich nahm an, Projekte welche über einen längeren Zeitraum keinen Statuswechsel gezeigt haben, fliegen automatisch raus … So irrt Admina.

Damit komme ich zur Vorstellung der gefunden Proxy Projekte. Alle Projekt- Namen werden in diesen Artikel geschrieben, wie sie auch in den (Ubuntu) Repositories zu finden sind.

Der swift-proxy ist ein gutes Beispiel, das ein Proxy nicht automatisch etwas mit einen HTTP Proxy zutun hat. Vielmehr geht es beim swift-proxy um einen Stellvertreterzugriff von PC-Clients/Anwender auf sehr große Datenbestände. Das Projekt nennt größere Mengen an eher statischen Datenbeständen (z.B. Fotogalerien, Film) und cluster-ähnliche Strukturen als Basis und bietet einen kontrollierten und auch verschlüsselten Zugriff auf diese Daten durch den swift-proxy.

Auch der anon-proxy (JAP) ist kein HTTP Proxy wie vielleicht angestrebt, bietet aber Funktionen, die einer effektiven Anonymität im WWW sehr hilfreich sein kann. Im Prinzip ist es eine Software Komponente, die, einmal installiert, sich im Browser als Proxy hinterlegt und auf ein Netz von anonymen Proxy’s zugreift. Wer den Firefox benutzt kennt vielleicht das JonDo Projekt, welches das kommerzielle Projekt des anon-proxy ist. Anon-proxy wird von einer deutschen Universität betreut und basiert auf Java. Wer also keinen eigenen HTTP Proxy umständlich selbst betreiben will, soll sich mal diese Software anschauen! 100% testwert.

Weitere Proxy Projekte sind der connect-proxy der seine Stärke in SSH Verbindungen sieht und der desproxy, wobei dieses Projekt aber seit 2004 keine Weiterentwicklung erfährt – seit 2005 auch der ffproxy. Der dnsproxy ist ebenfalls kein HTTP Proxy, kann aber nützlich sein, wenn die Anforderung wäre, dass eine schnellere Namensauflösung im Internet für den Websurfer erfolgen soll. Ähnlich wie der desproxy siecht auch der simpleproxy seit 2005 dahin …

Falls es jemand interessieren sollte, wie Twitter oder Amazon im WWW die Zugriffe auf ihre Webangebote regeln/proxen, kann sich mal das Projekt haproxy anschauen. Für den normalen Hausgebrauch ziemlich overdressed aber man soll keinen davon abhalten, etwas Neuland zu betreten. Vielleicht wäre dieses Projekt eher etwas für die Berufsplanung: mit knowhow in solch einer Software, hätte Admina sicherlich gute Voraussetzungen für einen lukrativen consultant job.

Die Webseite wirbt schon mit einen ‘really small HTTP/HTTPS proxy’: gemeint ist der micro-proxy. Wobei ich die Aussage mit HTTPS erst nach einen (erfolgreichen Langzeit-) Test glauben würde, da es nach meiner Meinung, eine SSL/TLS Verbindung – wie sie ein HTTPS erfordert – nicht über einen Proxy stabil und zuverlässig geben kann. Der letzte Status dieses Projektes ist von 2012 und in der Info von dem Paket ist zu lesen, dass die Software aus nur 320 Zeilen besteht. Der micro-proxy benutzt den inetd und ist damit nicht der schnellste Dienst. Wie es auch der Entwickler beschreibt …

Der tinyproxy. Wenn Du einen einfach konfigurierbaren und sicherheits-betonten Proxy gesucht hast: das ist er! Ich habe ihn selbst eine zeitlang benutzt und war begeistert, wie einfach ein Proxy zu konfigurieren ist. Allerdings: dieser Proxy bietet kein caching! Also jeder Aufruf einer Webseite holt der tinyproxy direkt wieder von dem entsprechenden Webserver. Kein cache! Wenn also die Anforderung ist, den Daten- Traffic zu reduzieren: falsche Wahl. Wenn aber die Anforderung sein sollte, eine gewissene Anonymität schnell konfigurieren zu wollen: richtige Wahl. Auch finden sich keine Authentifizierungmöglichkeiten. Daher bittet sich dieser Proxy eher auf einen Linux Server im Wohnzimmer an, als auf einen Server, der bei einen Hoster steht. Es sei denn, man hat nichts dagegen, dass andere ihn nutzen. Der tinyproxy loggt standardmäßig in eine eigene Datei oder kann den syslog nutzen. Zugriffslimitierungen über IP-Adressen sind konfigurierbar – wie gesagt: aber keine User- Authentifizierungen. Das (einfache) Anlegen von Filterlisten macht diesen Proxy vielleicht auch für besorgte Eltern oder Kindereinrichtungen interessant. Besonders interessant finde ich die Möglichkeit, einen sogenannten ‘reverse proxy’ einzurichten. Im Grunde geht es darum, dass hinter Schlüsselwörter definifierte Webadressen abgelegt werden, die dann einfach gezielt mit dem Proxy aufgerufen werden. Beispiel? In /etc/tinyproxy.conf wird festgelegt:

ReversePath  "/google/"  "http://www.google.com/"
ReverseBaseURL  "http://meinserver:8888"

Der Aufruf im Browser sieht dann so aus: http://meinserver:8888/google/

Das macht dann Sinn, wenn Admina den Proxy im täglichen Einsatz nicht nutzen will, aber bei bestimmten Adressen sehr wohl.

Einen anderen Schwerpunkt legt der ziproxy. Auch der ziproxy hat keinen(!) cache und holt alle Daten für den Anwender bei Anforderung im Browser direkt vom entsprechenden Webserver. Allerdings reduziert er gnadenlos die Bild- Qualität und komprimiert den ganzen Datenstrom so das eine sehr schnelle Verfügbarkeit der Daten erreicht wird. Wem also Bilder beim surfen im WWW weniger wichtig sind, aber dafür Textmeldungen schnell verfügbar haben will, ist mit dem ziproxy gut bedient. Auch scheint das Projekt tagesaktuell zu sein. 100% testwert.

Gerade eben habe ich den HTTP Proxy polipo gefunden. Dieser Proxy hat eine caching Funktion, ist in /etc/polipo/config gut dokumentiert und damit sehr einfach zu konfigurieren. Außerdem beinhaltet Polipo einen einfachen Werbeblocker. Bei den Anonymisierungstests (siehe Proxy Tests unten im Text) kann dieser Proxy recht gut abschneiden – je nach Konfiguration. In Polipo ist auch ein Webserver integriert und ermöglicht durch den Aufruf http://meinserver:8123/polipo eine einfache Übersicht von Proxy cache und Konfiguration. Ein sudo polipo -h auf der Linux console zeigt verschiedene Optionen: sudo polipo -x leert den cache und ein sudo polipo -v zeigt die bestehende Konfiguration mit Erklärung. Auch ein ps -ax | grep polipo gibt gute Infos. Übrigens, der cache kann sehr schön unter /var/cache/polipo eingesehen werden. Das Projekt wird scheinbar noch gepflegt, da an den sourcen noch in 2013 Änderungen erfolgt sind. Allerdings ist Polipo auf meinen Server ständig abgestürzt … Auf jeden Fall eine Testphase einplanen! 100% testwert.

Leider ist die Namensgebung in der Proxy Entwickler Gemeinde etwas einseitig: Anon ist sehr beliebt, weil es den Begriff Anonymität – die Admina sich mit einen Proxy verspricht – assoziiert. Und der Begriff ‘Proxy’ soll natürlich auf die Funktion hinweisen und damit gibt es dann schon ein Dutzend ähnlich-lautende Proxy Projekte und Umschreibungen.

So auch der Anon Proxy Server. Diesen habe ich bei Recherchen im Internet auf seiner Webseite gefunden, konnte ihn aber keinen der gefunden Proxy Projekte in den Ubuntu Repositories zuweisen. Interessant fand ich an diesen Proxy, dass er der einzige ist, der eine grafische Verwaltungsoberfläche (im Browser) mitbringt. Auch die Downloads zeigen ein aktuelles Datum und weisen damit ein aktives Projekt aus. Die Webseite des Proxy Servers gibt sich etwas sperrig und über das Design der Anwendung könnte Admina vielleicht die Nase rümpfen, aber wenn man die Konfigurations- Doku betrachtet hat, werden sicherlich die wahren Stärken dieses Projektes erkannt: Noch einfacher läßt es sich nicht konfigurieren! Außerdem haben mich die vielfältigen Authenfizierungs- Optionen angenehm überrascht: smbclient, plaintext, mysql, htpasswd – da kommt Admina in’s spielen. 100% testwert.

Auf den myproxy – ein Proxy für Zertifikate und Keys (Stichwort: PKI) – gehe ich jetzt nicht mehr tiefer ein. Ebenfalls kein HTTP Proxy.

Übrigens, falls sich jemand fragt, wie man die Sicherheit eines Proxy’s messen kann, würde ich wenigstens diese drei Angebote zu Rate ziehen:

Proxychecker und toolzzz . Vorher natürlich einen Proxy im Browser eintragen und aktivieren!

Tja, damit komme ich mal zum Ende und hoffe mit dieser groben Übersicht der IT-Menschheit etwas Gutes getan zu haben. Mir macht es immer Spass diese Projekte zu sichten, weil ich doch immer wieder überrascht werde, auf welche Lösungen die Buben Programmierer kommen: Meinen Respekt haben sie.

Have fun

[UPDATE,03.09.2022] Gerade habe ich noch den mitmproxy gefunden - er scheint für Windows geeignet zu sein, hat ein Browser Frontend und ist Open Source.

[UPDATE,01.01.2024] Gerade habe ich auf der Webseite von mitmproxy nachgelesen: Dieser Proxy ist auch für Mac, Linux und Windows verfügbar und kann auch über Docker und brew installiert werden.

Comments