Linux als Proxy-Server

Einfache Authentifizierung aktivieren

In der bislang beschriebenen Konfiguration arbeitet Squid für die Anwender im LAN als offener Proxy: Jede Station im lokalen Netz kann seine Dienste in Anspruch nehmen. Um zu vermeiden, dass beispielsweise Besucher oder gar ungebetene Gäste die Dienste des Proxy nutzen, führt kein Weg an der Authentifizierung der Benutzer vorbei. Squid bietet dazu mehrere Möglichkeiten. Die einfachste Form der Authentifizierung entspricht der, die auch der Apache Web-Server standardmäßig benutzt. Sie bedient sich des Moduls ncsa_auth, das bei der Übersetzung der Squid-Quellen gleich mit erzeugt und im Verzeichnis /opt/squid/sbin abgelegt wurde.

Die NCSA-Authentifizierung bezieht die Informationen über erlaubte Benutzerkennungen und deren zugehörige Passwörter aus einer Textdatei. Diese lässt sich leicht über das im Apache-Paket vorhandene Hilfsprogramm htpasswd (htpasswd2 unter Suse Linux mit installiertem Apache 2.0.x) erzeugen:

cd /etc/squid
htpasswd -bc proxy_users testuser passwort

Dieser Befehl erzeugt die Datei /etc/quid/proxy_users und fügt dieser gleich ein Konto für den Benutzer "testuser" mit dem Passwort "passwort" hinzu. Aktivieren Sie nun die Authentifizierung, indem Sie in der Datei /etc/squid/squid.conf den Block von Schlüsselworten für die Basic-Authentication wie folgt abändern:

auth_param basic program /opt/squid/sbin/ncsa_auth /etc/squid/proxy_users
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours

Es genügt dabei, die erste Zeile vom vorangestellten Kommentar zu befreien und um die Parameter zum Aufruf des Moduls ncsa_auth sowie den Pfad zur Datei mit den Benutzerkonten zu ergänzen.