Squid ein Proxy-Server – Linux-Variante mit Beispiel

 

Verwendetes System:                      

-          Pentium / 90 MHz / 64 MB RAM / 2 GB HD (hatte ich noch übrig)

-          SUSE 8.0 mit Squid Vers. 2.4

Erklärung:

Die Erklärung zum Squid (allgemein) ist in der Auswahlleiste mit aufgeführt (mit techn. Daten).

Beispiel:                     

Als Beispiel wird ein Unternehmen angenommen, welches die Forschungsabteilung von der allgemeinen Produktion trennen möchte (Sicherheitsgründe). Es wird hier nur auf den Squid eingegangen (Standart-Konfiguration), andere noch zu treffende Sicherheitsmassnahmen wurden vernachlässigt. Gleichzeitig sollen ausführbare Programme (Download von .exe bzw. .zip) und ein Besuch von pornografischen Seiten unterbunden werden. Der Administrator-PC (192.168.1.2) darf alles (z.B. Download etc.).

  Beispiel Proxy

 

Hier die Konfigurationsdatei squid.conf (Auszug) und die dazugehörige Datei regex.txt.

Kontrolle der Verbindungen über den Client-Browser:

PC 192.168.1.3 darf nicht auf sex.com zugreifen (Bildauszug).

PC 192.168.1.3 darf keine .exe - Download (Bildauszug). 

 

Allgemeine Erklärungen zur Konfiguration:

Wie unter den meisten Linux/Unix-Varianten wird auch hier mit einer ASCII-Konfigurationsdatei gearbeitet. Die Bezeichnung ist squid.conf und befindet sich im Verzeichnis /etc.

Das Start / Stop – Script liegt unter /etc/init.d/squid. Das Log-Verzeichnis liegt unter /var/cache/squid.

 

Schlüsselworte (Auszug):

http_port <Zahl>

Hiermit wird der anzusprechende Squid-Port definiert, z.B. 3128, 80 oder 8080.

cache_dir <Pfad Mbyte Level-1 Level-2>

Gibt das Cache-Verzeichnis mit der max. Größe in MByte und die dazugehörigen Unterverzeichnisse an.

cache_access_log <Pfad und Dateiname>

Dateiname der Logdatei für Anfragen vom Client.

cache_log < Pfad und Dateiname>

Hier werden die generellen Informationen über den Cache abgelegt.

cache_store_log < Pfad und Dateiname>

Aktivitäten des Festplatten-Managers werden hier mitprotokolliert.

log_fqdn <on/off>

Soll der volle Hostname anstatt der IP-Adresse in der Logdatei eingetragen werden, so muss die Option auf on gesetzt werden. Achtung: Performence-Probleme durch die Namensauflösung.

ftp_user <String>

Hier wird die Email-Adresse angegeben die der Squid bei Anonymous FTP übermitteln soll.

dns_children <Zahl>

Anzahl der Prozesse die für die DNS-Auflösung zuständig sind (default: 5).

authenticate_program <Programm-Datei>

Soll eine Authentifizierung für den Proxy erfolgen, kann hier die Passwort-Datei bzw. das Authentifizierungs-Programm angegeben werden.

refresh_pattern <Option>

Gibt an, wie lange Objekte im Festplatten-Cache verbleiben, bevor sie gelöscht werden. Es können für unterschiedliche Objekte unterschiedliche Einstellungen vorgenommen werden.

negative_ttl <Zeit Einheit>

Für nicht beantwortete Anfragen wird hier die Lebenszeit (Time-to-Live) festgelegt. Bei Wählleitung sollte dieser Wert niedrig gehalten werden.

negative_dns_ttl <Zeit Einheit>

Lebenszeit eines fehlgeschlagenen DNS-Lookups. 

positive_dns_ttl <Zeit Einheit>

Lebenszeit eines erfolgreichen DNS-Lookups. Anmerkung: Wird der Server heruntergefahren wird auch der DNS-Cache geleert.

acl <aclname acltype string>

Definiert eine Access-Liste für den Aufbau von Sperrlisten, Zugangskontrolle, etc.

 

acl-Typen (Auszug):

src: Client IP-Adresse –oder Adressbereich (Netz)

dst: Zielserver IP-Adresse

srcdomain: Client-Name

dstdomain: Ziel-Server-Name

srcdom_regex: Client-Namen als regulärer Ausdruck

dstdom_regex: Ziel-Server-Name als regulärer Ausdruck

port: Port bzw. Portbereich für die Verbindung (80, 1024-65535)

proto: Protokoll für der Verbindung (z.B. ftp, http....)

method: Methoden der Verbindung (z.B. GET, POST....)

proxy_auth: Benutzernamen, die bei der Authentifizierung angegeben werden.

urlpath_regex: Regulärer Ausdruck, der auf einen Teil der URL zutrifft (wird verwendet um CGI-Dateien nicht in den Cache zu laden)

http_access <allow/deny aclname>

Erlaubt oder verweigert den Zugriff nach den acl (Access-Listen). Wobei das Schlüsselwort all für alle Verbindungen benutzt wird.

 

Befehle des Squid (Auszug):

Starten / Stoppen / Status von Squid:

/etc/init.d/squid start

/etc/init.d/squid stop

/etc/init.d/squid status  

Squid bei der Arbeit zusehen:

tail –f /var/squid/logs/store.log

tail –f /var/squid/logs/access.log  

Squid Swap-Direcrories neu anlegen:

/usr/sbin/squid –z

 

Squid zum erstenmal starten:

rcsquid start    -    es wird eine Verzeichnisstruktur angelegt

 

Squid soll automatisch beim Rechnerhochfahren starten:

Die Datei /etc/sysconfig/squid editieren und den Wert START_SQUID=yes abändern.

 

 


Letzte Bearbeitung:      07/2002


Copyright ©       www.datahelp.de

Modifizierung oder Weitergabe an Dritte nur mit Einverständnis des Autors gestattet !