Wer zu Hause sicherer surfen und seine Kinder vor zweifelhaftem Web-Content schützen möchte, der muss einen entsprechenden Filter einrichten. Das kommerzielle, aber für Privatanwender kostenlose Tool Safesquid bietet alles dazu Notwendige, zeigt aber kleine Schwächen.
Safesquid bietet einen Proxy für Heimanwender und kleinere bis mittelgroße Netzwerke. Sie schalten die Software zwischen Browser und Internet und gestalten damit durch eine Reihe von Inhaltsfiltern (unter anderem auch für Flash), Domain-Sperrlisten und einen Malware-Scan das Surfen sicherer. Daneben bietet Safesquid eine Zugriffskontrolle durch Webseiten-Kategorien und Profile sowie eine Bilderkennung von pornografischem Material.
Durch einen Cache für Webseiten und Bilder sowie das intelligente Prefetching von Webseiten beschleunigt das Tool das Surfen. Für die Konfiguration bietet es ein komfortables Web-Interface, das auch das Auswerten von Logs und das Generieren von Reports ermöglicht. Obwohl der Name das vermuten ließe, läuft unter der Haube nicht der Squid-Proxy, sondern eine in C/C++ geschriebene Eigenentwicklung des Herstellers Office Efficiencies. Für diverse Anwendungsfälle verwendet Safesquid außerdem Bash- und Perl-Skripte.
Der Hersteller stellt die Software sowohl als kommerzielle als auch freie Version zur Verfügung. Für Heimanwender dürfte die kostenlose Variante die interessanteste sein. Sie unterscheidet sich von der Bezahlvariante in erster Linie durch die Beschränkung auf maximal drei Benutzer. Sollen mehr Anwender auf die zentral im Heimnetzwerk installierte Filter-Suite zugreifen, benötigen Sie die kostenpflichtige Variante [1]. Für den Einsatz auf dem eigenen Rechner eignet sich aufgrund der hohen Funktionsvielfalt die “Composite Edition”.
Installation
Während der weit verbreitete originale Squid auf nahezu jeder Distribution läuft, gibt sich Safesquid sehr wählerisch. Wir versuchten zunächst erfolglos, die Software unter Ubuntu 13.10 zu installieren. Wie später der Herstellersupport im Live-Chat bestätigte, fehlen dafür aber einige Pakete, die alle Abhängigkeiten der Installationsskripte abdecken.
Unter Fedora 19 klappte das Einrichten auch ohne Vorbereitungen, im Anschluss startete Safesquid jedoch nicht – das Installationsskript hatte schlicht das init.d-Skript falsch kopiert. Ein manueller Start von Safesquid schlug aufgrund von Folgefehlern ebenfalls fehl. Da ein Supporter im Live-Chat auf Ubuntu 12.04 verwies, verwendeten wir diese Distribution in der 64-Bit-Variante für den Test. Weitere Versuche ergaben, dass Safesquid auch mit OpenSuse 12.3 (64 Bit) problemlos zusammenarbeitet.
Mit sudo su - erweitern Sie Ihre Privilegien für administrativen Zugriff und wechseln anschließend ins Verzeichnis /root/. Damit das Setup reibungslos funktioniert, installieren Sie vorab via apt-get das Paket libgmp3c2. Die darin enthaltenen Bibliotheken erfüllen einige vom Installationsskript vorgegebene Abhängigkeiten. Dann laden Sie Safesquid von der Download-Seite [2] als Tarball herunter und entpacken diesen.
Anschließend wechseln Sie ins dabei neu entstandene Verzeichnis /root/safesquid/ und starten die Installation via ./install.sh (Abbildung 1), was den Proxy letztlich im Verzeichnis /opt/safesquid/safesquid/safesquid einrichtet. Gehen Sie die einzelnen Schritte der Einrichtungsroutine durch, bis Safesquid Ihnen die geglückte Installation bestätigt. Ein Druck auf [S] startet den Proxy im Anschluss.
Alternativ starten Sie Safesquid manuell mit dem Kommando /etc/init.d/safesquid start. Der Dienst läuft nun im Hintergrund und lauscht auf Port 8080. Mit dem Kommando lsof -ni:8080 verifizieren Sie, ob sich der Proxy auf dem vorgesehenen Port erreichen lässt. Hat alles geklappt, sorgen Sie anschließend mit dem Kommando update-rc.d safesquid default dafür, dass der Proxy künftig bei jedem Neustart automatisch mitlädt.
Der Hersteller verlangt, dass Sie auch die kostenlose Installation von Safesquid über das Internet aktivieren. Diesen Schritt nehmen Sie, wie auch die weiterführende Konfiguration, über die Weboberfläche vor. Starten Sie dazu einen Browser, und tragen Sie in dessen Proxy-Einstellungen localhost und den Port 8080 ein (Abbildung 2).
Rufen Sie danach die Adresse http://safesquid.cfg im Browser auf, und klicken Sie in der Safesquid-Oberfläche auf About (Abbildung 3). Auf dieser Seite hinterlegen Sie Ihre E-Mail-Adresse und den Aktivierungsschlüssel. Via Submit übertragen Sie die Daten an den Hersteller und aktivieren so die Proxy-Installation. Nach erfolgreicher Aktivierung fordert Sie Safesquid zu einem Neustart auf.
Verwaltungsapparat
Für die sinnvolle Nutzung des Proxys gilt es, Sperrlisten und Ähnliches einzurichten. Klicken Sie dafür auf der Startseite der Safesquid-Oberfläche den Link Config. An dieser Stelle finden Sie ein Ausklappmenü mit vielen Konfigurationskategorien. Die erste davon, Access restrictions, regelt den Zugriff auf den Proxy selbst.
Anhand verschiedener Kriterien legen Sie fest, welcher Nutzer oder welches System Safesquid verwenden darf. Die beiden bereits vorgegebenen Regeln gestatten den Zugriff für den lokalen Client und alle anderen Netzteilnehmer und Benutzer. Um eigene Regeln festzulegen, müssen Sie diese beiden Standardregeln löschen. Für den Einsatz im heimischen Netz benötigen Sie jedoch meist keine zusätzlichen Zugriffsregeln.
Die zweite Konfigurationskategorie, cProfiles, verwaltet die Webseitenkategorisierung. Die standardmäßig deaktivierten Regeln schalten Sie via Enabled scharf. Webseiten verwaltet cProfiles aufgrund ihres Inhalts in verschiedenen Kategorien, was es Ihnen theoretisch erlaubt, beispielsweise sehr leicht den Zugriff auf jugendgefährdende Inhalte zu sperren.
Im Test stellte sich jedoch schnell Ernüchterung ein: Obwohl wir den Proxy zu Testzwecken anwiesen, Sportseiten auszufiltern, erkannte er keine einzige der aufgerufenen Webseiten und ließ damit freien Zugriff auf alle Sportinhalte. Die deutsche Sprache schien dabei nicht das Problem zu sein – auch US-Seiten zum Thema American Football wurden weiter dargestellt. Auch in weiterführenden Tests mit anderen Kategorien war es zunächst nicht möglich, Safesquid zum Erkennen unerwünschter Inhalte zu bewegen. Erst bei der Kategorie chat content gelang es der Software, Zugriff auf Chat-Webseiten zu verweigern.
Eine entsprechende Nachfrage beim Hersteller von Safesquid ergab, dass die Filterlisten womöglich viele Webseiten anders kategorisieren als zunächst angenommen. Die von uns für den Test verwendete Webseite http://www.sport1.de etwa sei laut dem Support mehr eine News- als eine Sport-Seite. In diesem Fall hätte man also sowohl News- als auch Sport-Inhalte blockieren müssen.
Die Weboberfläche von Safesquid bietet die Möglichkeit, die Kategorisierung von URLs anzuzeigen (Test cProfiles), was zumindest für die von uns verwendeten URLs nur selten funktionierte. Meistens zeigten die URL-Tests keine Zuordnung, während Safesquid diese intern womöglich doch in eine Kategorie einstufte.
Wenn Sie es selbst ausprobieren möchten, aktivieren Sie die Kategorisierung und fügen mit Add ein neues cProfile hinzu. Tragen Sie in das Feld Chat den Begriff Chat ein, in der Category list haken Sie nun dementsprechend die Kategorie chat content an (Abbildung 4), und im Textfeld Added profiles hinterlegen Sie blocked-category.

