使用 Kerberos 票證存取 WebDAV

使用 Kerberos 票證存取 WebDAV

使用 Apache 的 mod_dav 作為伺服器,Samba 4.1.17 作為伺服器,Windows 7 以上的任何版本作為客戶端,如何使用 Kerberos 掛載 WebDAV 共享進行身份驗證?

目前我已經確認 WebDAV 和 Kerberos 可以與 IE 和 Firefox 使用者代理程式一起使用。下面是 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)"

當我嘗試映射或瀏覽到它時,總是會失敗,Apache 只記錄 401 錯誤:

[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 報告“未執行所要求的操作,因為用戶尚未經過身份驗證”,因為該範例不是 HTTPS,並且我(故意)未在註冊表中啟用沒有 HTTPS 的基本身份驗證。

這些請求的原始 HTTP 如下所示:

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

伺服器回覆:

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

看起來客戶端完全忽略了伺服器與我協商的嘗試。

我讀了很多資訊如何使困惑損壞的 WebDAV 用戶端是在Windows 上,所以當我之前的努力(在/upload/private)不起作用時,我設定了一個單獨的子網域,其中為整個命名空間啟用了WebDAV 和非強制性SSL,這就是這些範例中使用的內容。

使用的憑證受到客戶端的信任,並且 HTTP 和 HTTPS 情況(幾乎)相同地失敗。唯一的區別是,如果使用 HTTPS,則會顯示憑證選擇器,但我不想手動輸入憑證並走基本驗證路線。

我還嘗試安裝:

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 *

所有人都遭遇同樣的失敗。

是什麼賦予了?如何說服 WebDAV 迷你重定向器使用 Kerberos 進行驗證?有可能嗎?這裡的最終目標是為用戶提供真正的 SSO。

答案1

您是否查看過 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters AuthForwardServerList 條目(知識庫 943280)?

這對我有用。

相關內容