Entwicklungsumgebung/Squid: Unterschied zwischen den Versionen

Aus Delixs
Zur Navigation springen Zur Suche springen
(Links)
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
__NOTOC__
__NOTOC__
{{Uberarbeiten}}
{{EditStatus|1|Kirmse}}  




== Proxyserver ==
== Proxyserver ==


=== Installation ===
=== Installation SQUID ===


ich habe Squid so installiert:
ich habe Squid so installiert:


  apt-get install squid
  aptitude install squid


Testen ob Squid läuft kann man einmal über "ps ax" (da muss eine Zeile mit squid dabei sein) und über "netstat -na", da muss eine Zeile dabei
Testen ob Squid läuft kann man einmal über "ps ax" (da muss eine Zeile mit squid dabei sein) und über "netstat -na", da muss eine Zeile dabei
Zeile 18: Zeile 18:
entscheidend ist, dass auf dem Port 3128 gelauscht wird (also "LISTEN" steht).
entscheidend ist, dass auf dem Port 3128 gelauscht wird (also "LISTEN" steht).


Und dann müßte die squid.conf angepasst werden. Folgende Änderungen habe ich vorgenommen:
Und dann wird die Datei "/etc/squid/squid.conf" angepasst.


<source lang="text">
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  Zeile 675:  http_access allow localnet
  Zeile 675:  http_access allow localnet
  Zeile 1110:  http_port 8080
  Zeile 1110:  http_port 8080
Zeile 28: Zeile 31:
  Zeile 1793:  cache_replacement_policy heap LFUDA
  Zeile 1793:  cache_replacement_policy heap LFUDA
  Zeile 1942:  cache_dir ufs /var/spool/squid 1603 16 256
  Zeile 1942:  cache_dir ufs /var/spool/squid 1603 16 256
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
</source>


Die komplette squid.conf habe ich unter http://www.arktur.th.schule.de/squid.conf.txt abgelegt.
Die komplette squid.conf habe ich unter http://www.arktur.th.schule.de/squid.conf.txt abgelegt.
Zeile 36: Zeile 42:


und das war's schon. Dann einen Client drangehangen, Browser konfigurieren (Gateway 192.168.0.1, Port 8080, Ausnahmen 192.168.0.1 und 'serv'). Dann sollte alles laufen.
und das war's schon. Dann einen Client drangehangen, Browser konfigurieren (Gateway 192.168.0.1, Port 8080, Ausnahmen 192.168.0.1 und 'serv'). Dann sollte alles laufen.
=== Installation squidGuard ===
Die Installation erfolgt mittels:
  aptitude install squidguard
Damit kann nun Squidguard in squid (als redirector) eingebunden werden. Dafür fügen Sie in "/etc/squid/squid.conf" folgendes ein:
<source lang="text">
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Zeile 436:  # TAG: redirect_program
Zeile 437:  redirect_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
</source>
Zum Kinder- und Jugendschutz wird die aktuelle Sperrliste heruntergeladen und installiert:
  cd
  wget  http://squidguard.shalla.de/Downloads/shallalist.tar.gz
  tar -xzf shallalist.tar.gz -C /var/lib/squidguard/db
  chown -R proxy.proxy /var/lib/squidguard/db
