Windows 上の Apache で Kerberos/NTLM SSO を設定する
概要
設定手順のガイドライン Kerberos認証 Apache 搭載の Windows で、初期セットアップ、設定、安全でシームレスなユーザー認証のための Kerberos の設定方法を学びます。 ブラウザの設定。
WordPress 向けの簡単な LDAP/Active Directory 統合 動画.
Windows Xampp サーバー上の Apache を使用した SSO:
- コマンドプロンプトを開く 管理者モード.
- 追加するには次のコマンドを実行します サービス プリンシパル名 (SPN) サービス アカウント用。
- 次のコマンドを実行して、これが正しく設定されているかどうかを確認します。
- 結果にはリストが表示されます http/マシン名.ドメイン.com
- [Active Directory ユーザーとコンピュータ] を開き、上部のメニューから [Active Directory ユーザーとコンピュータ] を選択します。 表示 >> 高度な機能.
- サービスアカウントを開いて、 属性エディタ タブで、 サービスプリンシパル名 を確認するには SPNエントリ.
- に移動します 代表団 タブには何も表示されないことに注意してください。
- 選択 任意のサービスへの委任に関してこのユーザーを信頼します (Kerberos のみ).
Setspn -s http/<computer-name>.<domain-name> <domain-user-account>
例: C:\Users\Administrator> setspn -S HTTP/マシン名.ドメイン.com サービスアカウント

ご注意:ここでの「machinename.domain.com」はコンピュータ名です。 AD サービスを実行している Windows サーバー上で解決可能であることを確認してください。
setspn -l domain\service_account

- クリック 申し込む.
- ここをクリック apache モジュールをダウンロードします。
- コピー mod_authnz_sspi.so from Apache24 > モジュール フォルダーを作成し、モジュール (C:\xampp\apache\modules) ディレクトリに配置します。
- コピー ssipkgs.exe からのファイル Apache24 -> bin フォルダーを作成し、Web サーバー上の Xampp Apache フォルダー (....\xampp\apache\bin) の bin フォルダーに配置します。
- httpd.conf (....\xampp\apache\conf) を開き、次のコード行を LoadModule セクションに配置します。
- 次のモジュールのコメントが解除されていることを確認してください。
- また、 LDAP拡張機能を有効にする.
- (.....\xampp\apache\conf\httpd.conf) から httpd.conf ファイルを開きます。
に移動し、#Require all Grants の後に以下の行を貼り付けます。 - 再起動する Apacheサーバー.
LoadModule authnz_sspi_module modules/mod_authnz_sspi.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authz_core_module modules/mod_authz_core.so
<Directory "...../xampp/htdocs">
......
......
#Require all granted
AllowOverride None Options None
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
Require valid-user
</Directory>
Kerberos SSO 用にブラウザを構成します。

ご注意: クライアント側の構成により、それぞれのブラウザーが SPNEGO を使用してブラウザーの Kerberos 認証をネゴシエートできるようになります。 エンド ユーザーのシステム上のブラウザが Kerberos 認証をサポートするように構成されていることを確認する必要があります。
すべてのブラウザの一般的な Kerberos SSO 構成:
- 「コントロールパネル」に移動し、「 ネットワークとインターネット >> インターネット オプション.
- これにより、「インターネットのプロパティ」ウィンドウが開きます。 クリック セキュリティ >> ローカル イントラネット >> サイト.

- その後、をクリックします 詳細ボタン.

- この Web サイトをゾーンに追加します セクションに、SSO でログインする Web サイトの URL を追加します。

- クリック [ツール] > [インターネット オプション] > [セキュリティ] > [ローカル イントラネット] > [カスタム レベル].
- 「ユーザー認証」オプションまで下にスクロールし、選択します。 イントラネットゾーンでのみ自動ログオン.

- ソフトウェアの制限をクリック Ok ボタンをクリックしてブラウザを再起動します。
上記の設定を完了すると、Internet Explorer、Google Chrome、Apple Safari のブラウザ設定を行う必要はありません。
- インターネットエクスプローラ
- Google Chrome
- Mozilla Firefox
- アップルのSafari
よくあるご質問
その他のよくある質問➔既存の LDAP ユーザーを Kerberos サービス プリンシパルとして使用できますか?
はい、既存の LDAP ユーザーを Kerberos サービス プリンシパルとして使用できます。 ただし、このユーザーのパスワードは無期限に設定されている必要があります。 アプリケーションはこのアカウントを Kerberos サービス プリンシパルおよび対応するキータブとして使用して Kerberos チケットを取得するため、このアカウントがどのユーザーにも使用されていないことを確認してください。
「Kerberos クライアント」、「Kerberos サーバー」、「アプリケーション サーバー」とは何ですか?
Kerberos におけるすべての認証は、クライアントとサーバーの間で行われます。 したがって、Kerberos サービスのサービス チケットを受け取るエンティティは、Kerberos 用語では「Kerberos クライアント」と呼ばれます。 ユーザーは多くの場合クライアントとみなされますが、どのプリンシパルもクライアントになる可能性があります。
キー配布センター (略して KDC) は、通常「Kerberos サーバー」と呼ばれます。 認証サービス (AS) とチケット認可サービス (TGS) は両方とも KDC によって実装されます。 すべてのプリンシパルに接続されているすべてのパスワードは KDC に保存されます。 このため、KDC は可能な限り安全であることが不可欠です。
「アプリケーション サーバー」という語句は、多くの場合、クライアントが Kerberos チケットを使用した認証中に対話するために使用する Kerberos ソフトウェアを指します。 アプリケーション サーバーの例としては、Kerberos Telnet デーモンがあります。
資格情報の入力を求めるプロンプトが表示されるのはなぜですか?
これは、認証に Kerberos ではなく NTLM プロトコルが使用されている場合に発生します。
これは、次のような複数の理由で発生する可能性があります。
- ドメインに参加しているマシンを使用して Web サイトにアクセスしているかどうかを確認してください。
- LDAP サーバーと Web サーバーの間で時間が同期されていることを確認してください。
- ブラウザの設定とインターネット オプションが Kerberos SSO 用に構成されているかどうかを確認します。
- それでもこの問題が解決しない場合は、お気軽にお問い合わせください。