• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Squid mit Authentifizierung

Also ich möchte gerne meine Squid dazu bringen das jeder Benutzer der ins Internet gehen will sich anmelden muss. Am besten wäre es wenn ich dazu die Benutzer auf dem Linux PC nutzen könnte !!!
So sieht die squid.conf jetzt aus !!!

http_port 3128
cache_mem 256 MB
cache_swap_low 90
cache_swap_high 95
maximum_object_size 40 MB
cache_dir ufs /var/cache/squid 1000 16 256
client_netmask 255.255.255.0
ipcache_size 4096
acl all src 192.168.0.0/24
http_access allow all
http_reply_access allow all
append_domain .google.de
cache_log /etc/squid/logs/cache.log

Was muss ich jetzt ändern um das hinzubekommen ???
Ich habe gelesen das man das mit proxy_auth machen kann aber ich habe nicht rausgefunden wie!! :(
 
Die einfachste Form der Authentifizierung ist die, die standardmäßig auch der Apache nutzt. Es wird hierbei das Modul ncsa_auth genutzt, das standardmäßig mitinstalliert sein und sich im Verzeichnis /opt/squid/sbin befinden sollte.

Die Informationen zur Benutzererkennung werden hierbei aus einer Passwortdatei bezogen, die am einfachsten über htpasswd erzeugt werden kann (wenn der Apache bereits installiert ist, ist auch das Programm am Rechner).

Code:
> cd /etc/squid
> htpasswd -bc proxy_users nutzer passwort

Hiermit wird die Datei /etc/squid/proxy_users erzeugt und gleich ein testuser "nutzer" angelegt, mit dem Passwort passwort.
Jeder weitere Nutzer kann wiederum mit htpasswd angelegt werden, jedoch ohne die Option c.

Nun muss noch die squid.conf abgeändert werden.

Code:
> 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 muss einfach nur der Kommentar vor der ersten Zeile entfernt, der Pfad zur Datei mit den Benutzerkonten hinzugefügt und die Parameter zum Aufruf von ncsa_auth ergänzt werden.

Damit die Authentifizierung verwendet wird, muss nun als letztes noch eine acl angelegt werden. Das machst du einfach dort, wo du dein Netz für die Nutzung von Squid freigegeben hast.

Code:
> acl all src 192.168.0.0/24
> acl auth_users proxy_auth REQUIRED
> http_access allow all auth_users

So sähe es abgeändert in deiner conf-Datei aus.
acl auth_users erzwingt die Anmeldung am Proxy. Die Erweiterung in der letzten Zeile um auth_users legt fest, dass nur diejenigen Zugriff erzahlten, die zum Einen zum freigegebenen IP-Adressbereich gehören UND die authentifiziert sind.

Zum Schluss muss Squid neugestartet werden, damit die Änderungen auch "aktiviert" werden.
 
OP
L

li

Hallo
erstmal Danke für den guten Rat
aber leider funktioniert es noch nicht ganz !!! :(
Als erstes mal lag die ncsa_auth bei mir unter usr/sbin/ncsa_auth
und dann bekomme ich jetzt zwar das Anmeldefenster aber ich kann mich leider nicht anmelden auch wenn ich einen neuen Benutzer hinzufüge geht es nicht !!

Hier nochmal meine squid.conf

Code:
http_port 3128
cache_mem 256 MB
cache_swap_low 90
cache_swap_high 95
maximum_object_size 40 MB
cache_dir ufs /var/cache/squid 1000 16 256
client_netmask 255.255.255.0
ipcache_size 4096
cache_log /etc/squid/logs/cache.log

auth_param basic program /usr/sbin/ncsa_auth /etc/squid/proxy_users
auth_param basic children 5
auth_param basic realm Proxy-Server Anmeldung
auth_param basic credentialsttl 2 hours
acl all src 192.168.0.0/24
acl users proxy_auth REQIRED
http_access allow all users
http_reply_access allow all users
append_domain .google.de

Und dann hab ich nochmal die proxy_users Datei eingestellt

Code:
root:8tEvmF0cAbTsU
li:PjuHn0uwGIirw

Und dann habe ich noch eine Frage !!!
was bewirken die Zeile
auth_param basic children 5
und
auth_param basic credentialsttl 2 hours
???

Gruß li
 
OP
L

li

Also ich habe grade nochmal ein bisschen probiert
und rausgefunden das wenn mal das
Code:
acl users proxy_auth REQUIRED
in
Code:
acl users proxy_auth

umwandelt alles super läuft !!!

was hat es damit auf sich ???
 
Oben