URLFilter

Aus IpcopWiki

Wechseln zu: Navigation, Suche
URL filter
Datei:URL filter.gif
URL filter-Logo
Basisdaten
Entwickler: Marco Sondermann
Version: 1.9.3  (09. Mai 2008)
Größe: 743 KB (tar.gz)
supported: IPCop v1.4.21
Lizenz: Copyright 2004-2008
by Marco Sondermann
Sonstiges: Preis: kostenlos
Sprache: mehrsprachig
Website: www.urlfilter.net/

Inhaltsverzeichnis

Funktionsweise

Die Funktionsweise des URLFilter beruht darauf, sich in den Netzwerkverkehr beim Surfen einzuklinken und entsprechende Seiten oder Server anhand von bestimmten Kriterien zu filtern. Insbesondere werden beim URLFilter folgende Möglichkeiten genutzt:

  • Einsatz von Black- und Whitelisten der URLs und der Domains (Webseitenfilterung)
  • Einsatz von Black- und Whitelisten der internen Clients (IP-basiert)
  • Einsatz von Zeitbeschränkungen
  • Filtern von Datei-Endungen (Dateifilterung)
  • Einsatz von regulären Ausdrücken
  • Umleiten (beim Datei-Download) oder Sperren (von URLs) bei erkannten Kriterien

Voraussetzung

auf dem Client

Damit der URLFilter korrekt funktioniert, muss entweder der Proxy auf transparent gestellt werden (dann benötigt der Client keine Einstellungen) oder der Proxy (Server und Port) muss auf dem jeweiligem Client eingetragen sein. Alternativ kann auch das WPAD (Web Proxy Autoconfig Discovery) des Advanced Proxy oder ein ProxyScript genutzt werden.

auf dem IPCop

Der IPCop sollte auf dem momentan aktuellen Softwarestand sein und benötigt keine besonderen Hardware-Ressourcen. Generell ist aber davon auszugehen, dass durch den Einsatz des URLFilters die Geschwindigkeit gering beeinflusst wird. Je schwächer bzw. älter die benutzte Hardware, desto stärker macht sich der Einsatz bemerkbar. Beim Testlauf (momentan seit mehreren Monaten im Einsatz) mit 200MHz und 64MB RAM für 3 bis 4 PCs stellte ich keine Hardware-Engpässe fest.

Als Beispiel aus meiner Praxis: Ich habe auf einem 600 MHz, 256MB RAM PC den URLFilter ohne merkbare Verzögerung im Einsatz. Die Zahl der angeschlossenen Teilnehmer (bei mir ca. 250) ist nicht so entscheidend sondern die Zahl der gleichzeitig surfenden User, bei mir ca 25 -30.

Übersicht

URLFilter ist ein auf dem Programm squidGuard basierendes Add-On für die Linux-Distributionen IPCop und SmoothWall. Dieses Modul erweitert die Basisinstallation um die Möglichkeit, unerwünschte Domains, URLs und Dateien auszufiltern.


Leistungsmerkmale

  • Betriebsfertig. Herunterladen, Installieren und sofort loslegen
  • Nahtlose GUI-Integration für die Konfiguration und den Protokoll-Viewer
  • Sehr fexibel, die Blockkategorien sind nicht fest programmiert
  • Arbeitet mit allen squidGuard-kompatiblen Blacklists
  • Automatische, zeitgesteuerte Blacklist-Updates
  • Zeit-, kategorie- und clientbasierte Beschränkungen (nur IPCop)
  • Lokale Dateiumleitung (nur IPCop)
  • Integrierter Blacklist-Editor (nur IPCop)
  • Kein Neustart für die Installation/Deinstallation oder während des Betriebes erforderlich
  • Auch für den kommerziellen Einsatz kostenlos

Installation

  • Die Heruntergeladene Datei (derzeitig aktuell ipcop-urlfilter-1.9.3.tar.gz) via WinSCP auf den IPCop kopieren.
  • Mittels PuTTY als root einloggen und mit tar xzf ipcop-urlfilter-1.9.3.tar.gz entpacken.
  • Installation starten mittels ipcop-urlfilter/install.

Das war es schon.

Die Datei ipcop-urlfilter-1.9.3.tar.gz und das Verzeichnis ipcop-urlfilter kann hinterher via winSCP oder mit

rm -r ipcop-urlfilter-1.9.3*

gelöscht werden.

