Archive for the ‘ squid ’ Category

Proxy Verbindung testen

Es kommt immer wieder mal vor, dass man Probleme hat über einen Proxy auf das Internet zu zugreifen. Hier kann ein manueller Test mit Statusmeldungen helfen das Problem zu lokalisieren. Um die Verbindung zu einem proxy zu testen gibt es zwei Möglichkeiten.

Entweder mittels curl

Anzeigen des Headers der Seite

curl --proxy <proxyserver>:<proxyport> -Iv heise.de  -L
curl --proxy <username>:<Kennwort>@<proxyserver>:<proxyport> -Iv heise.de  -L --proxy-ntlm

Herunterladen einer Datei

curl --proxy 127.0.0.1:3128 "http://domain.tld/test.txt" -L -o test.exe

oder per telnet

telnet <proxyserver> <proxyport>
Trying <proxyserver>...
Connected to <proxyserver>.domain.tld
Escape character is '^]'.
get http://google.de HTTP/1.0
2x [Enter]

Squid: havp integrieren

HAVP ist ein HTTP Antivirus Proxy der die über einen Proxy aufgerufenen Daten in Echtzeit auf Virenprüft.

Die Installation an sich ist relativ einfach und schnell erledigt. In diesem Beispiel wird vorrausgesetzt, dass ein lauffähiger Squid bereits installiert ist. HAVP wird lediglich integriert.

Als erstes installieren wir das Paket

apt-get install havp

Anschließend richten wir HAVP über die Datei /etc/havp/havp.conf ein. Dazu müssen folgende Paremter konfiguriert werden:

PARENTPROXY localhost
PARENTPORT 8080
X_FORWARDED_FOR true
PORT 8081

Nun müssen im Squid noch einige Einstelungen vorgenommen werden.

http_port 8080 transparent
icp_port 0
cache_peer localhost            parent    8081     0  no-query no-digest no-netdb-exchange default
half_closed_clients off
shutdown_lifetime 1 seconds
forwarded_for off
buffered_logs on
strip_query_terms off
pipeline_prefetch on

Die Grün markierten Optionen sind optional und haben lediglich Auswirkungen auf die Performance.

Abschließend HAVP und Squid neustarten und testen. Rufen Sie dazu die Seite eicar.org auf. Rechts oben in der Ecke gibt es einen Link zu den Anti-Malware Testfiles. Beim aufrufen der Dateien sollte HAVP eine Warnmeldung ausgeben, dass die Dateien infiziert sind. Lediglich die verschlüsselten Dateien können nicht gescannt werden, da diese Dateien ohne Kennwort nicht entschlüsselt werden können, dieses Problem haben aber alle Virenscanner.

Debian: cannot execute /bin/sh: Permission denied

Da wollte ich eigentlich nur schnell den Proxy auf einer Linux Maschine einrichten, aber leider brach die Installation immer wieder bei der Einrichtung des Proxy Caches ab. Also neuen User erstellt und die Berechtigungen auf das squid Verzeichnis angepasst – ohne Erfolg. Nach sehr vielen verzweifelten Versuchen hab ich dann mal probiert mich mit dem User für squid anzumelden.

Ergebnis:

bash# su squid
bash# cannot execute /bin/sh: Permission denied

Daraufhin habe ich es mit anderen Usern versucht. Ohne Erfolg. Es kam immer die gleiche Meldung ^^

Ein Vergleich der Rechte von / zeigte schließlich wo das Problem lag.

ls -ld /
drwxrw-rw- 25 root root 4096 2008-10-25 15:43 /

Other fehlte des execute Recht, was eigentlich vorhanden sein sollte! Also die Berechtigungen vom Stammverzeichnis angepasst…

chmod 755 /
ls -ld /
drwxr-xr-x 25 root root 4096 2008-10-25 15:43 /

… und siehe da, ich konnte mich als User anmelden und squid konnte auch seinen Cache erstellen *freu*

Debian: squidgraph

mailgraph, bindgraph und couriergraph sind bekannt und auch als debian Paket verfügbar.

Squidgraph hingegen muss manuell gedownloaded werden. Es ist keine Hexerei, dennoch möchte ich kurz ein paar Zeilen dazu schreiben…

  1. SquidGraph herunter laden: http://squid-graph.sourceforge.net/
       
  2. Archiv entpacken: tar xfvz squid-graph-3.2.tar.gz
       
  3. GD Perl Library installieren: apt-get install libgd-perl
       
  4. Abschließend noch den Graphen erstellen:
./squid-graph --output-dir=/var/www/monitoring/squidgraph < /var/log/squid/access.log

Nachtrag: In der squid.conf dat muss emulate_httpd_log off sein.

Web Proxy Autodiscovery Protocol (WPAD)

Über WPAD ist es im Netzwerk möglich, dass sich die Clients automatisch den für sie bestimmten Proxy suchen.

wpad_client.jpg

Damit das ganze funktioniert, sind folgende Schritte notwendig.

  • auf den Clients die automatische Proxy suche aktivieren. Standart mäßig ist diese bereits aktiv.
  • Im DNS einen CNAME Eintrag names wpad erstellen, der auf einen Webserver zeigt, auf dem später ein script zur Ermittlung des Proxy Servers hinterlegt wird. Sollte der Windows 200x Server den Namen wpad trotz DNS Eintrag nicht auflösen, so schaue Sie sich die DNSBLockList an. Weiterlesen