Rechte - Dateien ausführbar machen
Diese Anleitung beschreibt, wie man unter Linux einen Proxy-Server einrichtet, um den Webzugriff zu filtern und zu überwachen. Dieser ContentFilter besteht aus dem Proxyserver Squid und der Filterliste DansGuardian . Damit stellt er eine ähnliche Funktionalität wie CovenantEyes zur Verfügung.
Die hier beschriebene Variante ist nicht die einzige Lösung. Denn in der Praxis definiert der Begriff "Inhaltsfilter" nicht zwangsläufig den gewünschten konkreten Einsatzzweck. Die einen verstehen darunter Anonymität im Internet, andere möchten eher Werbung ausfiltern oder eine Art Kinderschutz verwirklichen. Daher gibt es nicht nur eine Lösung:
Werbefilter mit Privoxy einrichten
Kinderschutz mit KinderServer oder Privoxy einrichten
Tinyproxy - einfacher Proxy für Einzelplatzrechner oder kleine Netze
Um einen Inhaltsfilter in Desktop-Umgebungen oder konkreten Programmen verwenden zu können, gibt es einen eigenen Artikel.
Zunächst werden einige Programme installiert [1]. Die meisten davon sind bei einer Standardinstallation bereits vorhanden:
cron
anacron
logrotate
squid
dansguardian (universe )
mit apturl
Paketliste zum Kopieren:
sudo apt-get install cron anacron logrotate squid dansguardian
sudo aptitude install cron anacron logrotate squid dansguardian
Für die Konfiguration müssen einige Dateien in einem Editor [2] mit Root-Rechten [3] bearbeitet werden.
In der Standardinstallation von DansGuardian werden unter anderem sehr viele Dateitypen geblockt, die aber teilweise sehr wichtig sein können. Beispielsweise werden TAR-Archive und GZ- und BZ2-komprimierte Dateien geblockt. Unter Umständen ist es auch nicht mehr möglich, Paketlisten über die Paketverwaltung zu aktualisieren.
Diese erweiterten Einschränkungen werden im Verzeichnis /etc/dansguardian/ unter anderem über Dateien geregelt, die mit banned
(für geblockte Inhalte) oder exception
(für Ausnahmen) beginnen. So werden z.B. Dateitypbeschränkungen in der Datei /etc/dansguardian/lists/bannedextensionlist geregelt.
Nun startet man die Dienste in einem Terminal [4] neu:
sudo /etc/init.d/squid restart sudo /etc/init.d/dansguardian restart
Damit der Proxy und somit die Inhaltsfilterung aktiv wird, muss man nun die Proxy-Nutzung aktivieren (siehe auch Proxyserver).
In Firefox wählt man im Menü "Bearbeiten -> Einstellungen" und klickt dann im Reiter "Allgemein" bzw je nach Version auf "Erweitert -> Netzwerk" und dann auf den Button "Verbindungs-Einstellungen...". In dem sich öffnenden Fenster wählt man "Manuelle Proxy-Konfiguration" aus. Bei "HTTP-Proxy" trägt man localhost
ein und als Port 8080
. Zum Schluss setzt man noch den Haken bei "Für alle Protokolle diesen Proxyserver verwenden".
Nun ist die Inhaltsfilterung aktiv. Falls eine Seite geblockt wurde, wird man darüber im Browser-Fenster in Kenntnis gesetzt.
Falls es stört, dass unten auf dem Block-Hinweis "Ihre Firma" steht, so öffnet man die Datei /etc/dansguardian/languages/german/template.html in einem Editor mit Root-Rechten [4] und sucht dort nach diesem Ausdruck. Man kann diesen jetzt entfernen oder durch etwas anderes ersetzen.
Voraussetzung ist ein funktionierender MTA, z.B. Postfix. Jetzt erstellt man das folgende Skript in einem Editor mit Root-Rechten [4] und speichert es als /usr/local/bin/visited_urls ab:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #!/bin/bash # # gib alle URLs aus, für die Squid angefragt wurde # die option -v zu grep bedeutet alle Zeilen, die den folgenden Text (oder regulaeren Ausdruck) # enthalten nicht augeben (A.d.Ue.) # echo $1 echo "" cat /var/log/squid/access.log | \ grep -v .tar.bz2 | grep -v .tar.gz | grep -v .pdf | \ grep -v .jpg | grep -v .gif | grep -v .png | \ grep -v .ra | grep -v .ram | grep -v .rm | grep -v .mp3 | grep -v .mid | \ grep -v .css | grep -v .js | grep -v .ico | \ sed -e 's#.http://#http://#' -e 's#.*CONNECT.#https://#' -e 's#[[:blank:]].*##' | \ sed -e 's#\?##' -e 's#:[0-9][0-9]*##' -e 's#{\|\;].*##' | \ sed -e 's#/#§#3' -e 's#§.*##' | \ sort -u 2>&1 |
Analog dazu erstellt man die Datei /usr/local/bin/mail_visited_urls:
1 2 3 4 5 6 7 8 | #!/bin/bash # # sende die besuchten URLs an den Accountability-Partner (jemand gegenüber den du # Rechenschaft über dein Surfverhalten ablegst) # /usr/local/bin/visited_urls "MeinName hat von den folgenden Webseiten Inhalte abgerufen:" | \ mail -s "Webseiten – MeinName" meinpartner@accountability.net echo "mail_visited_urls @ $(date)" >> /var/log/mail_visited_urls.log |
Beide Skripte müssen noch ausführbar gemacht werden [5].
Hier bearbeitet man die Datei /etc/logrotate.d/squid so, dass sie folgenden Inhalt enthält:
/var/log/squid/*.log { '''weekly''' compress delaycompress rotate 8 missingok nocreate sharedscripts prerotate /usr/local/bin/mail_visited_urls endscript postrotate test ! -e /var/run/squid.pid || /usr/sbin/squid -k rotate endscript }
Proxyserver Programmübersicht
Internet Filter und Zugriffsüberwachung unter Linux - Anleitung im PDF-Format, ursprüngliche Quelle für diesen Artikel
Diese Revision wurde am 5. September 2016 18:03 von Helloyou erstellt.