Lucas
March 22, 2018, 7:29pm
1
Hallo zusammen,
in Zukunft möchten wir an unserer Schule gerne den Zugriff auf “Jugendgefährdende” Seiten unterbinden.
Dafür bietet sich ja der mitgelieferte Proxy an…
Ist hier jemandem eine Lösung bekannt mit der man eine Online-Datenbank an den squid anbinden kann, damit man nicht alle Seiten händisch in eine Blackliste eintragen muss?
Ich bin über jeden Hinweis dankbar…
Beste Grüße
Lucas
knebb
March 23, 2018, 12:53pm
2
Squid im App-Katalog
“Die Filterung von Internetinhalten erfolgt über die Software DansGuardian.”
@knebb : In UCS@school möchte man dafür lieber den SquidGuard nehmen, der bereits an Bord ist. Zusätzlich DansGuardian stört da nur - das ist eher etwas für UCS ohne @school .
@Lucas : Das Feature ist ja in http://docs.software-univention.de/ucsschool-handbuch-4.3.html#school:proxy:blacklists ganz gut beschrieben. Beliebte Listen sind z.B. die von Shalla (http://www.shalla.de/Info/blacklists.html ) oder die von SquidGuard selbst erwähnten: http://www.squidguard.org/blacklists.html
Bitte die Lizenzbestimmungen beachten Die Listen müssen dann nur noch wie im Handbuch beschrieben an die richtige Stelle gelegt und regelmäßig aktualisiert werden.
Lucas
March 26, 2018, 1:15pm
4
@knebb @Grandjean :
Vielen Dank für die Hinweise und Links!
Da habe ich wohl das passende Kapitel im Handbuch nicht entdeckt
Einen guten Start in die Woche wünsche ich.
Lucas
Wenn man die Listen auf mehreren Schulservern nutzen möchte, bietet sich die Verteilung über den rsync-daemon an. Die Aktivierung ist recht einfach, wenn man die Datei /etc/defailt/rsync anpasst:
root@app01:/etc# egrep -v "^$|^#" /etc/default/rsync
RSYNC_ENABLE=true
RSYNC_OPTS=''
RSYNC_NICE=''
RSYNC_IONICE='-c3'
Und dann in die neu zu erstellende Datei /etc/rsyncd.conf die zu exportierenden Ordner mit Zugriffsbeschränkungen auf die entspr. Subnetze einträgt:
root@app01:/etc# egrep -v "^$|^#" /etc/rsyncd.conf
gid = users
read only = true
use chroot = true
transfer logging = true
log format = %h %o %f %l %b
log file = /var/log/rsyncd.log
[shallalist]
path = /srv/rsyncd/shallalist
comment = Shallalist
hosts allow = 10.0.0.0/8 192.168.0.0/16
[fai]
path = /srv/rsyncd/fai
comment = FAI-ISOs
hosts allow = 10.0.0.0/8 192.168.0.0/16
Nun können die Schulserver des Nachts in einem cron-job ihre Updates bandbreitenschonend ziehen. Das Script dafür könnte so ausschauen:
#!/bin/bash
#
# Shallalisten per rsyncd aktualisieren.
# Thorsten Strusch <thorsten@ksan.de>
###########################################################################
KSAN_RSYNC_SERVER="app01.edu.DOMAIN.TLD"
SHALLABASE="/var/lib/squidguard/db/shallalist"
UCSBASE="/var/lib/ucs-school-webproxy/ksan"
PATH="${PATH}:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
mkdir -p $SHALLABASE $UCSBASE
rsync -qaz $KSAN_RSYNC_SERVER::shallalist /var/lib/squidguard/db/shallalist
chown -R proxy. /var/lib/squidguard/
# Grundschutz
cp -p ${SHALLABASE}/aggressive/domains ${UCSBASE}/aggressive-d
cp -p ${SHALLABASE}/aggressive/urls ${UCSBASE}/aggressive-u
cp -p ${SHALLABASE}/anonvpn/domains ${UCSBASE}/anonvpn-d
cp -p ${SHALLABASE}/anonvpn/urls ${UCSBASE}/anonvpn-u
cp -p ${SHALLABASE}/costtraps/domains ${UCSBASE}/costtraps-d
cp -p ${SHALLABASE}/costtraps/urls ${UCSBASE}/costtraps-u
cp -p ${SHALLABASE}/gamble/domains ${UCSBASE}/gamble-d
cp -p ${SHALLABASE}/gamble/urls ${UCSBASE}/gamble-u
cp -p ${SHALLABASE}/porn/domains ${UCSBASE}/porn-d
cp -p ${SHALLABASE}/porn/urls ${UCSBASE}/porn-u
cp -p ${SHALLABASE}/redirector/domains ${UCSBASE}/redirector-d
cp -p ${SHALLABASE}/redirector/urls ${UCSBASE}/redirector-u
cp -p ${SHALLABASE}/sex/lingerie/domains ${UCSBASE}/sex-lingerie-d
cp -p ${SHALLABASE}/sex/lingerie/urls ${UCSBASE}/sex-lingerie-u
cp -p ${SHALLABASE}/spyware/domains ${UCSBASE}/spyware-d
cp -p ${SHALLABASE}/spyware/urls ${UCSBASE}/spyware-u
cp -p ${SHALLABASE}/violence/domains ${UCSBASE}/violence-d
cp -p ${SHALLABASE}/violence/urls ${UCSBASE}/violence-u
cp -p ${SHALLABASE}/warez/domains ${UCSBASE}/warez-d
cp -p ${SHALLABASE}/warez/urls ${UCSBASE}/warez-u
cp -p ${SHALLABASE}/weapons/domains ${UCSBASE}/weapons-d
cp -p ${SHALLABASE}/weapons/urls ${UCSBASE}/weapons-u
# Weitere Listen im Ordner ${UCSBASE}, die auf -u oder -d enden, werden
# nun eingebunden - das ist der „hook” für lokale Anpassungen.
#update-squidguard > /dev/null
# domain und url basierte Blacklisten inkl. lokaler Listen aktivieren:
ucr set proxy/filter/global/blacklists/domains="$(for url in /var/lib/ucs-school-webproxy/ksan/*-d; do echo -n "ksan/$(basename $url) "; done)"
ucr set proxy/filter/global/blacklists/urls="$(for url in /var/lib/ucs-school-webproxy/ksan/*-u; do echo -n "ksan/$(basename $url) "; done)"
1 Like