Tutorial Richten Sie einen anonymen HTTP-Proxy mit Squid ein

In diesen Tagen musste ich für einige Kollegen einen anonymen HTTP-Proxy mit Squid konfigurieren . Das Ziel bestand nicht nur darin, die IP-Adresse zu verbergen, sondern auch, dass jeder Benutzer auf eine Webseite mit derselben IP-Adresse zugreifen konnte, um Blockierungen zu vermeiden.

Die gewählte Lösung war Squid 3, das nichts weiter als ein Cache-Proxy-Server ist. In früheren Artikeln haben wir darüber gesprochen, wie man den SOCKS-Proxy konfiguriert , der flexibler ist. In diesem Fall benötigte ich jedoch einen HTTP-Proxy.

Außerdem lernen wir in diesem Tutorial, Squid 3 nicht nur so zu konfigurieren , dass der Proxy anonym ist, sondern es auch mit Benutzername und Kennwort zu schützen, damit es nicht auf nicht autorisierte Personen zugreifen kann, und den Zugriff auf bestimmte Seiten über den Proxy einzuschränken.

Wie immer wird das Tutorial unter Ubuntu getestet, in diesem Fall war es die 12.04 x64-Version, aber ich denke, es ist in jeder höheren Version von Ubuntu und sogar anderen Linux-Distributionen wie CentOS oder Debian anwendbar. Ich empfehle, einen erschwinglichen und billigen VPS-Server zum Testen zu verwenden, bevor der Proxy für die Öffentlichkeit freigegeben wird.

Was ist Tintenfisch?

Squid ist ein plattformübergreifender Cache-Proxy , mit dem sich die Antwortzeiten verkürzen lassen. Es ist Open Source und kostenlos.
Mit dem, was bisher gesagt wurde, scheint es etwas sehr Ähnliches zu Varnish Cache zu sein , über das wir bereits gesprochen haben, aber es gibt wesentliche Unterschiede zwischen beiden, über die ich jetzt nicht sprechen werde, aber um zu sagen, dass es für den Zweck dieses Artikels ein anonymer HTTP-Proxy ist Mit der Authentifizierung ist Squid die beste Option (mit Varnish könnten Sie nicht).

Installieren Sie Squid 3 Schritt für Schritt auf Ubuntu

Die Installation von Squid in Ubuntu ist sehr einfach, wir führen den folgenden Befehl aus:
apt-get install squid3 apache2-utils

Wir benötigen das Paket apache2-utils , da wir mit dem Tool htdigest Benutzer für unseren anonymen Proxy mit Squid erstellen.

See also  Hashcash schützt Ihre Website vor Spam

Damit haben wir Squid 3 bereits installiert und arbeiten, jetzt kommt der am meisten gefürchtete Schritt, die Squid-Konfiguration. Wir werden es auf einfache und schrittweise Weise zeigen, aber wir haben immer noch die Squid-Dokumentation zur Hand.

Konfigurieren Sie Squid 3 einfach als anonymen Proxy

Die Standardkonfigurationsdatei von Squid 3 enthält viel Text, und selbst das Lesen ist endlos. Ich empfehle nicht, es zu löschen, aber wenn wir es mit einem anderen Namen belassen, falls wir es konsultieren müssen, führen wir dazu den Befehl aus:
mv /etc/squid3/squid.conf /etc/squid3/squid.conf.bak

Sobald dies erledigt ist, stoppen wir Squid mit dem Befehl:
service squid3 stop

Jetzt erstellen wir eine neue Konfigurationsdatei für unseren anonymen Proxy, für die ebenfalls ein Benutzername und ein Kennwort erforderlich sind. Führen Sie zunächst nano , um die Datei mit dem folgenden Befehl zu erstellen:
nano /etc/squid3/squid.conf

Der Inhalt der Konfigurationsdatei lautet wie folgt:

 auth_param digest program /usr/lib/squid3/digest_pw_auth -c /etc/squid3/password auth_param digest realm proxy acl authenticated proxy_auth REQUIRED acl whitelist dstdomain .google.com .googleapis.com .geotrust.com http_access allow authenticated whitelist http_access deny all http_port 3528  #Safe ports acl SSL_ports port 443     # https acl SSL_ports port 563     # snews acl SSL_ports port 873     # rsync acl Safe_ports port 80     # http acl Safe_ports port 21     # ftp acl Safe_ports port 443     # https acl Safe_ports port 70     # gopher acl Safe_ports port 210     # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280     # http-mgmt acl Safe_ports port 488     # gss-http acl Safe_ports port 591     # filemaker acl Safe_ports port 777     # multiling http acl Safe_ports port 631     # cups acl Safe_ports port 873     # rsync acl Safe_ports port 901     # SWAT  #Anonymous proxy via off forwarded_for off request_header_access Allow allow all request_header_access Authorization allow all request_header_access WWW-Authenticate allow all request_header_access Proxy-Authorization allow all request_header_access Proxy-Authenticate allow all request_header_access Cache-Control allow all request_header_access Content-Encoding allow all request_header_access Content-Length allow all request_header_access Content-Type allow all request_header_access Date allow all request_header_access Expires allow all request_header_access Host allow all request_header_access If-Modified-Since allow all request_header_access Last-Modified allow all request_header_access Location allow all request_header_access Pragma allow all request_header_access Accept allow all request_header_access Accept-Charset allow all request_header_access Accept-Encoding allow all request_header_access Accept-Language allow all request_header_access Content-Language allow all request_header_access Mime-Version allow all request_header_access Retry-After allow all request_header_access Title allow all request_header_access Connection allow all request_header_access Proxy-Connection allow all request_header_access User-Agent allow all request_header_access Cookie allow all request_header_access All deny all 