Im Webinterface des IPCop kann nun, unter Dienste, der URLFilter konfiguriert werden.

Einstellungen des URLFilter

Die URLFilter-Ansicht besteht im Großen und Ganzen aus zwei Teilen:

  • Im oberen Bereich sind alle Einstellungsmöglichkeiten
  • Der untere Bereich ist für die Wartung zuständig

Sperrkategorien

Der erste Bereich des URLFilter behandelt im Groben die Kategorien, welche grundsätzlich gesperrt werden sollen. In der momentanen Version gibt es 11 Kategorien: ads (Werbung), gambling (Glücksspiele), proxy, aggressive, hacking, violence (Gewalt), audio-video, mail, warez (Illegale Softwarebeschaffung), drugs (Drogen) und porn (Pornos u.ä.).

Durch das Anklicken und setzen des jew. Kästchens und das Neustarten des URLFilters wird die entspr. Liste von Domains und URLs geladen.

angepasste Listen

angepasste Blackliste

Der Bereich der Blacklisten stellt den Firewall-Administrator relativ einfach die Möglichkeit dar, in den beiden Fenstern ganze Server (als Namen oder als IP-Adresse) oder nur URLs zu sperren. Ein #-Zeichen vor der jeweiligen Zeile kommentiert den dahinter stehenden Eintrag nur. Beispiele für Domainsperrung:

#IP-Adresse
127.0.0.1
#die Domain und alle Subdomains davon (ohne führendes www.)
ipcopwiki.de
#nur eine Subdomain (ohne führendes www.)
subdomain.ipcopwiki.de

Beispiele für URL-Sperrung:

#URL (ohne führendes www.)
ipcopwiki.de/inhalt/boeseseite.html

angepasste Whiteliste

Manchmal kann es vorkommen, dass URLs ungewollt gesperrt werden, obwohl diese nirgendwo eingetragen wurden. Solche Vorfälle nennt man 'False Positives'. Folgendes Beispiel ist bei uns aufgetreten:

Ein Motorradladen surft auf den italienischen Seiten der Motorradhersteller und wird auf einmal geblockt.
Eine Untersuchung der Logprotokolle ergab, dass der italienische Hersteller kleine Bilder (sog. Thumbnails)
von Ersatzteilen mit dem Thumbnail-Kürzel und folgend dem Länderkürzel von Italien versehen hat. Die Bilder
fingen also alle mit tit_bild.jpg an. Hier schlug der URLFilter mit der Kategorie 'porn' zu.

Verhindern kann man dieses Problem nie, aber man kann es eingrenzen, indem man solche Seiten explizit noch einmal freigibt. Dazu dient die Whitelist. Hier werden entweder ganze Server (Domains) entweder mit Namen oder IP-Adresse oder nur URLs eingetragen.

Zudem kann man die Sperrkategorien mit der Whitelist kombinieren. Ein Beispiel:

In den Sperrkategorien wird der Haken bei 'mail' gesetzt, in die Domainliste der Whitelist wird aber web.de
eingetragen. Somit werden alle Mail-Seiten außer web.de gesperrt. (Richtigerweise sollten natürlich die Black-
listen der Sperrkategorien nach gepflegt werden!)

Weiterer Nutzen der Whitelist ergeben sich, wenn man Dateieindungen oder 'Seiten, auf die über IP-Adresse zugegriffen wird' sperrt, aber ein paar spezielle wiederum freigeben möchte.

reguläre Ausdrücke

Alle hier eingegebenen Ausdrücke beziehen sich immer auf die URL selbst, nicht auf den Inhalt der Seiten. Als Beispiele für unerwünschte URLs dient dieser Eintrag:

(bikini|porn)

Es werden alle Seiten mit dem Wort Bikini oder dem Wort porn in der Adresse gesperrt.

Gute Beispiele über reguläre Ausdrücke findet man auf dem Cop selbst: Unter Log-Dateien, Proxy-Log ist ein Ignorieren-Filter...

Sperrung von Dateierweiterungen

Unter Windows und zum Teil auch unter Linux (und anderen Betriebssystemen), aber auch beim Darstellen bestimmter Seiten im Web werden Dateien anhand ihrer jeweiligen Endung (ihrer Erweiterung) unterschieden. Diese Endung enthält meistens 3, mittlerweile aber auch 2 oder 4 Zeichen, welche vorher einen Punkt besitzen. Als Beispiele seien genannt: index.html oder lied.mp3. Im URLFilter werden die verschiedenen Endungen zu Gruppen zusammengefasst.

