
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 が使用されている場合は資格情報選択機能が表示されることですが、資格情報を手動で入力して Basic 認証ルートを使用するのは望ましくありません。
以下もマウントしてみました:
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エントリ(KB943280 翻訳)?
これは私にとっては有効です。