web-dev-qa-db-ja.com

Apache-Apache :: AuthenNTLMをKerberos(mod_auth_kerb)に置き換えます

Solarisのイントラネットシステム内では、現在、perls Apache2 :: AuthenNTLM モジュールを使用してWin 2k3 domanサーバーで認証しているため、サイトを閲覧しているユーザーのユーザーIDにアクセスできます。

Win 2012 ADサーバーに移行すると、これはNTLMをサポートしないと言われていますが、Microsoftは最近これを推奨していません。 mod-auth-kerb このソフトユースケースに適したreplacmenetですか?

私はグーグルを検索しましたが、mod-auth-kerbがそのように使用されていることを示す関連記事やチュートリアルを見つけることができません。始めるのに苦労していて、正しい方向にポイントを使うことができました。

ありがとう

2
Dr.Avalanche

Active Directory管理者に、イントラネットサーバーのKerberosサービス原則を保持するサービスアカウントを作成してもらう必要があります。 SPNまたはSPNは<service>/<hostname>のようになり、ユーザーがイントラネットWebサイトにアクセスするために使用するすべてのホスト名やDNSエイリアスが含まれている必要があります。

http/solarishost.int.example.com
http/solarishost
http/intranet.example.com

Active Directory管理者は SPNを抽出keytabファイルに追加できます。このファイルは、SolarisホストにコピーしてApacheで構成する必要があります。注:http/hostnameSPNはHTTPSにも使用されます。

Solarisでは、MIT Kerberos 5ツールとライブラリ、Apacheモジュールをダウンロードしてインストールし、構成する必要があります。

通常、グローバルKerberos構成ファイルを編集します /etc/krb5/krb5.conf mod-auth-kerbも使用するデフォルトを設定します。重要なのは、通常、REALM、通常はWindowsの名前のみです。 ADドメイン、DNSドメイン、およびKDCサーバー-通常、AD管理者が使用するように指示したドメインコントローラー。

Apacheの構成は次のようになります。

<Location /intranet>
 AuthType           Kerberos
 AuthName           "intranet"
 KrbMethodNegotiate on
 KrbAuthoritative   on
 KrbVerifyKDC       on
 KrbAuthRealm       YOUR_ACTIVEDIRECTORY_DOMAIN
 Krb5Keytab         /etc/httpd/intranet.keytab
 KrbSaveCredentials off
 Require            valid-user
</Location>

KerberosとMicrosoftADをある程度理解していると、初心者向けにデバッグするのが難しい場合があるため、役立ちます。ああ、Kerberosを使用して、クロックが同期していることを確認してください。

3
HBruijn