Chat, zu filtern.” width=”300″ height=”174″ />
Abbildung 4: Safesquids cProfiles erlauben es theoretisch, Webseiten bestimmter Themengebiete, etwaChat, zu filtern.Bestätigen Sie Ihre Auswahl mit Submit, und wechseln Sie nun in die Konfigurationskategorie URL filter. Aktivieren Sie dieses Modul, indem Sie den Haken bei Enabled -> Yes setzen und auf Submit klicken. Fügen Sie in der Kategorie Deny zusätzlich mit dem Link Add eine neue Regel mit den folgenden Werten hinzu:
Enabled: Yes Profiles: blocked-category
Bestätigen Sie wieder mit Submit, und surfen Sie nun im Browser die Webseite http://tinychat.com an. Voilà – Safesquid verweigert nun den Zugriff (Abbildung 5).

Abbildung 5: Möchten Sie eine geblockte Seite aufrufen, zeigt die Software nur einen entsprechenden Hinweis an.
Achtung: Nach einem Neustart von Safesquid (und damit nach jedem Reboot) verschwinden die eigens angelegten cProfiles und URL-Filter. Eine Anfrage zur Klärung bestätigte unseren Verdacht: Safesquid hält die gespeicherten Einstellungen nur im RAM vor, weshalb sie beim Neustart der Software verloren gehen. Für Abhilfe sorgt das Sichern der Safesquid-Einstellungen (Link Save settings auf der Hauptseite). Die Applikation speichert die Konfiguration dann unter /opt/safesquid/safesquid/config.xml. Via Load settings auf der Hauptseite lesen Sie diese Datei später wieder ein.
Ein weiterer unangenehmer Nebeneffekt: Der Proxy lässt einmal aufgerufene Webseiten, die normalerweise gesperrt wären, in Zukunft ungefiltert durch. Hier scheint Safesquid entweder durcheinanderzukommen oder ein undokumentiertes Feature zu enthalten.
Funktionieren die cProfiles von Safesquid Ihnen nicht zuverlässig genug, dann legen Sie in der Rubrik URL blacklist der Konfigurationskategorie eigene Sperrlisten an. Dieser Punkt eignet sich auch, um externe Sperrlisten einzubinden, wie sie beispielsweise Shalla Secure Services [3] für Privatnutzer kostenlos anbietet. Die Listen laden Sie als Tarball herunter und binden sie in Safesquid ein (Listing 1).
Listing 1
$ cd /opt/safesquid $ wget http://www.shallalist.de/Downloads/shallalist.tar.gz $ tar xzvf shallalist.tar.gz
Navigieren Sie danach in die Kategorie URL blacklist, haken Sie Enabled an, und tragen Sie den Pfad /opt/safesquid/BL ein. Bestätigen Sie abschließend mit Submit. Alle Einträge aus den URL-Listen lädt Safesquid beim Start in den Hauptspeicher, was für ein Surfen ohne Leistungseinbußen durch den Filter sorgt. Um die Blacklists zu nutzen, erstellen Sie unter Deny folgende neue Regel:
Enabled: true Comment: Podcasts Categories: podcasts
Unter Categories tragen Sie jeweils den Ordnernamen ein, in dem sich die fragliche Blacklist befindet. In unserem Beispiel liegen die URLs der Kategorie Podcast unter /opt/safesquid/BL/podcasts.
Genügen diese Varianten der Surfkontrolle Ihren Ansprüchen nicht, so finden Sie in der Konfigurationskategorie Keyword filter umfangreiche Sammlungen von Schlüsselwörtern, die Sie nach Bedarf um eigene erweitern. Der Punkt DNS blacklist erlaubt es, Webseiten mithilfe von externen DNS-Blacklist-Anbietern zu blocken.
Virenfrei
Um sich zumindest rudimentär gegen Virenbefall aus Downloads zu schützen, hilft das Einbinden eines Virenscanners in den Proxy. Safesquid unterstützt neben dem kostenfreien ClamAV auch mehrere kommerzielle Produkte; für die meisten Zwecke dürfte ClamAV jedoch ausreichen.
Klicken Sie auf die Konfigurationskategorie Client for ClamAV antivirus, und aktivieren Sie die Checkbox Yes neben Enabled. Hinterlegen Sie den Wert /var/run/clamav/clamd.ctl für das Feld ClamAV hostname or socket path, und bestätigen Sie mit Submit. Wechseln Sie nun in ein Terminalfenster und installieren Sie ClamAV, den Befehlen aus Listing 2. Danach steht der Virenschutz zum Einsatz bereit (Abbildung 6).
Listing 2
# apt-get install clamav clamav-daemon # freshclam # service clamav-daemon start

