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

Squid,Dansguardian und Sarg

Hallo!
Da wir in den letzten Wochen 2 Abmahnungen wegen illegalen Downloads bekommen haben, möchte ich in unseren Wohngruppen den gesamten Internetverkehr mitloggen. Der Betriebsrat hat diesem bereits zugestimmt. Vieleicht erst einmal zur Umgebung: Es handelt sich um ein Netzwerk aus ca. 60 PC's mit Zugang zum Internet. Da alle in einer Domäne sind, sollen der Proxy nicht transparent laufen sondern nur in den Browsereinstellungen (kann ja nicht mehr mit normalen Rechten geändert werden). Laut Firewall liegt der Durchschnitt an HTTP bei 3,5GB/Tag. Nun habe ich Squid installiert und konfiguriert.
Meine Testumgebung besteht übrigends aus Mint12(squid/Dansguardian/sarg) und einem Win7-PC 192.168.10.0/24 Netz

hier meine squid.conf
Code:
visible_hostname proxy01
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
acl localnet src 192.168.10.0/24	# RFC1918 possible internal network
acl SSL_ports port 443		# https
acl SSL_ports port 563		# snews
acl SSL_ports port 873		# rsync
acl Safe_ports port 80		# http
acl Safe_ports port 21		# ftp
acl Safe_ports port 443		# https
acl Safe_ports port 70		# gopher
acl Safe_ports port 210		# wais
acl Safe_ports port 1025-65535	# unregistered ports
acl Safe_ports port 280		# http-mgmt
acl Safe_ports port 488		# gss-http
acl Safe_ports port 591		# filemaker
acl Safe_ports port 777		# multiling http
acl Safe_ports port 631		# cups
acl Safe_ports port 873		# rsync
acl Safe_ports port 901		# SWAT
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow localnet
http_access deny all
icp_access allow localnet
icp_access deny all
http_port 3128
cache_mem 64 MB
hierarchy_stoplist cgi-bin ?
access_log /var/log/squid/access.log squid
refresh_pattern ^ftp:		1440	20%	10080
refresh_pattern ^gopher:	1440	0%	1440
refresh_pattern -i (/cgi-bin/|\?) 0	0%	0
refresh_pattern (Release|Packages(.gz)*)$	0	20%	2880
refresh_pattern .		0	20%	4320
acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
upgrade_http0.9 deny shoutcast
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
extension_methods REPORT MERGE MKACTIVITY CHECKOUT
hosts_file /etc/hosts
coredump_dir /var/spool/squid
emulate_httpd_log on

Nun habe ich Dansguardian installiert und konfiguriert.

dansguardian.conf:
Code:
reportinglevel = 3
languagedir = '/etc/dansguardian/languages'
language = 'german'
loglevel = 2
logexceptionhits = 2
logfileformat = 1
filterip =
filterport = 8080
proxyip = 127.0.0.1
proxyport = 3128
accessdeniedaddress = 'http://YOURSERVER.YOURDOMAIN/cgi-bin/dansguardian.pl'
nonstandarddelimiter = on
usecustombannedimage = on
custombannedimagefile = '/usr/share/dansguardian/transparent1x1.gif'
filtergroups = 1
filtergroupslist = '/etc/dansguardian/lists/filtergroupslist'
bannediplist = '/etc/dansguardian/lists/bannediplist'
exceptioniplist = '/etc/dansguardian/lists/exceptioniplist'
showweightedfound = on
weightedphrasemode = 2
urlcachenumber = 1000
urlcacheage = 900
scancleancache = on
phrasefiltermode = 2
preservecase = 0
hexdecodecontent = off
forcequicksearch = off
reverseaddresslookups = off
reverseclientiplookups = off
logclienthostnames = off
createlistcachefiles = on
maxuploadsize = -1
maxcontentfiltersize = 256
maxcontentramcachescansize = 2000
maxcontentfilecachescansize = 20000
filecachedir = '/tmp'
deletedownloadedtempfiles = on
initialtrickledelay = 20
trickledelay = 10
downloadmanager = '/etc/dansguardian/downloadmanagers/fancy.conf'
downloadmanager = '/etc/dansguardian/downloadmanagers/default.conf'
contentscannertimeout = 60
contentscanexceptions = off
recheckreplacedurls = off
forwardedfor = off
usexforwardedfor = off
logconnectionhandlingerrors = on
logchildprocesshandling = off
maxchildren = 120
minchildren = 8
minsparechildren = 4
preforkchildren = 6
maxsparechildren = 32
maxagechildren = 500
maxips = 0
ipcfilename = '/tmp/.dguardianipc'
urlipcfilename = '/tmp/.dguardianurlipc'
ipipcfilename = '/tmp/.dguardianipipc'
nodaemon = off
nologger = off
logadblocks = off
loguseragent = off
softrestart = off
mailer = '/usr/sbin/sendmail -t'

