SquidGuard auf Arktur V3.2t13a
(http://www.squidguard.org)

 

Inhalt

1. Allgemeines über SquidGuard
2. Installation
3. Blacklists aktuallisieren
4. Einstellungen in squidGuard.conf

 

1. Allgemeines über SquidGuard

SquidGuard ist eine Möglichkeit den Zugriff auf jugendgefährdende Seiten im Internet zu erschweren (daneben bietet SquidGuard noch eine Fülle anderer Möglichkeiten siehe: "Für SquidGuard spricht:")

Das Wichtigste vorweg:
Es ist Utopie, sich vorzustellen, dass SquidGuard oder jeder anderee Filtermechanismus die Aufsichtspflicht bzgl. der angesuften Seiten im Internet obsolet machen könnte - wie auch, wenn monatlich tausende neuer Webseiten mit jugendgefährdenden Inhalten ins WWW gestellt werden.
Dann stellt sich allerdings die Frage, weshalb man einen solchen Filter überhaupt installieren soll - das war für mich in der Tat auch längere Zeit eher uninteressant, bis ein Schüler auf die geschmacklose Idee gekommen ist, die ekelhaftesten und schrecklichsten Bilder anzusurfen, die ich je gesehen hatte.
Dies lies mich umdenken: was wäre gewesen, wenn sich diese Bilder zufällig ein 5.Klässler mit angeschaut hätte? - dieser wäre ziemlich sicher verstört nach Hause gekommen und die Eltern hätten sich zu Recht beschwert, wie es möglich sei, dass in der Schule solche Bilder angesurft werden können.
Mir war klar, dass man nicht von allen Schülern einen vernünftigen Umgang mit dem Internet erwarten darf, auch wenn diese auf Grund ihres Accounts ziemlich problemlos zur Rechenschaft gezogen werden können -> daher gab es für mich und die Schulleitung keine Frage mehr, ob ein Filter fürs Internet eingesetzt werden müsse - dieser erschwert zumindest das Ansurfen solcher Seiten und zudem lässt sich leichter verfolgen, ob von Schülern häufiger versucht wird, solche Seiten anzusurfen.

Es gab für mich zwei Alternativen (die sich aber auch nicht gegenseitig ausschließen):

- Schmuddelliste

- SquidGuard

 

Gegen die Schmuddelliste spricht in meinen Augen:

- zu großer Aufwand:
wie sollte man z.B. das Wort "sex" sperren -> Staatsexamen, Lehplansexemplar ... kann dann auch nicht mehr angesurft werden und ich habe kein großes Interesse jede Woche wieder einige Worte in die whitelist aufzunehmen, damit dorthin gesurft werden kann.

- bremst das System aus:
damit die Schmuddelliste funktioniert, muss sie logischerweise wesentlich mehr als nur 10 Einträge enthalten -> das Internet wird langsamer, auf Grund der Rechenzeit von Arktur.

 

Für SquidGuard spricht:

- einfach zu installieren
siehe Installation

- sehr schnell
durch die Datenbankabfragen der Blacklist funktioniert die Filterung sehr schnell, wenn Arktur nicht gerade einen Pentium I 75Mhz mit 16MB ist.

- Logdateien
die geblockten Seiten werden mitgeloggt (samt userkennung, wenn z.B. identd auf den Clients läuft.)

- einfacher Download der Blacklistfilter
die Blacklistfilter können problemlos von mehreren Stellen heruntergeladen werden.

-mehr Möglichkeiten außer den Blacklist-Filtern (siehe auch 4. Einstellungen in squidGuard.conf )

Zeitweise ...
rechnerspezifische ...
userspezifische ...

...Freischaltung/Sperrung des Internets oder Zugangbeschränkung auf festgelegte Seiten.

Schluss:

Wenn man squidGuard einsetzt, kann man dessen Vorteile problemlos der Schmuddelliste kombinieren (das geht übrigens auch mit SquidGuard, bei dem soetwas mit implementiert ist, allerdings weiß ich (noch) nicht, wie das funktioniert :-( ), in der noch Begriffe vorkommen, die unter keinen Umständen angesurft werden dürfen - diese Schmuddelliste dürfte dann aber wesentlich geringer ausfallen und daher auch die Zugriffszeit aufs Internet nicht negativ beeinflussen.

2. Installation

Für die Installation von SquidGuard sind mehrere Dateien nötig:

Download dieser Dateien mit einen Klick auf squidguard_all.tgz (5,7 MB)
Kopiere diese Datei z.B. in den Ordner /whereever und entpacke diese als root mit:

tar xzf squidguard_all.tgz

Achtung mit Netcape-Navigator:
beim Entpacken gibt es Probleme, daher besser Klick auf squidguard_all.zip.
Dann ganz einfach mit einem Entpackprogramm (z.B. Powerarchiver - als root an der Konsole gibts leider Probleme) im Ordner /whereever entpacken bzw. die entpackten Dateien dorthin kopieren.

Die benötigten Tar-Archive liegen jetzt also z.B. alle im Ordner /whereever.

Vorbemerkung

Diejenigen, die mit putty arbeiten, müssen bei den Keyboard-Einstellung folgendes anklicken:
change settings -> Terminal -> Keyboard -> Enable extra keyboard features: Application and AltGR as Compose key
(sonst könnt ihr die nötigen pipes '|' nicht eintippen.)


1. Installation von BerkeleyDB

Diese Datenbank ist Voraussetzung für SquidGuard.
Während der Installation sollte man Online sein, da sonst Fehlermeldungen erscheinen (die aber nicht weiter schlimm sind)

cp /whereever/db-2.7.7.tar.gz /usr/local/src

cd /usr/local/src

gzip -dc /usr/local/src/db-2.7.7.tar.gz | tar xvf -

cd db-2.7.7/dist

./configure

make

make install

make clean


-> Jetzt sollte die Berkeley Datenbank installiert sein; u.a. sollte der Ordner /usr/local/BerkeleyDB erstellt worden sein, in dem sich die library derselben befindet.


2. Installation von SquidGuard

Während der Installation online sein


cp /whereever/SQUIDGUARD-1.1.4.TAR.GZ /usr/local/src

cd /usr/local/src

gzip -dc /usr/local/src/SQUIDGUARD-1.1.4.TAR.GZ | tar xvf -

cd squidGuard-1.1.4

./configure --with-sg-config=/etc/squid/squidGuard.conf

make

make test


-> Wenn test OK, dann

make install

(wenn test nicht OK, dann weiß ich leider auch nicht weiter :-( - ist mir aber noch nie passiert)


3. squid.conf.in verändern:

Im Abschnitt Zugriffskontrolle (ca. Z.107) nach den Kommentarzeichen die Zeile mit dem redirect_program einfügen.

# Abschnitt 7: Zugriffskontrolle
# --------------------------------
# Definitionen der ACcess List
redirect_program /usr/local/bin/squidGuard


4. Entpacken der squidGuard.conf

(-> wird nach /etc/squid/squidGuard.conf entpackt)

tar xpPf /whereever/squidGuard.conf.tar


5. Entpacken der Blacklistfilter
(es sind alle möglichen Blacklistfilter verwendet worden, also nicht nur die von squidGuard selbst.)

(-> nach /var/spool/squidGuard/db)

tar xpPf /whereever/squidGuard.tar

6. Ordner für Log-Dateien erstellen

mkdir /var/log/squidGuard
chmod 771 /var/log/squidGuard
chown squid.squid /var/log/squidGuard

In diesem Ordner werden dann z.B. die geblockten Seiten - sogar mit Usernamen ;-), wenn identd läuft - mitgeloggt.

7. squid neu starten

/usr/bin/squid/squid -k reconfigure
oder
/sbin/init.d/squid stop
/sbin/init.d/squid start

8. Nur der Schönheit halber

(-> wenn ein Schüler eine verbotene Seite aufruft, bekommt er diese Seite zu sehen.)

tar xpPf /whereever/squidGuard.cgi.tar
chmod 755 /home/www/cgi-bin/squidGuard.cgi
(evtl. ist chmod ... gar nicht nötig, aber schaden tut's zumindest nicht ;-) )

Bemerkung:
Bislang bleiben beim Ausführen des Scripts die Angaben zu Rechername, Benutzer und Gruppe leer; vielleicht kann hier der Entwickler des Scripts oder jemand anderes weiterhelfen.

fertig :-)

 

3. Blacklists aktualisieren

Hierzu sollten erst einmal einmalig alle *.diff-Files umbenannt weden, da diese nur für den Aufbau der Datenbank benötigt wurden; im Prinzip könnten diese auch gelöscht werden, dann kann man aber nicht mehr erkennen, welche urls und domains in die Datenbank eingefügt wurden. Würde diese nicht umbenannt, würden diese *.diff-Files jedesmal beim Aktualisieren mit berücksichtigt werden, was natürlich relativ viel Zeit (je nach Rechnergeschwindigkeit) kostet.

Meine Vorgehensweise hierzu:

cd /var/spool/squidGuard/db/
mv ads/domains.diff ads/domains.diff_alt
mv audio-video/domains.diff audio-video/domains.diff_alt
mv drugs/domains.diff drugs/domains.diff_alt
mv hacking/domains.diff hacking/domains.diff_alt
mv violence/domains.diff violence/domains.diff_alt
mv aggressive/domains.diff aggressive/domains.diff_alt
mv gambling/domains.diff gambling/domains.diff_alt
mv porn/domains.diff porn/domains.diff_alt
mv warez/domains.diff warez/domains.diff_alt

 

Und nun zum Freigeben bzw. Sperren von Domains und Urls:

Hierfür sind die Ordner /var/spool/squidGuard/db/custom/good bzw. .../bad vorgesehen.

1) Freigeben von domains bzw. urls:

Beispiel es soll z.B. die Domain www.porn.com und die url www.canabi.com/sex freigegeben werden.

Erstelle in /var/spool/squiGuard/db/custom/good eine Datei namens domains.diff

hierin wird einfach geschrieben:

+porn.com (ohne www am Anfang)

und erstelle analog eine Datei namens urls.diff:

+canabi.com/sex

danach ein Update der Berkley-Datenbank mit:

/usr/local/bin/squidGuard -u

Danach evtl. squid neustarten (/sbin/init.d/squid stop; /sbin/init.d/squid start)

Da man die *.diff-Dateien nicht mehr benötigt, aber evtl. irgendwann einmal sehen will, was man freigegeben hat, sollte man jedesmal den Inhalt speichern und die Dateien löschen:

cat *.diff >> diff.alt
rm *.diff

fertig :-)