Jetzt werden wir die verschiedenen Teile sorgfältig kommentieren. Die erste Zeile:

 auth_param digest program /usr/lib/squid3/digest_pw_auth -c /etc/squid3/password 

Es zeigt das Authentifizierungsprogramm an und mit dem Parameter -c wird der Speicherort der Datei angegeben, die die Benutzerkennwörter enthält.

See also  Bookworm, einfacher eBook-Reader für Linux

Die zweite Zeile:

 auth_param digest realm proxy 

Es gibt den Namen an, der zur Authentifizierung des Proxys an den Client gesendet wird. In unserem Fall habe ich den Namen “Proxy” gewählt.

Die dritte Zeile:

 acl authenticated proxy_auth REQUIRED 

Bei dieser Anweisung muss der Benutzer authentifiziert sein, um den Proxy verwenden zu können.

Nun kommen drei Zeilen, die den Abschnitt zum Einschränken von Websites bilden:

 acl whitelist dstdomain .google.com .googleapis.com .geotrust.com http_access allow authenticated whitelist http_access deny all 

Wir sehen, dass wir in der ersten Zeile die Liste der erlaubten Domains mit der Option dstdomain und diese Liste whitelist aufrufen. In der folgenden Zeile wird angegeben, dass der Zugriff auf die authenticated (aus den vorherigen Zeilen, in denen es um die Benutzerauthentifizierung ging) und die whitelist .
Und die letzte Zeile zeigt an, dass der Rest, der die vorherigen Bedingungen nicht erfüllt, keinen Zugriff hat.

In dieser Gruppe von Konfigurationen finden wir die Zeile :

 http_port 3528 

Wir definieren den Port unseres HTTP-Proxy.

Der Abschnitt #Safe ports beschreibt lediglich, welche Ports für die Verwendung als Proxy sicher sind. Der Abschnitt #Anonymous proxy ist bereits interessanter. Er legt fest, dass Header den Proxy senden. Es ist sehr wichtig, auf diejenigen zu achten, die als inaktiv mit “aus” angegeben sind oder deren Verwendung mit “Alle verweigern alle” verweigert wurde. In unserem Fall sind dies die Zeilen:

 via off forwarded_for off ... request_header_access All deny all 

Wir müssen diese Header deaktivieren, da sie unsere echte IP-Adresse anzeigen und der Proxy anonym sein soll. Die anderen Header bleiben aktiv, da sie unsere IP nicht preisgeben.

See also  HootSuite verwaltet Twitter und Facebook von Android

Hinzufügen von Benutzern zum anonymen HTTP-Proxy mit Squid

Der Proxy ist konfiguriert, aber wir müssen mindestens einen Benutzer hinzufügen, um ihn zu verwenden. Die Prozedur ist sehr einfach, wir führen den Befehl aus:
htdigest -c /etc/squid3/passwords proxy usuario1

In diesem Befehl bezieht sich “proxy” auf den Namensbereich, über den wir in der zweiten Zeile der Konfigurationsdatei gesprochen haben. Da wir den Namen “Proxy” verwenden, muss beim Hinzufügen von Benutzern auch der Name “Proxy” verwendet werden. Wo Sie usuario1 setzen, setzen wir den Benutzernamen. Nach Ausführung des Befehls werden wir aufgefordert, das Passwort zweimal einzugeben .

So konfigurieren Sie einen anonymen HTTP-Proxy in FireFox

Viele von Ihnen werden sich fragen, wie dieser HTTP-Proxy mit Benutzername und Kennwort in FireFox konfiguriert werden kann, da in den FireFox-Netzwerkoptionen nur HTTP-Proxys verwendet werden können, für die keine Authentifizierung erforderlich ist. Die einfachste Lösung ist die Verwendung eines FireFox-Plugins namens FoxyProxy . Dies ist der Fall , wenn Sie einen HTTP-Proxy mit Benutzerauthentifizierung und Kennwort verwenden können.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *