Squid Proxy Server mit Authentifizierung unter Debian einrichten

Squid ist eine voll-funktionsfähige Internet Proxy- und Cache-Server-Anwendung, die Proxy- und Cache-Dienste für HTTP, FTP sowie weitere gebräuchliche Netzwerk-Protokolle zur Verfügung stellt. Squid erfüllt Proxy- und Cache-Funktionen für SSL-Anforderungen und Namensauflösungen über DNS. Squid unterstützt eine Vielfalt von Cache-Protokollen wie ICP, HTCP, CARP und WCCP.

Die Squid Internet Proxy- und Cache-Server-Anwendung ist hervorragend dafür geeignet, den Bedarf an Proxy- und Cache-Funktionalitäten für einen weiten Bereich abzudecken. Sie skaliert von den Anforderungen einer einzelnen Zweigstelle bin hin zum Gesamtnetzwerk eines Großunternehmens. Dabei stellt sie umfangreiche und detaillierte Möglichkeiten der Zugriffskontrolle und des Monitorings über SNMP bereit. Bei der Auswahl eines Servers als dedizierter Squid Proxy- und Cache-Server für eine hohe Anzahl Benutzer achten Sie auf eine ausreichende Ausstattung mit RAM, da Squid zur Performanceverbesserung einen in-memory Cache hält.

Um den Squid-Server zu installieren, muss nur folgende Befehlszeile eingegeben werden:

apt-get install squid

Nun sollten wir uns zunächst die Orginal-Konfigurationsdatei sichern und anschließend die Konfiguration bearbeiten. Zum Sichern der Konfigurationsdatei verwenden wir folgende Befehle:

cp /etc/squid/squid.conf /etc/squid/squid.conf.orig
chmod a-w /etc/squid/squid.conf.orig

Um die Konfiguration zu bearbeiten nutzen wir diesen Befehl:

nano /etc/squid/squid.conf

Folgendes in die Konfiguration einfügen. Zu beachten ist auch die Reihenfolge der Regeln! Wenn man bereits http_access deny all gesetzt hat, können darunter keine weiteren Regeln, die einen Zugriff erlauben würden, eingetragen werden.

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
acl password proxy_auth REQUIRED 
http_access allow password

Mit dieser Einstellung kann zusätzlich die echte IP Adresse verborgen werden:

forwarded_for off

Und um den Port zu ändern, muss folgende Zeile bearbeitet werden:

http_port 3128

In den empfohlenen Einstellungen wird geregelt, dass nur Verbindungen per SSL hergestellt werden dürfen. Dies sollte auskommentiert werden.

#http_access deny CONNECT !SSL_ports

Als nächstes legen wir die Zugangsdaten mit htpasswd an. Um htpasswd zu nutzen, muss apache2-utils installiert sein. Mit folgendem Befehl können wir das Programm installieren sofern noch nicht vorhanden.

apt-get install apache2-utils

Zugangsdaten für Squid anlegen.

htpasswd -c /etc/squid/passwd YOUR_USERNAME

Nun nur noch abspeichern, den Squid-Dienst neustarten und im System einrichten.

/etc/init.d/squid restart

Wie ein Proxy unter Windows eingerichtet werden kann, kann z.B. hier nachgelesen werden.

Proxy-Settings

Einstellung des System Proxy Servers.