SquidGuard als Jugendschutzfilter
Wenn man, aus welchen Gründen aus immer, das Internet Filtern will, sollte man sich SquidGuard anschauen. Dieser Artikel soll einen Einstieg in eben dieses Programm bieten. Es wird vorausgesetzt, daß eingerichtet wurde Squid und funktionstüchtig ist. Man sollte sich aber bei aller Filterei im klaren sein, daß man mit einer Blacklist nie alle "bösen" Inhalte rausfiltern kann. Dies ginge zwar mit einer Whitelist, man sollte sich dann aber bewußt sein sein, daß man dadurch das Netz zu sehr zensiert. Aus welchen Gründen man also auch immer SquidGuard einsetzen möchte sollte man nicht vergessen, daß die Vermittlung eines vernünftigen Umgangs mit dem Internet wirklungsvoller und auch nachhaltiger ist.
Inhaltsverzeichnis
Blacklist
Gehen wir davon aus, daß die Blacklist der gewünschte Weg ist. Man kann sich jetzt sicher selber was zusammenbasteln, einfacher ist es aber sicherlich, wenn man eine schon vorhandene übernimmt. Unter openSUSE kann man sich dafür einfach des openSUSE-Education_Projekts bedienen, welches im seinem Reposority ein entsprechendes Paket bereitstellt.
openSUSE: 10.3
|
Dieses fügen wir in unseren Paketmanager der Wahl ein und installieren damit das Paket squidguard-blacklists. Vorher muß eventuell noch die URL angepaß werden. Falls man nicht openSUSE verwendet oder das Paket aus anderen Gründen nicht verwenden will, kann man auch direkt von der SquidGuard-Homepage sich eine runterladen.
SquidGuard konfigurieren
Jetzt geht es an die Konfiguration. Falls das rpm-Paket verwendet wurde kann man einfach die mitgelieferte /etc/squidGuard.conf.in unverändert übernehmen. Falls man Anpassungen vornehmen möchte, sollte man die Datei kopieren und beispielsweise in /etc/squidGuard.conf unbennen, da die Veränderungen bei einem Update womöglich überschrieben werden, was wohl nicht gewünscht sein sollte.
logdir /var/log/squidGuard dbhome /var/lib/squidGuard/db dest ads { domainlist squidguard-blacklists/ads/domains urllist squidguard-blacklists/ads/urls # enable next line to log blocked urls # log ads-block.log } dest aggressive { domainlist squidguard-blacklists/aggressive/domains urllist squidguard-blacklists/aggressive/urls # enable next line to log blocked urls # log aggressive-block.log } dest audio-video { domainlist squidguard-blacklists/audio-video/domains urllist squidguard-blacklists/audio-video/urls # enable next line to log blocked urls # log audio-video-block.log } dest drugs { domainlist squidguard-blacklists/drugs/domains urllist squidguard-blacklists/drugs/urls # enable next line to log blocked urls # log drugs-block.log } dest gambling { domainlist squidguard-blacklists/gambling/domains urllist squidguard-blacklists/gambling/urls # enable next line to log blocked urls # log gambling-block.log } dest hacking { domainlist squidguard-blacklists/hacking/domains urllist squidguard-blacklists/hacking/urls # enable next line to log blocked urls # log hacking-block.log } dest mail { domainlist squidguard-blacklists/mail/domains # enable next line to log blocked urls # log mail-block.log } dest porn { domainlist squidguard-blacklists/porn/domains urllist squidguard-blacklists/porn/urls expressionlist squidguard-blacklists/porn/expressions # enable next line to log blocked urls # log porn-block.log } dest proxy { domainlist squidguard-blacklists/proxy/domains urllist squidguard-blacklists/proxy/urls # enable next line to log blocked urls # log proxy-block.log } dest violence { domainlist squidguard-blacklists/violence/domains urllist squidguard-blacklists/violence/urls expressionlist squidguard-blacklists/porn/expressions # enable next line to log blocked urls # log violence-block.log } dest warez { domainlist squidguard-blacklists/warez/domains urllist squidguard-blacklists/warez/urls # enable next line to log blocked urls # log warez-block.log } dest good { domainlist custom/good/domains } dest bad { domainlist custom/bad/domains # enable next line to log blocked urls # log bad.log } acl { default { pass good !bad !ads !aggressive !drugs !gambling !hacking !porn !proxy !violence !warez !in-addr all # redirect 302:http://localhost/verboten.html # redirect 302:http://localhost/cgi-bin/squidGuard-simple.cgi/?clientaddr=%a&clientname=%n&clientident=%i&srcclass=%s&targetclass=%t&url=%u redirect 302:http://localhost/cgi-bin/squidGuard-simple.cgi/?clientaddr=%a&clientname=%n&clientident=%i&srcclass=%s&targetclass=%t # redirect 302:http://localhost/cgi-bin/squidGuard.cgi/?clientaddr=%a&clientname=%n&clientident=%i&srcclass=%s&targetclass=%t&url=%u } }
Squid-Konfiguration anpassen
Squid weiß natürlich noch nichts von der neuen Begebenheit. Daher müssen wir folgende Eintragung in der /etc/squid/squid.conf vornehmen:
[...] redirect_program /usr/sbin/squidGuard -c /etc/squid/squidGuard.conf.ln [...]
Anpassung von AppArmor
(hier fehlt noch was)
Neustart
Anschließend müssen wir squid nur noch als root neustarten und die Veränderungen sollten sich dann bemerkbar machen. Unter openSUSE geht das mittels
rcsquid restart