Zum Inhalt springen

Squid

Squid-Proxy am Mac OS X Server

Ein Mac Server Betriebssystem hat in seinen Tiefen den mächtigen und altehrwürdigen Squid-Proxy schon mit dabei. Ich hätte letztens den Fall, dass ich einen Proxy gebraucht habe, der URL-Filtering macht. Ein Mac-Server war am Standort vorhanden, so dass es nahe lag, dass man sich mal mit dem Squid auseinander setzt und schaut, was man manchen muss, damit dieser die Filtering-Funktionalität zur Verfügung stellt.

Diese Anleitung richtet sich eher an den versierten Mac User / Administrator, weniger an den Linux-Guru, letzterer wird wahrscheinlich über dieser Anleitung lachen, wenn er sie denn überhaupt liest.

Ein guter Anfang ist, dass man sich das Programm Squidman holt. Dieses kümmert sich darum, dass der Squid-Dienst gestartet und gestoppt werden kann und das ganze mit einer GUI, was den Einstieg schon mal erleichtert.

Nun muss man den Squid noch sagen, dass er URL Filtering betrieben soll. Dies erledigt man am besten auch über den Squidman, Unter “Preferences” > “Template” kommt man an die Standard-Konfigurationsdatei (squid.conf) und dann dort auch gleich Anpassungen vornehmen. Folgende Einträge benötigt man:

— Begin —

# ACL Blocked URL by Markus Ostermeier

# Verweis auf eine lokale Datei, in der die geblockten URLs stehen

acl ban dstdomain “/etc/blocked_urls.txt”

# jetzt verbieten, dass die in der Datei enthaltenen URL

# angezeigt werden dürfen

http_access deny ban

# erlauben, dass alle anderen URLs angezeigt werden dürfen

http_access allow all

# ACL Blocked URL by Markus Ostermeier# Verweis auf eine lokale Datei, in der die geblockten URLs stehenacl ban dstdomain “/etc/blocked_urls.txt”
# jetzt verbieten, dass die in der Datei enthaltenen URL# angezeigt werden dürfenhttp_access deny ban
# erlauben, dass alle anderen URLs angezeigt werden dürfenhttp_access allow all

— End —

Der Einfachheit habe ich mal die Zeilen aus meiner Konfig kopiert, da die Kommentarzeilen die Bedeutung der einzelnen Einträge recht passend erklären. 🙂

Zusätzlich zu diesen Einträgen in der Config-Datei muss dann noch eine Text-Datei (in unserem Fall in /etc mit dem Namen blocked_urls.txt) angelegt werden, in der dann einfach die Domain, die nicht erreichbar ein sollen, eingetragen werden. Einfach eine Domain pro Zeile.

Das war´s dann im Großen und Ganzen auch schon mit der Konfiguration. Bin dann allerdings bei der Durchsicht der Log-Files darauf gekommen, dass der Squid in den Grundeinstellungen das UNIX-Zeitformat verwendet und ich dieses nicht wirklich lesen oder interpretieren kann. Nach einigem googlen hab ich dann noch den richtigen Eintrag für die Konfig (squid.conf) gefunden und diesen möchte ich euch nicht vorenthalten. 😉

# Eintrag für verfünftiges Zeitormat in den Logfiles, 14.1.2001 Markus Ostermeier
emulate_httpd_log on

Die Logfiles selbst kann man auch sehr komfortabel über den Squidman (Tools) erreichen. Nachfolgend noch eine Beispielzeile aus den Logdateien:

192.168.1.188 – – [14/Jan/2011:14:06:06 +0100] “GET http://extensions.geckozone.org/updates/Minimeter-skynet.rdf HTTP/1.1″ 200 1466 TCP_MISS:DIRECT