#!/usr/bin/perl package conf; ######################################################################## # #
# FilterSurf-Redirector Konfigurationsdatei # # Version V2.14.1 (26.03.2006) # # FilterSurf GbR: Christian Ludwig, Dominik Herrmann # www.filtersurf.de ## #
# Diese Datei dient zur Konfiguration des Redirector-Skripts. Bitte # achten Sie auf die korrekte Schreibweise, da Syntaxfehler zu Problemen # führen können. Kontrollieren Sie die einwandfreie Funktion des # FilterSurf-Redirectors im system log (unter Linux /var/log/syslog oder # /var/log/messages). #
# ## Bitte lesen Sie die Kommentare zu den einzelnen Parametern. Dort ist # die Funktionsweise genau erläutert und es werden Beispiele zur # Verwendung gegeben. Bei Fragen wenden können Sie auch die Entwickler # kontaktieren. Mit dem Online-Konfigurator auf unserer Internetseite # (http://www.filtersurf.de/configurator.php) können Sie eine fertige # conf-Datei erstellen lassen. #
### 1. PROXY-SERVER #################################################### # ## Wenn ein HTTP-Proxy-Server ("Zwangs-Proxy") für die Kommunikation # mit dem Internet benötigt wird und dieser für die Verbindung zum # FilterSurf-Server verwendet werden soll, dann muss der Proxy-Server # hier eingetragen werden. #
# ## Falls Sie sich nicht sicher sind, ob Sie hier etwas eintragen müssen: # Ein Eintrag ist nur dann nötig, falls eine direkte Verbindung ohne # Verwendung des Proxy-Servers unmöglich ist. Sie können es zuerst ohne # eingetragenen Proxy-Server versuchen. Falls der Redirector dann nicht # funktioniert (Ausgabe in /var/log/messages beachten!), dann sollten # Sie es mit einem Eintrag hier noch einmal versuchen. #
# ## Ist kein Proxy-Server vorhanden oder wird er nicht benötigt, dann # müssen die Zeilen proxy_server_ip und proxy_server_port mit "#" # auskommentiert werden. #
# #
# Technischer Hinweis:
# Hier KEINEN Hostnamen (z.B. proxy.local.net) eintragen, sondern
# unbedingt die IP-Adresse (z.B. 10.0.0.1)!
# Proxy-Authentifikation wird derzeit nicht unterstüzt.
#
# Das hier ist eine Bitmaske, die angibt, welche Kategorien gefiltert # werden sollen: #
# ## Kategorie 1: porno/adult (1) # Kategorie 2: aggressive/violence (2) # Kategorie 3: search engines (4) # Kategorie 4: hacking/warez (8) # Kategorie 5: forums/chats (16) # Kategorie 6: onlineauctions (32) # Kategorie 7: (web)mail (64) # Kategorie 8: gambling/time waste (128) # Kategorie 9: proxies/anonymizer (256) ## #
# Beispiel: Um porno/adult, search engines und forums/chats zu sperren:
# $categories = 1 + 4 + 16;
#
# Wenn $googlesafesearch aktiviert ist (das ist die Standardeinstellung), # dann wird automatisch veranlasst, dass die google Safesearch # aktiviert wird (Details: http://www.google.com/help/customize.html). # Um Safesearch zu deaktivieren, diesen Wert auf 0 setzen. #
#$categories = 3; #$googlesafesearch = 1; ### 3. LOKALE BLACKLISTE ############################################### # ## Dies ist eine Liste mit zusätzlich zu filternden Adressen (zusätzlich # zu den oben ausgewählten Kategorien). #
# #
# Verwendungshinweise:
# Ein Eintrag der Form a.b.c sperrt alle Adressen, die
# so ENDEN, also auch x.y.a.b.c.
#
# Beispiel: Eintrag 'filtersurf.de' sperrt z.B.:
# www.filtersurf.de, www.test.filtersruf.de
#
# Beispiel: Eintrag 'www.filtersurf.de' sperrt:
# www.filtersurf.de, ABER NICHT: filtersurf.de
#
# Die Markierungen (begin/end locallist) werden bei der FilterSurf- # Box für die korrekte Funktion benötigt. Unbedingt unangetastet lassen! #
# ## Beispiel-Eintrag: # @locallist = ( # 'url1.de', 'url2.de', 'url3.de' # ); ## #
# Seit Version 2.13 unterstützt der Redirecor auch eine Blackliste, die # in eine Datei ausgelagert ist. Es ist derzeit jedoch noch nicht # möglich, die Blackliste aus mehrere Dateien zu laden. #
# #
# Syntax:
# @locallist = includefile("filename");
#
# Erstellen Sie dann die Datei "filename" und tragen Sie die URLs # zeilenweise (Unix-Format! Separator: \n) ein. #
# ## Achtung: Bei Verwendung großer lokaler Listen kann es zu Einbußen bei # der Geschwindigkeit kommen, da der lokale Suchalgorithmus noch nicht # auf Performance optimiert ist. #
# begin locallist @locallist = ( ); # end locallist #@locallist = includefile("filename"); ### 4. LOKALE WHITELISTE ############################################### # ## Liste mit Seiten, die auf keinen Fall gefiltert werden sollen: # Es gilt die Filter-Konvention wie oben. #
# ## Hier sollten auch Webserver eingetragen werden, die im lokalen # Netzwerk (LAN) vorhanden sind. Diese sollen ja i.d.R. ohne Filterung # erreichbar sein. #
# ## Die Markierungen (begin/end localwhitelist) werden bei der FilterSurf- # Box für die korrekte Funktion benötigt. Unbedingt unangetastet lassen! #
# ## www.filtersurf.de verwendet das BPjM-Modul. Dieses Modul bewirkt die # Filterung der von der Bundesprüfstelle für jugendgefährdende Medien # (BPjM) indizierten Telemedien (Online-Angebote). Die Einträge umfassen # sowohl jugendgefährdende Angebote als auch solche, deren Verbreitung # nach Jugendmedienschutz-Staatsvertrag der Länder (JMStV) unzulässig # ist. Informationen zur BPjM und zum Indizierungsverfahren finden Sie # unter www.bundespruefstelle.de. #
# #
# Wichtiger Benutzungshinweis:
# www.filtersurf.de erlaubt die Verwendung einer sog. "lokalen"
# Whiteliste, die von jedem FilterSurf-Benutzer (Systemadministrator)
# selbst gepflegt werden kann. In diese Whiteliste können Internet-
# Domains aufgenommen werden, die nicht gesperrt werden sollen. Mit
# solchen Einträgen ist es daher möglich, einzelne Einträge den
# Endbenutzern zugänglich zu machen, auch wenn Sie ohne Whitelist
# gesperrt worden wären. Wenn sich ein Systemadministrator Sicherheit
# verschaffen möchte, ob ein beabsichtigter Whitelist-Eintrag mit dem
# BPjM-Modul kollidiert, kann er die fragliche URL in einer
# Einzelabfrage an die BPjM schicken: liste@bundespruefstelle.de.
#
# Beispiel-Eintrag: # @localwhitelist = ( # 'url1.de', 'url2.de', 'url3.de' # ); ## #
# Seit Version 2.13 unterstützt der Redirector auch Whitelisten, die # in eine eigene Datei ausgelagert sind. Weitere Hinweise zur Syntax # befinden sich im Kommentar bei der lokalen Blackliste. #
# begin localwhitelist @localwhitelist = ( ); # end localwhitelist #@localwhitelist = includefile("filename"); ### 5. STATUS und ACCESS LOG ########################################### # ## Wenn der Redirector alle Web-Zugriffe protokollieren soll, dann muss # der Parameter $access_log auf '1' gesetzt werden. #
# ## Der Dateiname des Logfiles sollte dann noch in /etc/syslog.conf gesetzt # werden. Der Redirector verwendet standardmäßig die syslog Facility # local0. Falls eine andere Facility gewünscht ist, kann dies mit dem # Parameter $syslog_facility eingestellt werden. Auf den meisten # Systemen passt wohl die Voreinstellung (local0). Fehlermeldungen # erscheinen dann in /var/log/messages oder /var/log/syslog. #
# ## Ist keine Protokollierung erwünscht (Vorteil: bessere Performance), so # muss der Parameter access_log mit # auskommentiert werden. #
# ## Auf jedem Fall geloggt werden Status-Meldungen, Warnungen und Fehler, # die der Redirector im Betrieb erkennt. #
# ## Um aus /var/log/messages die interessanten Zeilen (die angewählten # Internetseiten und das Filter-Ergebnis) zu ermitteln, kann man mit # dem grep-Kommando das Log entsprechend aufbereiten. #
#$access_log = "0"; #$syslog_facility = "local0"; ### 6. SONSTIGE PARAMETER ############################################## # ## Die optimale Performance des FilterSurf-Redirectors wird erreicht, # wenn der FilterSurf-Cache-Daemon (fscached) verwendet wird. Hier wird # der Socket des Daemons eingestellt. Die Standardeinstellung kann # meistens unverändert übernommen werden. Wenn der fscached nicht # verwendet wird, muss man $fscached_sock = ''; schreiben oder den # Parameter auskommentieren. # Mit $fscached_max_entries wird festgelegt, wie viele Hosts im Cache # maximal gespeichert werden. Die $fscached_expiration_time gibt an, # wie lange ein Eintrag maximal im Cache gespeichert bleibt (in Sekunden). #
#$fscached_sock = "/tmp/fscached"; #$fscached_expiration_time = 24*60*60; #$fscached_max_entries = 10000; #### ## Es ist möglich, verschiedene Designs der Access Denied (Zugriff # verweigert) Seite anzeigen zu lassen. Dies wird nur für OEM-Lösungen # benötigt, die eine eigenes Design für die access_denied.php Seite # benötigen. Falls Sie Interesse an einem solchen eigenen Design haben, # wenden Sie sich bitte an die Entwickler. #
# ## Default: Standard-Design #
#$accessdenied_design = ""; #### ## Filter-Bypass (auch bekannt als temporäre Whitelist) # Diese Funktion erlaubt es, gesperrte Seiten nach Eingabe eines # festgelegten Benutzernamens und Passworts sofort freizuschalten. # Dazu muss hier ein Benutzername und Passwort festgelegt werden, das # dann auf der Zugriff-Verweigert-Seite zur Authentifizierung eingegeben # werden muss. Bitte achten Sie auf ausreichende Sicherheit: Wenn Sie # die Zugangsdaten in dieser Datei abspeichern, sollten Sie die # Unix-Zugriffsrechte anpassen, so dass nur der squid-User (oft "squid" # oder "proxy") auf diese Datei zugreifen darf: #
# ## chown squid redirector.conf; chmod 0700 redirector.conf #
# ## Alternativ können Sie Benutzername und Passwort in einer separaten # Datei abspeichern (wiederum wie oben eingeschränkte Unix-Rechte # setzen, damit kein Unbefugter die Zugangsdaten lesen kann!). In der # Datei muss der Benutzername in der 1. und das Passwort in der 2. # Zeile stehen. Wenn Sie die Datei bypass.conf nennen, können Sie sie # folgendermaßen einbinden: #
# ## @bypasscredentials=includefile("bypass.conf"); #
# ## Wenn Sie die Zugangsdaten hier hinterlegen wollen, lautet die Syntax # wie folgt: #
# ## $bypasscredentials_user="username"; # $bypasscredentials_pass="password"; #
my ($bypasscredentials_user,$bypasscredentials_pass)=("",""); #$bypasscredentials_user="username"; #$bypasscredentials_pass="password"; @bypasscredentials=($bypasscredentials_user,$bypasscredentials_pass); #### ## Hier können Sie festlegen, wie lange der Bypass aktiv sein soll. # Derzeit gilt der Bypass immer für das gesamte Netzwerk für die # angegebene Dauer. #
# ## Einheit: Sekunden #
#$bypasstime=3600; ### 6. SERVER-NAME UND USER-ID ######################################### # ## Welcher FilterSurf-Server soll verwendet werden? Der Hauptserver wird # über den DNS-Namen fsredir.dyndns.org angesprochen. Dies ist auch # der Default-Wert. #
# ## Falls Sie einen eigenen FilterSurf-Server betreiben wollen, wenden # Sie sich bitte an die Entwickler (Kontaktinfos finden Sie am Anfang # dieser Datei). #
# ## Für erhöhte Ausfallsicherheit kann ein Fallback-Server angegeben werden. # Wenn der 1. Server nicht erreichbar ist, wird auf den Fallback-Server # umgeschaltet. Falls dieser auch nicht erreichbar ist, wird die angefragte # URL entweder gesperrt oder freigegeben. #
#$filtersurfserver="srv1.filtersurf.de"; #$fallbackserver="srv2.filtersurf.de"; #### ## Dieses Verhalten wird mit $defaultaction festgelegt, mögliche Werte sind # ACCESS_GRANT oder ACCESS_DENY (default: "ACCESS_GRANT"). #
#$defaultaction="ACCESS_GRANT"; #### ## Druch $connectiontimeout kann man angeben, wie viele Sekunden auf die Antwort des # FilterSurf-Servers gewartet werden soll. (default: 20) #
#$connectiontimeout=20; #### ## Der Fallback-Server wird dann aktiviert, wenn $fallbackthreshold direkt # hintereinander stattfindende Aufrufe fehlgeschlagen sind. #
#$fallbackthreshold=3; #### ## Der Fallback-Server wird $resolveinterval Sekunden verwendet. Dann wird # wieder auf den $filtersurfserver zurückgeschaltet. # # Default: 43200, also 12 Stunden #
#$resolveinterval=43200; #### ## Wenn der verwendete FilterSurf-Server eine Authentifizierung verlangt, # dann muss der Nachfolgende Parameter mit einer gültigen User-ID # besetzt werden. Andernfalls sollte er mit # auskommentiert werden. # Die User-ID wird bei jeder HTTP-Anfrage an den FilterSurf-Server # geschickt. #
# ## Falls Sie neben der userid auch einen username erhalten haben, muss dieser # ebenfalls eingetragen werden. Ansonsten können Sie dieses Feld leer lassen. #
#$userid = ""; #$username = "";