Abbildung 6: Nach dem Einbinden von ClamAV in Safesquid verweigert dieser zukünftig den Zugriff auf potenziell schädliche Webinhalte.
Aktive Webinhalte
Prinzipiell findet das Filtern von bestimmten Medieninhalten auf zwei Arten statt: Entweder lassen Sie die Inhalte auf deren Mime-Types hin untersuchen (siehe /etc/mime.types), oder Sie filtern Inhalte aufgrund ihrer Endung aus (etwa .swf).
Klicken Sie dazu auf die Konfigurationskategorie Mime filtering, und aktivieren Sie dieses Modul mit dem Schalter Enabled. Anschließend bestätigen Sie die Eingabe via Submit und legen unter dem Reiter Deny eine neue Regel mit folgenden Werten an:
Enabled Yes Comment Flash File .*swf
Alternativ verwenden Sie anstelle von File auch das Attribut Mime type und geben beispielsweise den Wert aus Listing 3 dafür ein. Je nachdem, welche Webseite Sie nach Aktivierung der neuen Regel im Browser aufrufen, blendet der Filter Flash-Inhalte nun aus. Dabei gilt es zu beachten, dass nicht alle Flash-Inhalte auf .swf enden oder den in Listing 3 aufgezählten Mime-Typen angehören.
Listing 3
Mime type: application/x-shockwave-flash, application/x-shockwave-flash2-preview, application/futuresplash, image/vnd.rn-realflash
In unserem Alltagstest erwies sich das Filtern durch Dateiendungen oder Mime-Types allerdings als wenig konsistent: Teilweise arbeitete der Filter korrekt und blendete die unerwünschten Flash-Inhalte aus, in anderen Fällen blockierte er die ganze Seite. Zusätzlich müssen Sie für jeden möglichen Flash-Mime-Type (oder für jede mögliche Dateiendung) von Flash-Dateien einen Filter anlegen, damit die Software auch wirklich alle Flash-Inhalte ausblendet. Verlässlich arbeitet der Filter jedoch in keinem Fall – womit dieses Feature nicht mehr als eine Spielerei darstellt.
Auf Anfrage versprach uns der Hersteller, allen Benutzern bei Fragen zu den Filterregeln und Problemen zu helfen. Der Live-Support sei an sechs Tagen die Woche besetzt, ein kostenloses Ticket-System stehe auch den Nutzern der freien Version zur Verfügung, hieß es.
Zubehör
Der Punkt Prefetching aus der Konfiguration enthält eine Funktion, um bestimmte Webseiten bereits vor dem eigentlichen Besuch in den Cache von Safesquid zu laden. Dabei legen Sie vorab fest, welche Inhalte das Modul vorlädt. Einmal aktiviert, geben Sie unter Prefetch queue auf der Hauptseite die Webseiten ein, die der Proxy vorab laden soll. Dadurch liefert Safesquid die Seite schneller aus.
Die Kategorie Limits gibt Zugang zu einem mächtigen Werkzeug, mit dem Sie die Bandbreite für einzelne Rechner einschränken. Nett und nützlich: Indem Sie den Wert für das Feld Action auf Deny setzen, richten Sie beispielsweise eine automatische und zeitbasierte Surfsperre für den Nachwuchs ein.
Listing 4
Enabled true Comment Kein nächtliches Surfen Action allow Hour range 8,22 Download transfer limit 0 Upload transfer limit 0 Request limit 0 Download rate 0 Time match mode absolutetime
Möchten Sie anders herum keine Sperre anlegen, sondern vielmehr den Nutzungszeitraum definieren, verwenden Sie dafür die Beispielregel aus Listing 4. Für gezielte Umleitungen ist es möglich, unter der Konfigurationskategorie URL redirecting Webseitenaufrufe auf andere URLs umzuleiten.
Module und Zusatzsoftware
Safesquid erlaubt es, weitere Zusatzmodule einzubinden, und arbeitet mit mehreren bekannten Open-Source-Tools zusammen. Darunter finden sich viele nützliche Komponenten, wie etwa eine zum Ausschalten des Chats innerhalb von Google Mail oder eine Regelsammlung, die automatisch Werbebanner auf Webseiten ausblendet. Die Safesquid-Website hält eine Übersicht aller verfügbaren Addons vor [4].
Das Einbinden der Erweiterungen gestaltet sich recht simpel: Sie speichern das gewünschte Addon als XML-Datei und klicken in der Weboberfläche von Safesquid auf Load Settings. Anschließend tippen Sie den Pfad zur XML-Datei ein und aktivieren No bei Overwrite. Bestätigen Sie mit Submit. Um die Einstellungen sicherheitshalber zu speichern, wählen Sie noch Safe setting. Anstatt die Datei zunächst lokal zu speichern, gestattet es Ihnen die Software, den Link zur Datei direkt in das Eingabefeld der Konfiguration zu kopieren. Die Einstellungen werden sofort aktiv.
Auch eine Liste von Tools, die mit Safesquid zusammenarbeiten, finden Sie auf der Safesquid-Website [5]. Die für den Heimgebrauch interessantesten Werkzeuge lagern in der Kategorie Log Analyzers: Diese Tools bereiten die Log-Dateien von Safesquid so auf, dass sich diese beispielsweise komfortabel im Browser lesen lassen. Recht bekannt ist beispielsweise Webalizer. Die in Perl geschriebene Applikation schlüsselt (unter anderem) die Webnutzung in Hits, die besuchten Webseiten und das verursachte Verkehrsvolumen auf, jeweils tages- und monatsweise.
Fazit
Was in der Theorie gut klingt, zeigt in der Praxis in mehrfacher Hinsicht Lücken. Safesquid hebt sich zwar mit einer vermeintlich simplen, allerdings häufig unübersichtlichen Weboberfläche von der Konkurrenz ab, eine deutsche Lokalisierung steht dafür jedoch nicht bereit.
Schwerer ins Gewicht fällt die mangelhafte Unterstützung selbst aktueller Distributionen wie Ubuntu 13.10 oder Fedora 19. Daneben verfehlt das Modul cProfile praktisch komplett seine Wirkung: Es lässt mehr oder weniger wahllos eigentlich gesperrte Seiten gewähren, darüber hinaus “vergisst” es beim Restart des Proxys manuelle Änderungen. Ähnlich sieht es mit dem Mime-Filter aus, der nicht nur Content mit den vorgegebenen Dateiendungen aussperrt, sondern zuweilen die komplette Seite blockiert, die einen solchen enthält. Für ein kommerzielles Produkt, das für eine 100-Nutzer-Lizenz immerhin 600 US-Dollar verlangt, sind solche Patzer schlicht unakzeptabel.
Positiv sticht heraus, dass der Hersteller auch den Nutzern der kostenfreien Safesquid-Version via Live-Chat und Ticket-System unter die Arme greift. Während unserer Tests gewannen wir zumindest den Eindruck, dass die Kollegen aus Indien sehr hilfsbereit sind und bei Bedarf gerne auch Live-Demos organisieren, um mögliche Missverständnisse beim Setup aus dem Weg zu räumen.
Wer mit den Makeln des Produkts leben kann und etwas Zeit in die Einrichtung und gegebenenfalls den Support steckt, erhält einen für den heimischen Einsatz durchaus brauchbaren Proxy samt Content-Filter und Weboberfläche. Dabei gilt es aber zu bedenken, dass beispielsweise die freie Firewall-Distribution IPFire [6] ähnliche Funktionen bietet, die aber zum einen besser implementiert wurden und zum anderen weitgehend fehlerfrei funktionieren.
Infos
[1] Safesquid-Versionen: http://www2.safesquid.com/purchase-options/feature-comparison
[2] Safesquid herunterladen: http://www.safesquid.com/content-filtering/downloads
[3] Shallalist: http://www.shallalist.de
[4] Safesquid-Erweiterungen: http://www.safesquid.com/content-filtering/addon
[5] Mit Safesquid kompatible Tools: http://www.safesquid.com/content-filtering/compatible-software-and-utilities
[6] IPFire: http://www.ipfire.org








