Proxy
Willemers Informatik-Ecke

Ein Proxy stellt stellvertretend Anfragen

Ein Proxy ist ein Stellvertreter. Die Idee ist, dass die lokalen Rechner ihre Anfragen an den Proxy stellen und dieser die Anfrage ans Internet weiterleitet. Dabei muss der Proxy für jeden Dienst extra konfiguriert werden. Beispielsweise kann man durch Installation des Proxy Moduls den apache zum ftp- und http-Proxy konfigurieren. Um mit dem Proxy dann arbeiten zu können, muss jeder Anwender seinen Webbrowser und sein ftp Programm auf den Proxy konfigurieren.

Der Proxy bietet mehrere Möglichkeiten auf einmal.

Einstellungen am Client

Neben dem Proxyserver müssen auch die Clients darauf eingestellt werden, dass sie das Internet nicht direkt erreichen können, sondern dazu den Proxyserver verwenden müssen. Diese Einstellung ist nicht weiter kompliziert. Fast jeder Browser hat in seinen Einstellungen eine Seite für Proxies. Dort wird einfach der Server eingetragen und eine Portnummer. Wenn der apache als Proxy eingesetzt ist, kann hier der normale Port 80 eingetragen werden. Üblich ist es ansonsten, den Port 8080 für den Proxy zu verwenden.

apache als Proxy

Der HTTP-Server apache kann als Proxy eingesetzt werden. Wenn also auf dem Rechner, der als Internetverbindung aufgebaut wird, sowieso ein apache läuft, ist es sinnvoll, diesen als Proxy einzurichten.

Proxy als Modul des apache

Der Proxy ist ein eigenständiges Modul für apache, das natürlich installiert sein muss. Die Konfiguration erfolgt, wie bei apache üblich, in der Datei /etc/httpd/httpd.conf.

<IfModule mod_proxy.c>
    ProxyRequests On
    <Directory proxy:*>
        Order deny,allow
        Deny from all
        Allow from .willemer.edu
    </Directory>
    ProxyVia On
</IfModule>

Die Einträge sind nicht weiter kompliziert. ProxyRequests schaltet die Anfragen an den Proxy frei. Dann erfolgt im Directory proxy die Sicherheitseinstellung. Nur Rechner aus der Domäne willemer.edu dürfen diesen Proxy benutzen.

squid

squid.conf

Für umfangreichere Umgebungen empfiehlt sich ein spezialisierter Proxy. Ein renomierter Proxy nennt sich squid. Konfiguriert wird er durch die Datei /etc/squid.conf. Es liegt dem Paket eine Beispieldatei vor, die man am besten weitgehend unverändert lässt.

Beim Start prüft squid die DNS-­Um­ge­bung für das Internet. Hat er beispielsweise in einer Umgebung mit einer Wählleitung keinen Zugriff darauf, sollte man beim Start die Leitung frei schalten. Vor dem ersten Start sollte man squid einmal mit der Option -z starten. Dann erzeugt er alle Verzeichnisse, die er zum Caching der Webseiten benötigt. In der Anpassung sind die kursiv gesetzten Zeilen in der squid.conf hinzu gekommen:

acl acldom srcdomain   .willemer.edu
acl aclnetz src 192.168.109.0/255.255.255.0
#
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
http_access allow acldom
http_access allow aclnetz
# And finally deny all other access to this proxy
http_access allow localhost
http_access deny all

Zugriffsrechte

In den oberen Zeilen werden die acl-Variablen acldom und aclnetz definiert. Das erste wird über die Domäne, das zweite über die IP-Nummer. Diese Variablen werden weiter unten für den http_access verwendet, so dass beiden der Zugriff auf den Proxy ermöglicht wird. Ansonsten würde nur localhost einen Zugriff bekommen. An sich ist das natürlich doppelt gemoppelt. Es ist der Zugriff einmal für die IP-Nummern des Netzes 192.168.109.0 freigeschaltet worden und die Domäne willemer.edu.

Caching der Webseiten

Neben seiner Funktion als Schild gegen das Internet haben Proxies auch eine Caching Funktion. Sie speichern also Seiten für einige Zeit und holen sie hervor, wenn die Seite ein zweites Mal angefordert wird. Da beispielsweise Suchmaschinen und bestimmte Fachinformationen immer wieder geladen werden, ergibt sich eine gewisse Beschleunigung. Insbesondere squid werden auf diesem Feld gute Erfolge nachgesagt.

squidguard filtert die Webseiten

Für den Proxy squid bekommt man ein zusätzliches Produkt mit dem Namen squidguard. Dieser dient als Filter für den Zugriff auf bestimmte Seiten. Damit lassen sich bestimmte Rechner freischalten oder sperren und bestimmte Begriffe aus den URL-Namen ausfiltern. Man kann weiterhin Seiten für bestimmte Tageszeiten ausschließen. Die genaue Konfiguration kann man den mitgelieferten Dokumentationen entnehmen.

Ein Proxy protokolliert genau, wer welche URL aufgerufen hat. Es lassen sich also Statistiken erstellen, wer wann welche Seiten betrachtet hat. Insofern kann es sein, dass die Firma einen Proxy nicht nur als Schutz gegen das Internet verwendet, sondern auch zur Kontrolle seiner Angestellten.

Diese Seite basiert auf Inhalten aus dem Buch Arnold Willemer: Wie werde ich UNIX-Guru?