AdvancedProxy mit zeitgesteuertem Logprotokoll
Aus IpcopWiki
Inhaltsverzeichnis |
Übersicht
Argumentation
Das Datenschutzgesetz sieht unter Anderem vor, dass nicht ohne Weiteres ein Logging des Surfverhaltens der Benutzer erfolgen darf. Ich stelle hiermit eine Möglichkeit vor, das Logging ausserhalb der Regelarbeitszeit zu aktivieren und innerhalb der Arbeitszeit wieder zu deaktivieren.
Nachteile
Wird an der Konfiguration des Squid etwas geändert oder ein Update wird eingespielt, werden die jew. Konfigurations- und Settingsdatei dadurch vernichtet oder die Konfigurationsänderungen sind einfach nicht mehr sichtbar nach Ausführen des jew. Scriptes.
Technik
Dazu wird einfach die jew. Conf-Datei des Squid gegen eine andere ausgetauscht und dieser dann neugestartet.
Voraussetzung
mit folgenden Versionen wurde getestet
- IPCop 1.4.10
- AdvProxy 1.2.2
- falls Copfilter in Version 0.82.1 oder höher im Einsatz ist, wird das Starten des HAVP berücksichtigt
Vorgehen
Vorbereitung des Squid
In der Oberfläche des AdvProxy wird das Log deaktiviert und dieser neugestartet. Die Datei /var/ipcop/proxy/squid.conf wird im gleichen Verzeichnis als squid_nolog.conf als Kopie abgelegt. Danach wird das Logging wieder deaktiviert, der Proxy neugestartet und die jetzt veränderte squid.conf wird als squid_log.conf kopiert.
Vorbereitung der Ansicht der Oberfläche
Die Ansicht der Oberfläche ändert sich durch die squid.conf nicht, wenn man diese mit Hand kopieren sollte. Dazu ist die Datei settings da, welche sich im Verzeichnis /var/ipcop/proxy/advanced/ befindet. Hier wird die gleiche Vorbereitung getroffen:
- Deaktivierung des Log, Neustarten des Proxy und Kopieren der settings nach /var/ipcop/proxy/advsquidsettings_nolog
- Danach Aktivierung des Log, Neustart des Proxy und Kopieren der settings nach /var/ipcop/proxy/advsquidsettings_log
Scripte
Im Verzeichnis /usr/local/bin werden 2 Dateien erstellt: restartsquid_withnolog und restartsquid_withlog. Die Rechte der Dateien werden auf 775 geändert. Der Inhalt der Dateien:
restartsquid_withnolog
#!/bin/sh # Hiermit wird Squid und HAVP neugestartet # Log im Squid wird deaktiviert CONF=squid_nolog.conf SETTINGS=advsquidsettings_nolog cd /var/ipcop/proxy echo kopiere Conf-Datei cp $CONF squid.conf cp $SETTINGS advanced/settings /usr/local/bin/restartsquid sleep 2 if [ -f /usr/local/bin/copfilter_restarthavp ]; then /usr/local/bin/copfilter_restarthavp fi
restartsquid_withlog
#!/bin/sh # Hiermit wird Squid und HAVP neugestartet # Log im Squid wird aktiviert CONF=squid_log.conf SETTINGS=advsquidsettings_log cd /var/ipcop/proxy echo kopiere Conf-Datei cp $CONF squid.conf cp $SETTINGS advanced/settings /usr/local/bin/restartsquid sleep 2 if [ -f /usr/local/bin/copfilter_restarthavp ]; then /usr/local/bin/copfilter_restarthavp fi
Einbau in die Cron-Tabelle
So sieht das bei mir in der crontab aus, wenn ich das Log nur am Wochenende haben möchte:
# Anschalten des Log-Protokolls am Samstag 17 Uhr 0 17 * * 6 /usr/local/bin/restartsquid_withlog # Ausschalten des Log-Protokolls am Montag 6 Uhr 0 6 * * 1 /usr/local/bin/restartsquid_withnolog
Hilfe zu anderen Einträgen in der Crontab gibts in einer kleinen crontab-Hilfe
