• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Jugendgefährdende Seiten sperren?

A

Anonymous

Gast
Hallo!
Mein System in der Schule ist:
SuSE8.2 pro als LTSP-Server mit squid als Proxy.
Wie kann ich diesen Rechner so einstellen, das der Zugriff auf gewisse Seiten nicht möglich ist?
Idealerweise gebe ich diese URLs in eine Datei (oder so) ein. Ich glaube beim Arktur-Kommunikationsserver gibt es sowas.
cu ernst
 

moenk

Administrator
Teammitglied
Da bietet sich SquidGuard an. Eine einfache Anleitung ist hier:
http://projects.brg-schoren.ac.at/feuerwand/konfiguration_squidguard.htm
Ein ausführlicher Text ist z.B. hier zu lesen:
http://www.cul.de/data/freex62002pr.pdf
Der Knackpunkt ist für mich eigentlich immer, dass ich den Proxy umgehen kann, wenn ich auf der Firewall nicht vorsehe, dass der Server der einzige ist der auf Port 80-82 raus darf.
 
OP
A

Anonymous

Gast
Hallo,
ich habe mir die Tipp-Urls von moenk mal angesehen und probiert, sie klappen aber leider nicht :-( .
Folgende Konfiguration habe ich:

Datei /etc/squidgard.conf:
logdir /usr/local/squidGuard/logs
dbhome /usr/local/squidGuard/db

src schule {
ip 192.168.99.1 192.168.99.101 192.168.99.102 192.168.9.103 192.168.99.104
user schueler1
}

dest sex {
domainlist sex/domains
urllist sex/urls
log sex.log
}

acl {
schule
{
pass !sex all
redirect http://www.linux-club.de
}
default {
pass all
}
}

Verzeichnisse:
ls -R /usr/local/squidGuard/
/usr/local/squidGuard/:
. .. db logs

/usr/local/squidGuard/db:
. .. gewalt sex

/usr/local/squidGuard/db/gewalt:
. ..

/usr/local/squidGuard/db/sex:
. .. domainlist urllist

/usr/local/squidGuard/logs:
. ..
Die Datei /usr/local/squidGuard/db/sex/domainlist:
www.sex.de
www.sex.com

Die Datei /usr/local/squidGuard/db/sex/urllist:
sex.de

Aufruf in /etc/squid/squid.conf:
redirect_program /usr/sbin/squidGuard -C all -c /etc/squidguard.conf
redirect_children 5

Es werden auch 5 Child-Prozesse erzeugt.

Die /var/log/messages sieht auch gut aus:
Oct 5 17:51:19 linux squid[3118]: storeDirWriteCleanLogs: Starting...
Oct 5 17:51:19 linux squid[3118]: Finished. Wrote 1 entries.
Oct 5 17:51:19 linux squid[3118]: Took 0.0 seconds (1550.4 entries/sec).
Oct 5 17:51:19 linux squid[3118]: Squid Cache (Version 2.5.STABLE1): Exiting normally.
Oct 5 17:51:19 linux squid[3116]: Squid Parent: child process 3118 exited with status 0
Oct 5 17:51:30 linux squid[3653]: Squid Parent: child process 3655 started
Oct 5 17:51:30 linux squid[3655]: Starting Squid Cache version 2.5.STABLE1 for i686-pc-linux-gnu...
Oct 5 17:51:30 linux squid[3655]: Process ID 3655
Oct 5 17:51:30 linux squid[3655]: With 4096 file descriptors available
Oct 5 17:51:30 linux squid[3655]: DNS Socket created at 0.0.0.0, port 32867, FD 5
Oct 5 17:51:30 linux squid[3655]: Adding nameserver 212.185.253.70 from /etc/resolv.conf
Oct 5 17:51:30 linux squid[3655]: Adding nameserver 194.25.2.129 from /etc/resolv.conf
Oct 5 17:51:30 linux squid[3655]: helperOpenServers: Starting 5 'squidGuard' processes
Oct 5 17:51:30 linux squid[3655]: User-Agent logging is disabled.
Oct 5 17:51:30 linux squid[3655]: Referer logging is disabled.
Oct 5 17:51:30 linux squid[3655]: Unlinkd pipe opened on FD 15
Oct 5 17:51:30 linux squid[3655]: Swap maxSize 102400 KB, estimated 17066 objects
Oct 5 17:51:30 linux squid[3655]: Target number of buckets: 853
Oct 5 17:51:30 linux squid[3655]: Using 8192 Store buckets
Oct 5 17:51:30 linux squid[3655]: Max Mem size: 8192 KB
Oct 5 17:51:30 linux squid[3655]: Max Swap size: 102400 KB
Oct 5 17:51:30 linux squid[3655]: Local cache digest enabled; rebuild/rewrite every 3600/3600 sec
Oct 5 17:51:30 linux squid[3655]: Rebuilding storage in /var/cache/squid (CLEAN)
Oct 5 17:51:30 linux squid[3655]: Using Least Load store dir selection
Oct 5 17:51:30 linux squid[3655]: Set Current Directory to /var/cache/squid
Oct 5 17:51:30 linux squid[3655]: Loaded Icons.
Oct 5 17:51:30 linux squid[3655]: Accepting HTTP connections at 0.0.0.0, port 3128, FD 17.
Oct 5 17:51:30 linux squid[3655]: Accepting ICP messages at 0.0.0.0, port 3130, FD 18.
Oct 5 17:51:30 linux squid[3655]: HTCP Disabled.
Oct 5 17:51:30 linux squid[3655]: Accepting SNMP messages on port 3401, FD 19.
Oct 5 17:51:30 linux squid[3655]: WCCP Disabled.
Oct 5 17:51:30 linux squid[3655]: Ready to serve requests.
Oct 5 17:51:30 linux squid[3655]: Done reading /var/cache/squid swaplog (1 entries)
Oct 5 17:51:30 linux squid[3655]: Finished rebuilding storage from disk.
Oct 5 17:51:30 linux squid[3655]: 1 Entries scanned
Oct 5 17:51:30 linux squid[3655]: 0 Invalid entries.
Oct 5 17:51:30 linux squid[3655]: 0 With invalid flags.
Oct 5 17:51:30 linux squid[3655]: 1 Objects loaded.
Oct 5 17:51:30 linux squid[3655]: 0 Objects expired.
Oct 5 17:51:30 linux squid[3655]: 0 Objects cancelled.
Oct 5 17:51:30 linux squid[3655]: 0 Duplicate URLs purged.
Oct 5 17:51:30 linux squid[3655]: 0 Swapfile clashes avoided.
Oct 5 17:51:30 linux squid[3655]: Took 0.3 seconds ( 3.6 objects/sec).
Oct 5 17:51:30 linux squid[3655]: Beginning Validation Procedure
Oct 5 17:51:30 linux squid[3655]: Completed Validation Procedure
Oct 5 17:51:30 linux squid[3655]: Validated 1 Entries
Oct 5 17:51:30 linux squid[3655]: store_swap_size = 44k
Oct 5 17:51:32 linux squid[3655]: storeLateRelease: released 0 objects

Woran kanns liegen?
 

moenk

Administrator
Teammitglied
Vorweg: Ich stellte mir die Frage wo ich eine brauchbare Blockliste herbekommen kann. Das hat sich nun gefunden, wird in Kooperation mit dem Bürgernetz Paffenhofen zusammengebaut.
http://squidguard.mesd.k12.or.us/blacklists.tgz
Sind dann auch US-Sites drin (wäre ja sonst auch doof). Bei Deinem Log kapier ich das Problem noch nicht. Was passiert denn, wenn man nun eine Seite anfordert die man nicht sehen soll?
Das Config-Beispiel fand ich auch etwas kompliziert. Ich werde mir mal den Spass machen und die Tage auch so einen Server konfigurieren, wird gerade in der Schule auch mal gewünscht. Ziel soll eine Minimal-Config mit maximaler Wirkung sein. Die Config poste ich dann natürlich hier in meine Linux-Knowledge-Base.
 
OP
A

Anonymous

Gast
Hallo moenk?
"Was passiert denn, wenn man nun eine Seite anfordert die man nicht sehen soll? "
Sie wird ohne wenn-und-aber angezeigt. Der Filter ist somit wirkungslos.
cu ernst
 

moenk

Administrator
Teammitglied
Ich habe grad die Installation von SquidGuard angeworfen weil ich gerade Verwendung für eine Schule mit Bundeswehrsoldaten mit Hormonüberschuss habe. Die sind an sich alt genug aber die eingestellten Deskop-Hintergründe gefällt den Abendkursen meist nicht so.
Hab grad Auftrag bekommen, das zu installieren, Zwangsproxy, kein IP-Routing mehr, es wird eh nur WWW genutzt.
Da fällt folgende Meldung von SuSE auf:
Um squidGuard verwenden zu können, muß ein Squid 2.2 oder 2.3 auf Ihrem System laufen. In der squid.conf ist nur ein einziger Eintrag (redirect_program) zu verändern, damit squidGuard verwendet wird. Die vorinstallierte Konfiguration für squidGuard ist nicht sinnvoll verwendbar und nur zum Testen gedacht, sie muß den Bedürfnissen entsprechend neu erstellt werden.
Ich habe nur durch SuSE 8.2 den Squid 2.5 drauf. Mal gucken ob es damit tut. Bei dem SquidGuard von den SuSE-CDs ist auch eine Filterliste dabei. Deren Lieblingsseite "al4a.com" steht da nämlich auch drin, hab ich schon geguckt.
Allerdings scheint mir, Dein SquidGuard läuft im "emergency mode", d.h. es wird nicht gefiltert weil irgendwas nicht in Ordnung ist. Die Permissions auf der SuSE-Distrubution stimmen auch nicht.
Code:
bfw-server:/var/lib/squidGuard # chown squid blacklist
Damit kann man die richtig einstellen. Außerdem muss der Name der Config-Datei die dem Redirector übergeben wird genau stimmen.
Trotzdem funktioniert das alles funktioniert bei mir nur ansatzweise. Da werd ich wohl noch etwas mit rumprobieren müssen.
 

moenk

Administrator
Teammitglied
Jetzt wo alles funktioniert hier die Auflösung des Rätsels. Gesucht war eine möglichst einfache und effektive Blockade von Sex-Seiten auf dem Schulserver mit SuSE 8.2 und dem was dabei ist. Rezept:
Squid und SquidGuard von den CDs installieren, Permissions korrigieren (siehe oben). Nur den Redirector einstellen, die Anzahl der Childprozesse ist eh default, Aufruf mit richtigem Pfad und -c für die richtige Config-Datei. Wenn alles stimmt kommt in der /var/log/squidGuard/squidGuard.log
2003-10-10 16:42:37 [10460] init urllist /var/lib/squidGuard/db/blacklist/urls
2003-10-10 16:42:37 [10460] squidGuard 1.2.0 started (1065796957.015)
2003-10-10 16:42:37 [10460] squidGuard ready for requests (1065796957.165)
Knackpunkt bei der Installation ist ist die richtige Konfig-Datei, das ist etwas Frickelkram, weil überall nur umfangreiche Beispiele rumliegen, ein Minimalding habe ich mal zusammengestrickt und muss als /etc/squidguard.conf bereitgelegt werden:
Code:
logdir /var/log/squidGuard
dbhome /var/lib/squidGuard/db
dest blacklist {
    domainlist blacklist/domains
    urllist    blacklist/urls
}
acl {
  default {
    pass !blacklist all
    redirect 302:http://www.bfw-niedersachsen.de
  }
}
Das arbeitet bei mir einwandfrei und geht nach einer Woche Testphase in den Produktivbetrieb. Alles war mir so an Sauereien einfiel wurde brav umgeleitet. Ein passendes PHP-Skript mit Parametern aufgerufen auf dem Redirect-Server folgt in Kürze.
 
OP
A

Anonymous

Gast
Hallo moenk,
erstmal danke für deine Hilfe, nur ist squidguard immer noch völlig wirkungslos.
Meine /etc/squidguard.conf:
Code:
logdir /usr/local/squidGuard/logs
dbhome /usr/local/squidGuard/db
dest sex {
    domainlist sex/domains
    urllist    sex/urls
    log        sex.log
}
acl {
    default {
    pass !sex all
    redirect 302:http://www.realschule-harsefeld.de
        }
}
Der Eintrag in /etc/squid/squid.conf:
Code:
redirect_program /usr/sbin/squidGuard -c /etc/squidguard.conf
Die Dateien in /usr/local/squidGuard/db/sex:
Code:
$> ls -ls
  96 -rwxr-xr-x    1 squid    root        94769 2003-10-10 16:06 domains
 260 -rw-r--r--    1 root     root       266240 2003-10-11 16:14 domains.db
   8 -rwxr-xr-x    1 squid    root         5329 2003-10-10 16:06 urls
  20 -rw-r--r--    1 root     root        20480 2003-10-11 16:14 urls.db
Der Inhalt von /var/log/squidGuard/squidGuard.log :
Code:
2003-10-11 16:14:32 [5886] init domainlist /usr/local/squidGuard/db/sex/domains
2003-10-11 16:14:33 [5886] create new dbfile /usr/local/squidGuard/db/sex/domains.db
2003-10-11 16:14:33 [5886] init urllist /usr/local/squidGuard/db/sex/urls
2003-10-11 16:14:33 [5886] create new dbfile /usr/local/squidGuard/db/sex/urls.db
Vorgehensweise: squid angehalten, Datenbanken neu erzeugt und squid neu gestartet mit:
Code:
#> rcsquid stop
#> squidGuard -C all  -c /etc/squidguard.conf &
#> rcsquid start
Meine squid Versionen:
Code:
# rpm -qa | grep squid
squid-2.5.STABLE1-63
squidGuard-1.2.0-192
Die Prozesse laufen:
Code:
# ps -ef | grep squid
root      5926     1  0 16:15 ?        00:00:00 /usr/sbin/squid -sYD
squid     5928  5926  0 16:15 ?        00:00:00 (squid) -sYD
squid     5929  5928  0 16:15 ?        00:00:00 (squidGuard) -c /etc/squidguard.conf
squid     5930  5928  0 16:15 ?        00:00:00 (squidGuard) -c /etc/squidguard.conf
squid     5931  5928  0 16:15 ?        00:00:00 (squidGuard) -c /etc/squidguard.conf
squid     5932  5928  0 16:15 ?        00:00:00 (squidGuard) -c /etc/squidguard.conf
squid     5933  5928  0 16:15 ?        00:00:00 (squidGuard) -c /etc/squidguard.conf
squid     5934  5928  0 16:15 ?        00:00:00 (unlinkd)
Danach Browser gestartet und eine der URLs aus der Datei /usr/local/squidGuard/db/sex/domains eingegeben und diese ließ sich ohne weiteres öffnen.
Ich habe den Verdacht, dass der squidGuard, die Dateien domains und urls in /usr/local/squidGuard/db/sex nicht auswertet.
 

moenk

Administrator
Teammitglied
Das kann sein. Zu den Dateien wird ja diese Datenbank generiert (und hinterher normal auch wieder weggeräumt). Das Programm ist tatsächlich recht merkwürdig, ich habe lange an der Config gebastelt, bis Seiten geblockt wurden. Die Logfiles sind auch nicht besonders aussagekräftig. Die Versionen der Software sind bei uns beiden ja identisch. Deine Verzeichnisse aber andere.
Ich gehe mal davon aus, dass Du auch SuSE 8.2 verwendest. Da die Config von mir funktioniert vewende die doch bitte einfach mal. Und die Blacklist aus dem Lieferumfang nimm doch auch mal bitte und nicht die aus Pfaffenhofen. Für den Jugendschutz scheint mir erstere auszureichen.
Wenn das noch nix bringt, wirf doch mal beides runter, nimm die Pakete von SuSE wie von mir angeleitet und geh genau so vor. Ich kann das auf diesem Weg einwandfrei reproduzieren dass es so funktioniert.
SquidGuard muss übrigens nicht selbst gestartet werden, das macht bei mir Squid automatisch mit: /etc/init.d/squid restart
Mach mal ein "killall squidGuard" vorweg, die Prozesse müssen squid gehören, sonst läuft das alles eh nicht.
 
OP
A

Anonymous

Gast
Hallo moenk,
ich habe es alles noch einmal versucht, aber immer noch nichts :cry:
Also:
Deine /etc/squidguard.conf, die default-Dateien in /var/lib/squidGuard/db/blacklist genommen, owner auf squid geändert, squid und squidguard von der SuSE8.2 DVD neu installiert.
Resultat: wirkungslos.
Code:
2003-10-13 11:25:30 [5265] init domainlist /var/lib/squidGuard/db/blacklist/domains
2003-10-13 11:25:30 [5265] init urllist /var/lib/squidGuard/db/blacklist/urls
2003-10-13 11:25:30 [5265] squidGuard 1.2.0 started (1066037130.793)
2003-10-13 11:25:30 [5265] squidGuard ready for requests (1066037130.861)

linux:/var/lib/squidGuard/db/blacklist # ls -ls
   0 drwxr-xr-x    2 squid    root          184 2003-10-13 11:22 .
   0 drwx------    3 squid    root           80 2003-03-14 01:33 ..
  92 -rw-r--r--    1 squid    root        91625 2003-10-13 11:16 domains
   4 -rw-r--r--    1 squid    root          444 2003-03-14 01:33 expressions
 200 -rw-r--r--    1 squid    root       201484 2003-10-13 11:16 urls

linux:/etc/squid # ps -ef | grep squid
root      4979  4759  0 11:15 pts/2    00:00:00 vi squidguard.conf
root      5262     1  0 11:25 ?        00:00:00 /usr/sbin/squid -sYD
squid     5264  5262  0 11:25 ?        00:00:00 (squid) -sYD
squid     5265  5264  0 11:25 ?        00:00:00 (squidGuard) -c /etc/squidguard.conf
squid     5266  5264  0 11:25 ?        00:00:00 (unlinkd)
root      5272  4486  0 11:25 pts/0    00:00:00 grep squid

linux:/etc # cat squidguard.conf
logdir /var/log/squidGuard
dbhome /var/lib/squidGuard/db
dest blacklist {
     domainlist blacklist/domains
     urllist blacklist/urls
 }
acl {
   default {
     pass !blacklist all
     redirect 302:http://www.bfw-niedersachsen.de
   }
}

Noch 'ne Idee?
Was bedeutet die 302 bei 302:http.... ?
cu
 

moenk

Administrator
Teammitglied
302 ist der Code für Redirect der dann auch korrekt übermittelt wird, die Seite wurde ja weitergeleitet, dann weiss der Client auch was los ist und kann darauf auch reagieren.
Das sieht alles gut und richtig aus. Auch die Prozesse sehen bei mir genau so aus.Bleibt mir nur noch zu vermuten, dass Du den Proxy auf dem Browser gar nicht eingetragen hast. Etwas anderes fällt mir auch nichts mehr ein.
Ich kann aus meiner Beschreibung 100% einen korrekten SquidGuard aus einer SuSE 8.2 rekonstruieren.
 
OP
A

Anonymous

Gast
Hallo moenk,
Bleibt mir nur noch zu vermuten, dass Du den Proxy auf dem Browser gar nicht eingetragen hast. Etwas anderes fällt mir auch nichts mehr ein.
Vielleicht ist es das ja :?: Ich habe bisher lediglich in yast2-Netzwerkdienste-Proxy Proxy aktivieren angekreuzt und weiter nichts.Bei den Proxy Einstellungen ist lediglich Keine Proxy Domains localhost eingetragen.
Da mein Rechner selbst der Proxy für das LTSP-Netz ist, müsste ich dort die IP dieses Rechners eintragen (192.168.99.100) (oder?).
cu ernst
 

moenk

Administrator
Teammitglied
Die eigene IP oder localhost und als Port 3128. Du kannst testen ob Du den Proxy auch wirklich verwendest in dem Du eine Adresse eingibst de es nicht gibt und dann eine Fehlermeldung vom Proxy bekommen musst. Teste am besten mit den benutzerdefinierten Einstellungen, wenn alles läuft mit den Umgebungsvariablen.
 
OP
A

Anonymous

Gast
Hallo moenk,
wir kommen der Sache langsam näher.
Es funktioniert jetzt mit opera :D (Vers 7.11) dem konqueror, aber leider noch nicht mit mozilla oder netscape :cry: .
Gebe ich bei den letztgenannten Browsern eine beliebige URL (z.B http://www.asgfsagasrg.de ) ein, so kriege ich eine Meldung, dass die URL nicht gefunden wurde.
Gebe ich z.B http://localhost:3128/ ein, so meldet sich squid mit einer Fehlermeldung.
PS: Ich leite jetzt auf www.erklein.de/jugend.html :wink: um .
cu ernst
 
OP
A

Anonymous

Gast
Hi,
der Konqueror läuft jetzt auch mit squidguard ohne weiteres dazutun. Opera ebenso - auch in der neuesten Version 7.21. Bei mozilla muss man in der Datei /opt/mozilla/defaults/pref/all.js folgendes setzen (ca Zeilen 600-610):
Code:
pref("network.proxy.http", "192.168.50.1"); <== anpassen
pref("network.proxy.http_port", 3128);
pref("network.proxy.type", 1);
Bei Netscape -auf der SuSE8.2-CD ist nur die Version 4.8 drauf- habe ich noch nichts entdeckt.
cu ernst
 

moenk

Administrator
Teammitglied
Netscape hat immer schon Einstellmöglichkeit für Proxy. Die 4er-Version war lange bei mir im Einsatz, auch mit Squid, kann ich aber mittlerweile niemandem mehr empfehlen. Heute sollte es schon Firebird/Mozilla und KMail sein. Tabellen werden teilweise schon mit dem Netscape 4.x nicht mehr sauber angezeigt und CSS schon gar nicht, das ist nicht mehr zeitgemäss, Netscape-Mail in den Versionen stürzt regelmäßig beim Reply ab.
 
OP
A

Anonymous

Gast
Hallo ich würde gerne den Chat "Edencity" sperren,geht das auch???
 

moenk

Administrator
Teammitglied
Es gibt jede denkbare Funktion etwas zu sperren. Aber bin mir nicht ganz sicher, ob diese Lösung bei Dir einsetzbar ist, respektive ob Du so etwas wie Squid einsetzen willst.
 
Oben