Unter der entsprechenden Sektion im URLFilter lassen sich folgende Dateigruppen sperren:

  • ausführbare Dateien (ade|adp|asx|bas|bat|chm|com|cmd|cpl|crt|dll|eml|exe|hiv|hlp|hta|inc|inf|ins|isp|jse|jtd|lnk|msc|msh|msi|msp|mst|nws|ocx|oft|ops|pcd|pif|plx|reg|scr|sct|sha|shb|shm|shs|sys|tlb|tsp|url|vbe|vbs|vxd|wsc|wsf|wsh)
  • komprimierte Archivdateien (bin|bz2|cab|cdr|dmg|gz|hqx|rar|smi|sit|sea|tar|tgz|zip)
  • Audio- und Video-Dateien (aiff|asf|avi|dif|divx|mov|movie|mp3|mpe?g?|mpv2|ogg|ra?m|snd|qt|wav|wmf|wmv)

Diese Dateitypen sind in der Datei /home/httpd/cgi-bin/urlfilter.cgi in der Funktion

sub writeconfigfile

als Regular Expression festgelegt:

Nachzulesen hier: http://www.ipcop-forum.de/forum/viewtopic.php?t=13431

Dateiablage

Durch das Aktivieren der Funktion entsteht auf der Firewall die Möglichkeit, abgelegte Dateien den Benutzern zur Verfügung zu stellen. Zusätzlich muss natürlich die jew. Datei hochgeladen werden. Hierbei sollte man den Plattenplatz unter /home/httpd/html/repository im Auge behalten, da die Grösse des root-Dateisystems begrenzt ist...

Zugriffskontrollen

Netzwerkbasiert

Sollen Client-PCs ohne die Wirkung des URLFilters surfen können, so werden diese im Eingabefeld für 'ungefilterte IP-Adressen' eingetragen. Auch ganze Adress-Bereiche oder Subnetze können genutzt werden. Eine Kombination der Methoden erfolgt durch ein Leerzeichen. Hier ein Beispiel:

192.168.0.54 
192.168.0.0/24 
192.168.0.0/255.255.255.0 
192.168.0.100-192.168.0.200

Eingetragen wird in dem Fall

192.168.0.54 192.168.0.0/24 192.168.0.0/255.255.255.0 192.168.0.100-192.168.0.200

Sollen bestimmte Clients überhaupt keinen Zugriff auf das Internet haben, so werden deren IP-Adressen nach dem gleichen Schema in das dafür vorgesehene Feld gesetzt.

Zeitbasiert

Die Zeitbasierte Option erlaubt es, dass bestimmte Client-IP-Adressen (oder Netzwerke oder Subnetze) zu bestimmten Uhrzeiten und Wochentagen bestimmte Sperr-Bereiche unterlaufen oder nicht unterlaufen dürfen. Ein Beispiel:

Nach Feierabend und in der Mittagspause ist es allen Mitarbeitern erlaubt, Mailseiten aufzurufen. Nehmen wir an,
von Montag bis Freitag ist von 8:00 Uhr bis 18:00 Uhr, und am Samstag ist von 9:00 Uhr bis 14 Uhr Arbeitszeit.
Von Montag bis Freitag ist die Mittagszeit zwischen 12:00 Uhr und 13:00 Uhr.

Also wird eine Regel definiert, welche die Mailseiten nach Feierabend in der Woche freigibt, eine Regel für Samstag und eine weitere für die Mittagszeit. Die Mailseiten befinden sich alle in der Kategorie 'mail'. Der Sonntag wird nicht berücksichtigt. Die Regel-Konstellation sieht in dem Fall wie folgt aus:

Bild:Urlfilter-zeitkontingente.jpg

Zusätzlich zu den Sperrkategorien gibt es hier allerdings noch folgende Bereiche:

  • alle (alle Sperren)
  • in-addr (Zugriff auf IP-Adressen)
  • files (alle Dateien, alle Dateiendungen)
  • custom-blocked (eigene White- und Blacklisten)
  • custom-expressions (eigene Reguläre Ausdrücke)

Weiterhin lässt sich jede Regel einzeln aktivieren oder deaktivieren.

Benutzerbasiert