Jetzt habe ich den Proxy in den Browser des Win7 PCs eingetragen (Port 8080). Dansguardian funktioniert auch soweit sehr gut. Die Seiten werden nach meinen Anforderungen blockiert.
Dansguardian sollte nun die Seiten prüfen und an Squid Port 3128 weitergeben. Jetzt kommt Sarg ins Spiel, der nämlich die access.log von Squid ausliest und darstellt.
Leider liefert dieser nur Informationen von Localhost und nicht von den anderen Users. Ich möchte aber alle Internetnetbewegungen von allen Usern aufzeichnen. Hier die zusammengestellte sarg.conf

Code:
#language German
#Pfad zur access.log des Squid Proxy Servers
access_log /var/log/squid/access.log
#Grafische Anzeige ja | nein + Farbe
graphs yes
graph_days_bytes_bar_color orange
#Titel der Auswertung
title "Squid User Access Reports"
#Schriftart der Oberfläche
font_face Tahoma,Verdana,Arial
#Header Farbe
header_color darkblue
#Header Hintergrundfarbe
header_bgcolor blanchedalmond
#Schriftgröße
font_size 12px
#Hintergrundfarbe
background_color white
#Textfarbe
text_color #000000
#Text Hintergrundfarbe
text_bgcolor lavender
#Titel Farbe
title_color green
#Pfad zum Temp Verzeichnis
temporary_dir /tmp
#Wo die Auswertung hingeschrieben werden soll – www-Folder
output_dir /var/www/squid-reports
#resolve_ip ja oder nein
resolve_ip yes
#Soll die User IP anzeigeigt werden – ja oder nein
user_ip yes
#Sortierung der Top-User – normal/reverse
topuser_sort_field BYTES reverse
#User Sortierung -  normal/reverse
user_sort_field BYTES reverse
exclude_users /etc/sarg/exclude_users
exclude_hosts /etc/sarg/exclude_hosts
#Datumsformat
date_format u
lastlog 0
#Temp Files löschen
remove_temp_files yes
index yes
index_tree file
#Report überschreiben – yes / no
overwrite_report no
records_without_userid ip 
use_comma yes
mail_utility mailx
#Anzahl der Top-Sites
topsites_num 100
#CONNECT|BYTES A|D
topsites_sort_order CONNECT D
#Index Sortierung A/D
index_sort_order D
exclude_codes /etc/sarg/exclude_codes
max_elapsed 28800000
usertab /etc/sarg/usertab
long_url no
date_time_by bytes
charset Latin1
show_successful_message yes
show_read_statistics yes
topuser_fields NUM DATE_TIME USERID CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGE
user_report_fields CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGE
topuser_num 0
#site_user_time_date_type table
download_suffix "zip,arj,bzip,gz,ace,doc,iso,adt,bin,cab,com,dot,drv$,lha,lzh,mdb,mso,ppt,rtf,src,shs,sys,exe,dll,mp3,avi,mpg,mpeg"

Könnt ihr einen Fehler entdecken? Warum liefert mir Sarg jetzt alles als Localhost aus und nicht gestaffelt nach IP?

Desweiteren möchte ich, dass die access.log täglich unter dem namen+datum abgelegt wird, so dass ich schnell den Tag finden kann (Falls nochmal Post vom Anwalt kommt).

Könnt ihr mir vieleicht auch noch Tipps zur Größe Cache und Cache_mem bei der Nutzerzahl und dem Volumen?

So das wars jetzt aber auch!

Ich danke schon einmal im Voraus!
 

spoensche

Moderator
Teammitglied
PeterHansten schrieb:
Da wir in den letzten Wochen 2 Abmahnungen wegen illegalen Downloads bekommen haben

Über welches Protokoll wurde illegal Runtergeladen? Torrent, Tauschbörse (welche)?
Du solltest zu erst die Ports für Tauschbörsen und die Torrent Webseiten blockieren. Eine Protokollierung wirst du aus datenschutzrechtl. Gründen nicht durchgesetzt bekommen. Siehe nächsten Absatz.

PeterHansten schrieb:
möchte ich in unseren Wohngruppen den gesamten Internetverkehr mitloggen. Der Betriebsrat hat diesem bereits zugestimmt.
....
Ich möchte aber alle Internetnetbewegungen von allen Usern aufzeichnen.

Auch wenn der Betriebsrat zugestimmt hat, verstößt du beim protokollieren der Internetbewegungen gegen den Datenschutz. Bevor du also in dieser Richtung irgendetwas mitschneidest, solltest du zu erst mit einen Datenschützer die rechtlichen Aspekte klären.
Wenn alle User eine Erklärung unterschrieben hätten, in der sie der Protokollierung zustimmen, könntest du die Protokollierung sofort starten.

Der Datenschützer wird dir allerdings zu erst nahe legen die Ports für Tauschbörsen zu sperren und die Torrent Webseiten zu blockieren. Deine Chancen eine rechstkonforme Protokollierung zu realisieren sind also gering
 
Oben