|
Inhalt
Was ist Squid?
Bei Squid handelt es sich um einen so genannten Proxy Server unter anderem für die Protokolle http und ftp. Das heißt, die Software hält besonders häufig angeforderte Web-Seiten, deren Bilder und andere Elemente lokal vor. Auch speichert sie die Anfragen an DNS-Server zwischen. Ruft nun ein Surfer aus dem lokalen Netzwerk eine Web-Seite auf, kann Squid sie im günstigsten Falle aus seinem Cache ausliefern - ohne dafür Daten erneut aus dem Internet laden zu müssen.
Dies reduziert das Datenaufkommen. Auch Geschwindigkeitsgründe können für den Einsatz von Squid sprechen. Schließlich fließen Daten im lokalen Netzwerk in der Regel schneller als übers Internet.
Ich beschreibe hier den Einsatz von Squid unter dem Betriebssystem Windows.
Voraussetzungen
Als Betriebssystem sollte mind. Windows 2000 oder besser vorhanden sein. Neben dem Arbeitsspeicherbedarf von Windows sollte auch noch 64 MB für Squid verfügbar sein. Eine schnelle Festplatte mit ausreichender Kapazität für das Betriebssystem und Squid setze ich voraus.
Quellen
Squid für Windows (angepasste Version) |
http://www.acmeconsulting.it/SquidNT.html |
Squid für Linux (Entwicklerseite) |
http://www.squid-cache.org/ |
Installation
Damit nachher nicht zuviel zu konfigurieren ist, wird die ZIP-Datei nach C:\squid entpackt. Andere Verzeichnisse sind auch möglich, jedoch müssen dann die Verzeichniseinträge in der squid.conf angepasst werden.
Konfiguration
Squid wird durch die Konfigurationsdatei ..\squid\etc\squid.conf gesteuert. Hier sind die wichtigsten Einträge anzupassen.
#setzen des Proxy Ports - über diesen wird Squid vom Browser angesprochen
#Deaktivierung des ICP Ports über den sich benachbarte Proxy-Server unterhalten
# Cachegröße Arbeitsspeicher - mit 64 MB habe ich gute Erfahrungen gemacht
#Durch diesen Eintrag erhält squid die Möglichkeit 250MB an Daten zwischenzuspeichern. #Die anderen beiden Werte geben Auskunftüber die Beschaffenheit des Caches. #16 Cache-Verzeichnisse der ersten Ebene und 256 Verzeichnisse der zweiten Ebene. #Hierkönnen die Standardwerte übernommen werden. #WICHTIG: unter Windows darf das "Dateisystem" (ufs) NICHT geändert werden!
cache_dir ufs /var/spool/squid 250 16 256 |
#Es macht Sinn keine CGI skripte zu cachen
acl QUERY urlpath_regex cgi-bin \? no_cache deny QUERY |
#Setzen der Logfiles. Falls Squid nicht nach C:\squid installiert wurde müssen die #Pfadangaben angepasst werden.
cache_access_log c:/squid/var/logs/access.log cache_log c:/squid/var/logs/cache.log cache_store_log c:/squid/var/logs/store.log |
#Eine Regel um den internen Verkehr zu erlauben. Als lokales Lan nehme ich hier #192.168.1.0 an und muß ggf. angepasst werden. Dazu wird die Variable INTERNAL #mit dem IP-Bereich definiert. Dann wird der IP-Bereich für freigegeben. #Abschliessend werden alle anderen IPs ausgeschlossen.
acl INTERNAL src 192.168.1.0/255.255.255.0 http_access allow INTERNAL http_access deny all |
Die Syntax der ACL:
Optionale Einträge im ACL-Bereich:
#Als Beispiel einen PC ausschließen
acl BADPC src 192.168.1.25 http_access deny BADPC
#den Zugriff einiger PCs auf einen bestimmten Zeitraum einschränken
acl timewindow src 192.168.1.25 acl CLEANTIME MTWHF 15:00-18:00 http_access deny timewindow CLEANTIME
#MP3 Dateien blocken
acl FILE_MP3 urlpath_regex -i \.mp3$ http_access deny FILE_MP3
#Falls im eigenen Netzwerk kein DNS-Server zur Verfügung steht, muss Squid #gesagt werden, wie er die Namensauflösung durchführen soll. #dns_nameservers #IP Adressen sind Beispiele und müssen ggf. angepasst werden.
| dns_nameservers 145.253.2.11 145.253.2.75 145.253.2.203 |
#Den FQDN der Webserver nicht auflösen, da dies Performance kostet
#Aktives FTP ist zu vermeiden, deshalb auf passiv setzen
#Bei FTP-Zugriffen wird der hier definierte Benutzernamen verwendet
ftp_user
Diese E-Mail-Adresse ist gegen Spambots geschützt! JavaScript muss aktiviert werden, damit sie angezeigt werden kann.
|
#Der Hostname des Proxys
Cache Verzeichnisse erzeugen
Aufruf der squid.exe mit dem Parameter -z . Muss bei jeder Änderung an der Cachegröße durchgeführt werden.
Squid.exe -z
Squid starten, Squid als Dienst, Komandozeilenparameter
Squid starten:
squid.exe ggf. mit Parameter -f den Pfad zur squid.conf angeben
Squid als Dienst starten:
squid -i -n SQUID
Squid-Dienst stoppen:
squid -k shutdown
Squid-Dienst deinstallieren:
squid -r
Parameter von Squid.exe anzeigen:
squid -h
Absicherung, Sicherheitsuntersuchung
Eine Sicherheitsuntersuchung des Squid Proxy-Servers durch das BSI (Bundeamt für Sicherheit in der Informationstechnik) ist unter der folgenden Adresse zugänglich:
http://www.bsi.de/literat/studien/squid/index.htm
Die Logdateien von Squid
Dateiname: |
Bedeutung: |
| squid.out |
Startmeldungen von Squid |
| cache.log |
Sehr ausführliche Meldungen und Statistik-Informationen des Squid |
| access.log |
Hier wird jeder einzelne Zugriff auf den Proxy protokolliert |
store.log |
Verzeichnis der gespeicherten Dateien |
Überwachung
Nachdem SQUID installiert und fertig konfiguriert ist, stellt sich die Frage nach der Überwachung. Dazu gibt es verschiedene Ansätze, die jeweils ihre Vor- und Nachteile haben. Die einfachste Art der Überwachung ist, sich die neuen Einträge des Squid-Logfiles anzuschauen.
Diese Form der Auswertung ist aber bezüglich der Proxy-Nutzung nur begrenzt aussagekräftig. Abhilfe schaffen der Cachemanager von Squid oder externe Tools wie Webalizer oder AWStats.
Diese Programme erstellen unter anderem Übersichten über die Anzahl der Anfragen und übertragenen Bytes sowie Tagesstatistiken. Die Nutzung dieser Programme im Zusammenspiel mit Squid werde ich in einem seperaten Artikel beschreiben.
Update
Bevor ein Update durchgeführt wird, muss als Erstes die Konfigurationsdatei (squid.conf) gesichert werden!
Dann muss der laufende Squid-Prozess vollständig beendet werden. Beispiel: squid -k shutdown Der Shutdown kann je nach Installation einige Minuten in Anspruch nehmen. Wenn Squid wirklich beendet ist, kann die neue Version installiert werden. Ein vorheriges Entfernen der alten Version ist i.d.R. nicht notwendig. Als Letztes wird die Konfigurationsdatei auf ggf. geänderte Optionen geprüft um die neue Squid-Version dann zu starten.
Erweiterungen für Squid
SquidGuard |
SquidGuard ist eine Erweiterung zu Squid, mit der bestimme Seiten beim Surfen gefiltert werden können. Diese Filterung geschieht entweder anhand der von SquidGuard „mitgelieferten“ Datenbank oder anhand von selbst definierten Listen |
Squid-vscan Patch |
Eine weitere Möglichkei, Squid zu erweiter, bietet das OpenAntiVirus-Projekt mit Squid-vscan. Squid-vscan steht als Patch für Squid zur Verfügung, der Squid um einen Virenscanner erweitert |
Weiterführende Informationen
Siehe im Bereich Hauptmenü - unter dem Punkt Links / SQUID .
Alternativen zu Squid
Programm |
Homepage |
Bemerkung |
Jana Server |
www.jana-server.de |
Proxy, E-Mail-Server |
AVM Ken! |
www.avm.de |
Proxy |
| Fli4l |
www.fli4l.de |
Routing, Firewall |
| Sambar |
www.sambar.com |
Proxy, E-mail, FTP usw. |
Dies ist nur eine kleine Auswahl von verfügbaren Programmen.
06/2009 www.netz-forum.de
|