2

Apache を Kerberos に対して認証しようとしています。同じサーバーで 2 つの Web サイトを実行しています。VirtualHosts を使用してそれを実現し、DNS を設定して、このサーバーに 2 つの名前を付け、Web サイトごとに別の名前を付けます。最近、新しい ldap/Kerberos サーバーを追加し、自分の Web サイトの 1 つに接続しようとしましたが、それを機能させるための正しい資格情報を取得できませんでした。いくつかのデバッグを追加した後、Apache が HTTP/second-server-name ではなく HTTP/fist-server-name を検索することがわかりました。そのため、Kerberos データベースとキータブで正しいプリンシパルを見つけることができませんでした。2 番目の Web サイトからの呼び出しを検証するために、Apache が 2 番目のサーバー名に対してチェックを実行するように強制するにはどうすればよいですか? それを行うには、Apache構成にServerName属性を追加するだけでは不十分です! hostsファイルのサーバー名の順序を変更することでそれを行うことができます。

ありがとう。

4

3 に答える 3

6

mod_auth_kerb を使用していると仮定しています。以下を追加する必要があります。

KrbServiceName Any

Apache 構成に追加します。これにより、どのプリンシパルが使用されるかを仮定してそのプリンシパルへの認証のみを受け入れるのではなく、mod_auth_kerb が使用する keytab にキーが格納されているすべてのプリンシパルへの認証を受け入れるようになります。

于 2013-03-17T10:02:23.167 に答える
4

各 Web サイトで使用する Kerberos SPN を特定する必要があります。次のコマンドを実行して、キータブにリストされている SPN を確認できます。klist -k <Keytab>-- Apache が使用するキータブ ファイルを確認していることを確認してください。

宣言では、キータブから識別した値と一致するように値をVirtualHost変更する必要があります。KrbServiceNameApache を再起動すると、Kerberos との通信時に Apache の使用が開始されます。

例は次のようになります。

 KrbServiceName HTTP/yourservice.domain@REALM.COM

AD に一致するサービス アカウントと SPN があり、DNS 経由で Apache サーバーに解決できることを確認してください。

于 2013-04-04T23:41:56.780 に答える
1
于 2017-12-24T00:55:52.223 に答える