Kerberosを使用するADでApache/SSO認証を構成しています。私のhttpサーバーはDebian Wheezyで、ADはWindows Server 2012です。
WS2012で使用可能な暗号化タイプごとにkpass
コマンドを使用してWS2012でkeytabsファイルを生成しました。
ユーザー[email protected]
とkinit
を使用してセッションを開こうとすると、機能します。
HTTP/[email protected]
でセッションを開こうとすると、次のメッセージが表示されます。
kvno HTTP/[email protected]
kvno: KDC has no support for encryption type while getting credentials for HTTP/[email protected]
また、[email protected]
に使用されている暗号化をチェックすると、次のようになります。
root@SERVER:~# klist -e
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: [email protected]
Valid starting Expires Service principal
03/04/2015 12:48:21 03/04/2015 22:48:17 krbtgt/[email protected]
renew until 04/04/2015 12:48:21, Etype (skey, tkt): arcfour-hmac, arcfour-hmac
私は/etc/krb5.conf
を次のようにカスタマイズしようとしました:
default_tgs_enctypes = arcfour-hmac-md5 des-cbc-crc des-cbc-md5
default_tkt_enctypes = arcfour-hmac-md5 des-cbc-crc des-cbc-md5
そして、arcfour-hmac
で暗号化されたkeytabファイルを使用すると、成功しません。
通信に使用する暗号化タイプを変更する方法がわからない、なぜarcfour-hmacが常に必要なのか、なぜarcfour-hmac暗号化を指定しても何も変わらない...
/etc/krb5.confの変更が有効であることを確認する方法と、Kerberosチケットの生成を機能させる方法
Active Directoryドメインコントローラーでサポートされている暗号化の種類は、ドメインコントローラーのコンピューターオブジェクトのmsDS-SupportedEncryptionTypes
属性にリストされています。デフォルトのインストールでは、通常、次のようになります。
RC4_HMAC_MD5
AES128_CTS_HMAC_SHA1_96
AES256_CTS_HMAC_SHA1_96
これは10進数の28まで機能するビットマスクなので、00011100
のようになります。
したがって、ドメインコントローラーが「常にARC4-HMACのみを必要とする」理由を尋ねるのは、クライアントにドメインコントローラーと共通する他の2つの暗号化タイプがないため、ネゴシエーションプロセス中に排除されるためです。
(注:RC4_HMAC_MD5は、ここで考えられるすべての暗号化タイプの中で最悪で最も弱いものですが、レガシーシナリオとマイクロソフト以外の製品との相互運用性をサポートする必要がある場合もあります。)
私はいくつかのドキュメントを調べて、他の誰かの設定ファイルの例を見つけ、これが役に立つかもしれないと思いました:
http://wiki.squid-cache.org/ConfigExamples/Authenticate/Kerberos
; for Windows 2008 with AES
default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
より優れた暗号化タイプをサポートすることに加えて、構成でrc4-hmac
も指定していることに注意してください。これは、現在のarcfour-hmac-md5
とは異なります。 (また、投稿に表示されなかったpermitted_enctypes
行も忘れないでください。)
私は今それをテストする立場にないので、それがあなたの問題を解決するかどうか100%確信はありませんが、うまくいけばそれが助けになるでしょう。
これは、Kerberosの構成中の最も一般的な問題です。以下を実行してこれを解決してください。
1)vi /var/kerberos/krb5kdc/kdc.conf
2)supported_enctypes
、そこで言及されている暗号化技術を使用します。
これで問題が解決することを願っています。