Die benutzerbasierten Regelungen betreffen ebenfalls die Zeit. Hierbei werden den einzelnen Benutzern Zeitkontingente eingeräumt. Dazu muss aber der Advanced Proxy oder ein vergleichbares [RFC-931]-fähiges Produkt eingesetzt werden. Die Zeitmessung beginnt mit dem ersten Aufruf einer Seite, in welcher der Benutzer sich authentifiziert hat und endet nach Ablauf des Kontingents. Zur Messung findet, je nach Einstellung, eine Aktivitätserkennung statt. Zusätzlich gilt eine Erneuerungsperiode, nach welcher das Quota wieder auf 0 gesetzt wird. Somit lässt sich zum Beispiel festlegen, dass alle hier eingetragenen Benutzer nur 1 Stunde pro Tag surfen dürfen. Wird allerdings der URLFilter neugestartet (neue Regeln werden nur mit dem Neustart auch aktiviert), so werden alle Zähler auf 0 gesetzt und die Kontingente beginnen wieder von vorne.

Sperrseiteneinstellung

Dieser Bereich betrifft das Aussehen der Sperrseite, sofern eine verwendet werden soll. Es kann bestimmt werden:

  • ob die Sperrkategorie angezeigt wird
  • ob die gesperrte Adresse angezeigt wird
  • ob die Client-IP-Adresse angezeigt wird
  • ob ein Hintergrundbild verwendet wird

Weiterhin kann, anstatt einer Sperrseite, direkt ein DNS-Error erzeugt werden oder der Client auf eine andere URL gelenkt werden, um dessen Seite anzuzeigen. Zusätzlich kann man drei Textfelder mit Informationen belegen, welche statt der Standardmeldung auf der Sperrseite gezeigt werden. In Zeile 1 wäre dann die Überschrift, in Zeile 2 und Zeile 3 dann die beiden Texte. Allerdings müssen hier beim Eintragen unter Umständen html-konforme Zeichen eingegeben werden.


Als Alternative kann direkt unter /home/httpd/html die redirect.cgi bearbeitet werden, um eine Angleichung an die Fehlerseiten des Copfilter zu erzielen.

erweiterte Einstellungen

'Ausdruckslisten'...

Die Funktion 'sperre Seiten, auf die über IP-Adresse zugegriffen wird', sperrt alle Seiten, welche keinen DNS-Namen verwenden. Würde man statt www.cipcopwiki.de die IP-Adresse des Servers im Browser eingeben, um auf dessen Homepage zu kommen, so würde diese Seite gesperrt werden. Sperrt man allerdings 'alle URLs, die nicht ausdrücklich erlaubt sind', so können nur die Seiten aus der 'angepassten Whitelist' aufgerufen werden. Sogenannte 'ads mit leerem Fenster' betreffen spezielle Werbe-Popups, welche beim Aktivieren der Funktion unterdrückt werden.

Wird die Protokoll-Anzeige aktiviert, so kann man unter dem Menüpunkt 'Logs' des IPCop die gesperrten Seiten aufgelistet bekommen. Zusätzlich besteht die Möglichkeit, den Benutzernamen zu erhalten und das Protokoll in Kategorien aufzuteilen.

'Filterprozesse'...

Wartung

Blacklist

Sicherung und Wiederherstellung

Versionen

<= 1.0.0
Version Datum
0.0.1 [beta] 21. September 2004
0.0.1 [final] 02. Oktober 2004
0.0.2 [final] 15. Oktober 2004
>= 1.0.0
Version Datum
1.0.0 [final] 24. Oktober 2004
1.1.0 [final] 29. November 2004
1.2.0 [final] 19. Januar 2005
1.3.0 [final] 26. Februar 2005
1.4.0 [final] 04. März 2005
1.4.1 [final] 12. März 2005
>= 1.5.0
Version Datum
1.5.0 [final] 17. Juni 2005
1.5.1 [final] 16. August 2005
1.6.0 [final] 18. November 2005
1.7.0 [final] 23. Mai 2006
1.7.1 [final] 29. Juni 2006
1.8.0 [final] 08. Oktober 2006
1.8.1 [final] 16. Oktober 2006
>= 1.9.0
Version Datum
1.9.0 [final] 15. März 2007
1.9.1 [final] 22. März 2007
1.9.2 [final] 29. April 2008
1.9.3 [final] 09. Mai 2008

Download

Weblinks

Persönliche Werkzeuge