2) Sperren von domains bzw. urls:

Das funktioniert analog zum Freigeben, allerdings im Ordner /var/spool/squiGuard/db/custom/bad

3) Rückgängigmachen von freigegebenen/gesperrten Domains/Urls

Da diese Domains/Urls bereits in der Datenbank (domains.db/urls.db) beinhaltet sind, muss man diese wieder herausholen und zwar funktioniert das genauso wie das Freigeben bzw. Sperren, mit dem einzigen Unterschied, dass man in die Dateien domains.diff/ursl.diff

nicht +porn.com, sondern -porn.com

nicht +canabi.com/sex, sondern -canabi.com/sex

schreibt; der Rest funktioniert genau wie oben beschrieben :-)

 

4. Einstellungen in squidGuard.conf

User/Rechner auf die der SquidGuardfilter nicht angewendet werden soll

Damit user hiervon ausgenommen werden sollen, muss ein ident-Programm z.B. identd auf den Clients laufen, die an Squid die user-Kennung übermitteln.
Um Rechner vom Filtern herauszuhalten, muss man deren IP kennen.

Dann ergänzt man die Datei /etc/squid/squidGuard.conf folgendermaßen:

src adults {
ip 192.168.0.83 192.168.0.241 192.168.109
user fett kroe
}

acl {
adults {
pass all
redirect 302:http://192.168.0.1/cgi.bin/squidGuard.cgi
}
}

Es gibt noch eine Menge anderer Einstellungen (wie z.B. das zeitweise Blockieren des Internets u.ä. für bestimmte Rechner oder User), das ist recht gut (allerdings in Englisch) auf http://www.squidguard.org/config/ beschrieben.


Dieter Kroemer; letzte Änderung: 25.05.2002