Warum Squid ntlm_auth nur funktioniert, wenn „cache_effective_group root“

Warum Squid ntlm_auth nur funktioniert, wenn „cache_effective_group root“

Ich habe Debian 8 Jessie mit Samba als AD-Mitgliedsserver konfiguriert. Samba+Winbind funktioniert perfekt: Ich kann Freigaben erstellen und Rechte für AD-Benutzer zuweisen;Passwort abrufenzeigt sowohl lokale als auch AD-Benutzer usw. an.

Einige zusätzliche Prüfungen wie:

  • Netztestjoin
  • klist und klist -k /etc/krb5.keytab
  • wbinfo -t
  • wbinfo -a meineDomäne\meinBenutzer%meinPasswort
  • wbinfo -u
  • /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-basic

alle sind erfolgreich

Auth-Konfiguration insquid.conf(nur Zeilen, die sich auf die Frage beziehen):

...
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 16 startup=5 idle=5
...
acl AuthorizedUsers proxy_auth REQUIRED
http_access allow AuthorizedUsers
http_access deny all
...

Ich habe auch den BenutzerProxyZuwinbindd_privGruppe (wie hier erwähnt):

gpasswd -a proxy winbindd_priv

Nach dem Neustart von Squid werde ich im Browser (jeder Browser) in einem Dialog nach Benutzername und Passwort gefragt.

Wenn ich

cache_effective_group root 

ntlm_auth funktioniert einwandfrei: keine Dialogfenster für Benutzername und Passwort, der Benutzername wird automatisch abgerufen und angezeigt inZugriffsprotokoll. Auth funktioniert nicht, wenn ich entferneCache_effektive_Gruppe. Wie es scheintntlm_authkann keine Verbindung zu Winbind über privilegierte Pipe herstellen, wenn effektive Gruppeist nicht root.

Ich habe einiges ausprobiert:

  1. Gruppeneigentum ändern von/var/run/samba/winbind_privilegedZuProxy
  2. Berechtigung ändern von/var/run/samba/winbind_privilegedum jedem Benutzer den Zugriff zu ermöglichen
  3. SatzCache_effektive_Gruppeausdrücklich zuwinbindd_priv(und überprüfen Sie es in der Prozessliste)
  4. Gruppenmitgliedschaft vollständig ändern vonProxyBenutzer zuwinbindd_priv

Nichts half

Nur "cache_effective_group root" hilft

Für mich ist es keine gute Idee, die Stammgruppe für Squid zu verwenden.

Was muss sonst noch überprüft werden, um es als nicht privilegierter Benutzer auszuführen?

Antwort1

Ich habe selbst eine Antwort gefunden:

Der eigentliche Ort für Winbind Privileged Pipe ist/var/lib/samba/winbindd_privileged(NICHT /var/run/samba/winbind_privileged)

In Jessie gehörte esWurzel:Wurzelund hat Rechte:0750

Ich habe den Besitzer gewechselt:

chown root:winbindd_priv /var/lib/samba/winbindd_privileged/

Jetzt funktioniert alles einwandfrei ohne "cache_effective_group"

PS. Endlich gibt es einen Bug, der 2014 gemeldet wurde :) https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=754339das ist noch nicht behoben

Antwort2

Ich hatte ein Problem mit der NTLM-Authentifizierung unter Ubuntu 16 mit Squid 3. Genau das war mein Problem. Sobald ich den Eigentümer geändert habe, funktionierte die NTLM-Authentifizierung sofort.

Antwort3

Ich habe es mit sg gelöstsquid.conf

auth_param ntlm program /usr/bin/sg winbindd_priv -c "/usr/bin/ntlm_auth --diagnostics --helper-protocol=squid-2.5-ntlmssp --require-membership-of=MYDOMAINNAME+WEBGROUPS"

verwandte Informationen