Man(n) wächst ja an seinen Herausforderungen… So auch diesmal.
Die Aufgabenstellung: Wir brauchen einen gaaaanz einfachen Proxy-Server, der (basierend auf einer Blacklist) nach Begriffen filtert. Kosten soll er natürlich nichts, udn einfach zu administrieren soll er auch sein..
Die Lösung: Und wieder einmal geht mein erster Gedanke zu Linux, im Detail Debian. Durch die guten Erfahrungen mit Debian 4.0 in Verbindung mit VMWare Server bestärkt, war das Basissystem (einmal ohne Allem) schnell aufgesetzt (Zeitaufwand < 30 Minuten). Nachdem ich den Midnightcommander, HTOP und SSH
apt-get install mc ssh htop
installiert hatte, ging es auch mittels wget ans saugen von Webmin, der netten und benutzerfreundlichen Oberfläche für Linux. Ein kurzes
dpkg -i webmin_all_1.420.deb
und händisches Installieren der abhängigen Bibliotheken mittels apt, konnte ich über https://IP:10000 auf Webmin zugreifen. Bisher hat der ganze Eingriff nichtmal 45 Minuten gedauert.
Im Webmin versteckt sich unter dem Menüpunkt “Unused Modules” der “Squid Proxy Server”, sympathischerweise findet man gleich einen Link zum vollautomatischen Installieren und 3-4 Sekunden später ist er fertig.. Der Squid.
Die Standard-Zugriffskontrollen (ACL) “Safe Ports” und “SSL Ports” sind (auf deutsch gesagt) für den Arsch und können gelöscht werden.. Wichtig ist, dass die ACL “all” und “Apache” nicht gelöscht werden, aus Vorsichtsgründen habe ich mich (Lernen macht schlau und aus Fehlern wird man klug) nur von den ACLs “Safe Ports” und “SSL-Ports” getrennt und aber alle anderen ACL deaktiviert…
Dann wurden 2 neue ACL angelegt:
Bad_Words: “URL_Regexp” Hier kommen zeilenweise alle bösen Stichworte rein, bei denen die nette “Access denied”-Meldung kommen soll.
Bad_URL: “Webserver_Hostname” Hier kommen zeilenweise alle Hostnamen rein, auf die nicht zugegriffen werden soll.
Der Unterschied zwischen “URL_Regexp” und “URL_Path_Regexp” ist ganz einfach: “URL_Regexp” sucht in der gesammten Adresszeile nach den bösen Wörtern, “URL_Path_Regexp” lässt von der Suche die Domain außen vor und kümmert sich nur um alles hinter der TLD (.de, .com,…).
Diese ACLS werden jetzt noch wie folgt aktiviert:
Bad Words - deny
Bad_URL - deny
all - grant
Nach Speichern und setzen des Proxys am entsprechenden Client auf den (Standard-)Port 3128 läuft alles wie am Schnürchen, in nichtmal 60 Minuten wurde ein (zugegeben einfacher) Proxy-Server aufgesetzt..