Die Fehlerseite erscheint, falls eine verbotene Seite aufgerufen wird und kann individuell gestaltet werden. Legen Sie die fertige Sperrseite unter "/var/www/htdocs/verboten.html" ab. Hier eine mögliche Beispielseite:
<source lang="text">
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Verboten</title>
<meta name="author" content="hkirmse">
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" alink="#FF0000" vlink="#FF0000">
<div align="center"><h1>Fehlermeldung von Squidguard</h1></div>
<hr noshade size="4">
<table width="100%" height="150" border="0">
<tr>
<td width="100">&nbsp;</td>
<td width="200">&nbsp; &nbsp;<img src="http://10.100.0.1/delixs.gif" width="103" height="60" border="0" alt="Logo von Delixs"></td>
<td><h2><font color="#FF0000">Nix da</font>,</h2>
<p>es wurde eine Seite aufgerufen, die durch den Administrator gesperrt wurde.</p>
<p>Es wird darauf hingewiesen, dass die URL zusammen mit dem Anmeldenamen im Logfile erfasst wurde.</p>
</td>
<td width="100">&nbsp;</td>
</tr>
</table>
<hr noshade size="4">
<p align="right"><font color="#808080">Diese Seite wurde vom Delixs-Developer-Team erstellt.</font></p>
</body>
</html>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
</source>
Um die Namen der Nutzer im Logfile erfassen zu können, muss folgende Eintragung in "/etc/squid/squid.conf" erfolgen:
<source lang="text">
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Zeile 427:  #acl SCHULE src 10.100.0.0/24
Zeile 428:  #http_access allow SCHULE
Zeile 429:  auth_param basic program /usr/lib/squid/ldap_auth -b "ou=people,ou=accounts,dc=delixs-schule,dc=de" -v 3 -u uid
Zeile 430:  auth_param basic children 20
Zeile 431:  auth_param basic realm Internetzugang der Delixs-Schule Musterschule
Zeile 432:  auth_param basic credentialsttl 2 hours
Zeile 433:  acl password proxy_auth REQUIRED
Zeile 434:  http_access allow password
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
</source>
Ohne Namen der Nutzer im Logfile muss es in "/etc/squid/squid.conf" so aussehen:
<source lang="text">
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Zeile 427:  acl SCHULE src 10.100.0.0/24
Zeile 428:  http_access allow SCHULE
Zeile 429:  #auth_param basic program /usr/lib/squid/ldap_auth -b "ou=people,ou=accounts,dc=delixs-schule,dc=de" -v 3 -u uid
Zeile 430:  #auth_param basic children 20
Zeile 431:  #auth_param basic realm Internetzugang der Delixs-Schule Musterschule
Zeile 432:  #auth_param basic credentialsttl 2 hours
Zeile 433:  #acl password proxy_auth REQUIRED
Zeile 434:  #http_access allow password
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
</source>
=== Einrichtung von SQUIDGuard ===
Um die Einrichtung von SQUIDGuard abschließen zu können, muss folgende Eintragung in "/etc/squid/squidGuard.conf" erfolgen:
<source lang="text">
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# CONFIG FILE FOR SQUIDGUARD
#
dbhome /var/lib/squidguard/db
logdir /var/log/squid
#
# DESTINATION CLASSES:
#
dest good {
}
dest local {
}
dest aggressive {
domainlist BL/aggressive/domains
urllist BL/aggressive/urls
}
dest porn {
domainlist BL/porn/domains
urllist BL/porn/urls
}
dest warez {
domainlist BL/warez/domains
urllist BL/warez/urls
}
dest hacking {
domainlist BL/hacking/domains
urllist BL/hacking/urls
}
dest redirector {
domainlist BL/redirector/domains
urllist BL/redirector/urls
}
default {
pass !aggressive !porn !warez !hacking !redirector all
redirect http://localhost/verboten.html
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
</source>
Zum Abschluss muss die Datenbank neu aufgebaut werden und Squid neu gestartet werden:
  squidGuard -d -C all
  chown proxy.proxy /var/lib/squidguard/db -R
  /etc/init.d/squid restart
Nun kann der Webfilter getestet werden


== Weblinks ==
== Weblinks ==
Zeile 51: Zeile 211:
* http://www.shalla.de/mailman/listinfo/squidguard
* http://www.shalla.de/mailman/listinfo/squidguard
* http://squidguard.shalla.de/
* http://squidguard.shalla.de/
* http://wiki.ubuntuusers.de/squidGuard
* http://www.lugbe.ch/lostfound/contrib/router_biel/squidguard.phtml
* http://www.lugbe.ch/lostfound/contrib/router_biel/squidguard.phtml
* http://www.visolve.com/squid/squid24s1/access_controls.php




----
----
<div align="right">[[Installation:Entwicklungsumgebung|zurück]] | [[Hauptseite]]</div>
<div align="right">[[Installation:Entwicklungsumgebung|zurück]] | [[Hauptseite]]</div>
Hans-Dietrich Kirmse 2009
[[Kategorie:DebianSqueeze]]

Aktuelle Version vom 28. März 2011, 19:31 Uhr


Diese Seite ist momentan eine Baustelle im Zustand: 1

Wird bearbeitet von: Kirmse
Hilfe zum Bearbeitungsstatus: Hilfe:Status eines Artikels


Proxyserver

Installation SQUID

ich habe Squid so installiert:

aptitude install squid

Testen ob Squid läuft kann man einmal über "ps ax" (da muss eine Zeile mit squid dabei sein) und über "netstat -na", da muss eine Zeile dabei sein, die so aussieht:

tcp      0      0 0.0.0.0:3128    0.0.0.0:*       LISTEN

entscheidend ist, dass auf dem Port 3128 gelauscht wird (also "LISTEN" steht).

Und dann wird die Datei "/etc/squid/squid.conf" angepasst.


<source lang="text"> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Zeile 675:   http_access allow localnet
Zeile 1110:  http_port 8080
Zeile 1732:  cache_mem  200 MB
Zeile 1742:  maximum_object_size_in_memory 256 KB
Zeile 1979:  maximum_object_size 65500 KB
Zeile 1751:  memory_replacement_policy heap GDSF
Zeile 1793:  cache_replacement_policy heap LFUDA
Zeile 1942:  cache_dir ufs /var/spool/squid 1603 16 256

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </source>


Die komplette squid.conf habe ich unter http://www.arktur.th.schule.de/squid.conf.txt abgelegt.

Da es ja ums testen geht, wäre es aber deutlich schneller, einfach diese squid.conf einzuspielen (umbenennen; aufpassen, das die Datei Linuxzeilenumbrüche hat und passende Rechte erhält). Dann ein Neustart von Squid mit

/etc/init.d/squid restart

und das war's schon. Dann einen Client drangehangen, Browser konfigurieren (Gateway 192.168.0.1, Port 8080, Ausnahmen 192.168.0.1 und 'serv'). Dann sollte alles laufen.


Installation squidGuard

Die Installation erfolgt mittels:

 aptitude install squidguard

Damit kann nun Squidguard in squid (als redirector) eingebunden werden. Dafür fügen Sie in "/etc/squid/squid.conf" folgendes ein:

<source lang="text"> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Zeile 436:   # TAG: redirect_program
Zeile 437:   redirect_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </source>

Zum Kinder- und Jugendschutz wird die aktuelle Sperrliste heruntergeladen und installiert:

 cd
 wget  http://squidguard.shalla.de/Downloads/shallalist.tar.gz
 tar -xzf shallalist.tar.gz -C /var/lib/squidguard/db
 chown -R proxy.proxy /var/lib/squidguard/db 

Die Fehlerseite erscheint, falls eine verbotene Seite aufgerufen wird und kann individuell gestaltet werden. Legen Sie die fertige Sperrseite unter "/var/www/htdocs/verboten.html" ab. Hier eine mögliche Beispielseite:

<source lang="text"> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Verboten</title> <meta name="author" content="hkirmse"> </head> <body text="#000000" bgcolor="#FFFFFF" link="#0000FF" alink="#FF0000" vlink="#FF0000">

Fehlermeldung von Squidguard


     <img src="http://10.100.0.1/delixs.gif" width="103" height="60" border="0" alt="Logo von Delixs">

Nix da,

es wurde eine Seite aufgerufen, die durch den Administrator gesperrt wurde.

Es wird darauf hingewiesen, dass die URL zusammen mit dem Anmeldenamen im Logfile erfasst wurde.

 

Diese Seite wurde vom Delixs-Developer-Team erstellt.

</body> </html> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </source>

Um die Namen der Nutzer im Logfile erfassen zu können, muss folgende Eintragung in "/etc/squid/squid.conf" erfolgen:


<source lang="text"> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Zeile 427:   #acl SCHULE src 10.100.0.0/24
Zeile 428:   #http_access allow SCHULE
Zeile 429:   auth_param basic program /usr/lib/squid/ldap_auth -b "ou=people,ou=accounts,dc=delixs-schule,dc=de" -v 3 -u uid
Zeile 430:   auth_param basic children 20
Zeile 431:   auth_param basic realm Internetzugang der Delixs-Schule Musterschule
Zeile 432:   auth_param basic credentialsttl 2 hours
Zeile 433:   acl password proxy_auth REQUIRED
Zeile 434:   http_access allow password

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </source>

Ohne Namen der Nutzer im Logfile muss es in "/etc/squid/squid.conf" so aussehen:

<source lang="text"> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Zeile 427:   acl SCHULE src 10.100.0.0/24
Zeile 428:   http_access allow SCHULE
Zeile 429:   #auth_param basic program /usr/lib/squid/ldap_auth -b "ou=people,ou=accounts,dc=delixs-schule,dc=de" -v 3 -u uid
Zeile 430:   #auth_param basic children 20
Zeile 431:   #auth_param basic realm Internetzugang der Delixs-Schule Musterschule
Zeile 432:   #auth_param basic credentialsttl 2 hours
Zeile 433:   #acl password proxy_auth REQUIRED
Zeile 434:   #http_access allow password

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </source>


Einrichtung von SQUIDGuard

Um die Einrichtung von SQUIDGuard abschließen zu können, muss folgende Eintragung in "/etc/squid/squidGuard.conf" erfolgen:


<source lang="text"> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  1. CONFIG FILE FOR SQUIDGUARD

dbhome /var/lib/squidguard/db logdir /var/log/squid

  1. DESTINATION CLASSES:

dest good { }

dest local { }

dest aggressive { domainlist BL/aggressive/domains urllist BL/aggressive/urls }

dest porn { domainlist BL/porn/domains urllist BL/porn/urls }

dest warez { domainlist BL/warez/domains urllist BL/warez/urls }

dest hacking { domainlist BL/hacking/domains urllist BL/hacking/urls }

dest redirector { domainlist BL/redirector/domains urllist BL/redirector/urls }


default { pass !aggressive !porn !warez !hacking !redirector all redirect http://localhost/verboten.html } }

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </source>


Zum Abschluss muss die Datenbank neu aufgebaut werden und Squid neu gestartet werden:

 squidGuard -d -C all
 chown proxy.proxy /var/lib/squidguard/db -R
 /etc/init.d/squid restart

Nun kann der Webfilter getestet werden

Weblinks

Squid

SquidGuard



zurück | Hauptseite

Hans-Dietrich Kirmse 2009