Utilice el ticket Kerberos para acceder a WebDAV

Utilice el ticket Kerberos para acceder a WebDAV

Usando mod_dav de Apache como servidor, Samba 4.1.17 como servidor y cualquier versión de Windows desde 7 en adelante como cliente, ¿cómo puedo montar un recurso compartido WebDAV usando Kerberos para la autenticación?

Actualmente tengo confirmado que WebDAV y Kerberos funcionan con agentes de usuario de IE y Firefox. Aquí hay un ejemplo de funcionamiento de IE:

[23/Aug/2015:15:22:56 +0100] "GET / HTTP/1.1" 200 1062 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; Trident/8.0; .NET4.0C; .NET4.0E)"
[23/Aug/2015:15:22:59 +0100] "GET /favicon.ico HTTP/1.1" 404 778 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; Trident/8.0; .NET4.0C; .NET4.0E)"

Cuando intento mapearlo o buscarlo, esto siempre falla, siendo los errores 401 lo único que registra Apache:

[23/Aug/2015:15:23:21 +0100] "OPTIONS / HTTP/1.1" 401 814 "-" "Microsoft-WebDAV-MiniRedir/10.0.10240"
[23/Aug/2015:15:23:21 +0100] "OPTIONS / HTTP/1.1" 401 813 "-" "Microsoft-WebDAV-MiniRedir/10.0.10240"
[23/Aug/2015:15:23:21 +0100] "OPTIONS / HTTP/1.1" 401 813 "-" "Microsoft-WebDAV-MiniRedir/10.0.10240"
[23/Aug/2015:15:23:21 +0100] "OPTIONS / HTTP/1.1" 401 813 "-" "Microsoft-WebDAV-MiniRedir/10.0.10240"

Windows informa "La operación solicitada no se realizó porque el usuario no ha sido autenticado" en este caso, ya que ese ejemplo no era HTTPS y (deliberadamente) no habilité la autenticación básica sin HTTPS en el registro.

El HTTP sin formato para esas solicitudes se ve así:

OPTIONS / HTTP/1.1
Connection: Keep-Alive
User-Agent: Microsoft-WebDAV-MiniRedir/10.0.10240
translate: f
Host: dav.exmaple.com

El servidor responde con:

HTTP/1.1 401 Authorization Required
Date: Sun, 23 Aug 2015 18:31:13 GMT
Server: Apache/2.2.22 (Debian)
WWW-Authenticate: Negotiate
WWW-Authenticate: Basic realm="Kerberos Login"
Vary: Accept-Encoding
Content-Length: 484
Keep-Alive: timeout=5, max=99
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1

Lo que parece que el cliente está ignorando por completo los intentos del servidor de negociar conmigo.

he leídomucha informaciónsobre cómoconfundidoyClientes WebDAV rotosestán en Windows, así que cuando mis esfuerzos anteriores (en /upload/private) no funcionaron, configuré un subdominio separado donde WebDAV está habilitado para todo el espacio de nombres y SSL no obligatorio, que es lo que se usa en estos ejemplos.

Los clientes confían en el certificado utilizado y los casos HTTP y HTTPS fallan (casi) de manera idéntica. La única diferencia es que el selector de credenciales se muestra si se utiliza HTTPS, pero no quiero escribir las credenciales manualmente y seguir la ruta de autenticación básica.

También intenté montar con:

net use \\dav.example.com *
net use \\dav.example.com\ *
net use http://dav.example.com/ *
net use http://dav.example.com *
net use \\dav.example.com@SSL *
net use \\dav.example.com@SSL\ *
net use https://dav.example.com/ *
net use https://dav.example.com *

Todos con el mismo fracaso.

¿Lo que da? ¿Cómo puedo persuadir al mini redirector WebDAV para que utilice Kerberos para la autenticación? ¿Es siquiera posible? El objetivo final aquí es un verdadero SSO para los usuarios.

Respuesta1

¿Echaste un vistazo a la entrada HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters AuthForwardServerList (KB 943280)?

Esto funciona para mí.

información relacionada