Squid eignet sich hervorragend als Proxy zu Privatisierungszwecken. Da ich mich seit geraumer Zeit damit auseinander setze, kam auch der Punkt auf, dass der Squid eine Benutzerauthentifizierung haben soll.
Squid bringt dafür einen einfach zu verwendende Methode über PAM mit. Die Konfiguration ist in ein paar Handgriffen erledigt:
Zuerst legt man die Authentifizierungsparameter fest, danach die ACL und zum Schluss die HTTP Zugriffsregel:
auth_param basic program /usr/lib/squid3/pam_auth auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 12 hours auth_param basic casesensitive off acl checkpw proxy_auth REQUIRED http_access allow checkpw all
Doch unter Debian gibt es einen kleinen Kniff. Der Squid war fertig konfiguriert, doch die Authentifizierung wollte nicht klappen und wurde mit folgendem Fehler quittiert:
unix_chkpwd[969]: check pass; user unknown unix_chkpwd[969]: password check failed for user (NUTZERNAME)
Damit es funktioniert muss zum einen eine Datei “squid” unter /etc/pam.d/ erstellt werden. Folgender Inhalt muss darin zu finden sein:
auth required pam_unix.so account required pam_unix.so
Und danach muss folgender Befehl ausgeführt werden:
chmod u+s /usr/lib/squid3/pam_auth
Ab dem Zeitpunkt an, funktionierte auch die Authentifizierung für Squid