SquidGuard als Jugendschutzfilter

Aus Linupedia
Wechseln zu: Navigation, Suche

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.

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


Weblinks

Zurück zu Squid