Por qué Squid ntlm_auth funciona solo cuando "cache_ Effective_group root"

Por qué Squid ntlm_auth funciona solo cuando "cache_ Effective_group root"

Tengo Debian 8 Jessie con Samba configurado como servidor miembro de AD. Samba+Winbind funciona perfectamente: puedo crear recursos compartidos y asignar derechos para usuarios de AD;contraseña obtenidamuestra usuarios locales y de AD, etc.

Algunas comprobaciones adicionales como:

  • unión de prueba neta
  • klist y klist -k /etc/krb5.keytab
  • wbinfo-t
  • wbinfo -a midominio\miusuario%micontraseña
  • wbinfo-u
  • /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-basic

todos son exitosos

Configuración de autenticación encalamar.conf(solo líneas relacionadas con la pregunta):

...
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
...

También agregué usuarioapoderadoawinbindd_privgrupo (como se menciona aquí):

gpasswd -a proxy winbindd_priv

Después de reiniciar Squid, aparece un cuadro de diálogo que solicita el nombre de usuario y la contraseña en el navegador (cualquier navegador).

cuando puse

cache_effective_group root 

ntlm_auth funciona bien: no hay cuadros de diálogo de nombre de usuario y contraseña, el nombre de usuario se obtiene automáticamente y se muestra enacceso.log. La autenticación no funciona cuando eliminocaché_efectivo_grupo. Parece quentlm_authno se puede conectar a Winbind a través de una tubería privilegiada cuando el grupo es efectivono es root.

Probé algunos:

  1. cambiar la propiedad del grupo de/var/run/samba/winbind_privilegedaapoderado
  2. cambiar el permiso de/var/run/samba/winbind_privilegedpara permitir el acceso a cualquier usuario
  3. colocarcaché_efectivo_grupoexplícitamente awinbindd_priv(y compruébalo en la lista de procesos)
  4. cambiar completamente la membresía del grupo deapoderadousuario awinbindd_priv

Nada ayudó

Sólo ayuda "cache_ Effective_group root"

No es una buena idea para mí usar el grupo raíz para Squid.

¿Qué más comprobar para ejecutarlo como usuario sin privilegios?

Respuesta1

He encontrado una respuesta por mi cuenta:

El verdadero lugar para la canalización privilegiada de Winbind es/var/lib/samba/winbindd_privileged(NO /var/run/samba/winbind_privileged)

En Jessie es propiedad deraíz: raízy tiene derechos:0750

He cambiado de propietario:

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

Ahora todo funciona bien sin "cache_ Effective_group"

PD. Finalmente hay un error reportado en 2014 :) https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=754339eso aún no se ha solucionado

Respuesta2

He estado luchando contra un problema con la autenticación ntlm en Ubuntu 16 con squid 3. Este fue exactamente mi problema. Tan pronto como cambié la propiedad, la autenticación ntlm comenzó a funcionar de inmediato.

Respuesta3

Lo resolví usando sg ensquid.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"

información relacionada