Windows Server 2003 Service Pack 1 のインストール後に FQDN またはその CNAME エイリアスを使用してサーバーにローカルでアクセスしようとすると、アクセスが拒否されたか、ネットワーク プロバイダーが指定されたネットワーク パスを受け入れなかった場合のエラー メッセージ
この記事では、FQDN またはその CNAME エイリアスを使用してサーバーにローカルでアクセスしようとしたときに発生するエラーの解決策を示します。
元の KB 番号: 926642
Note
この記事には、コンピューターのセキュリティ設定を低くする方法や、コンピューターのセキュリティ機能を無効にする方法を示す情報が記載されています。 これらの変更によって特定の問題を回避できますが、 変更を行う前に、特定の環境でこの回避策を実行した際に生じるリスクを評価することをお勧めします。 この回避策を実装する場合は、システムの保護に役立つ適切な追加の手順を実行します。
現象
次のシナリオについて考えてみます。 Windows Server 2003 Service Pack 1 (SP1) は、Windows Server 2003 ベースのコンピューターにインストールします。 この操作を行うと、汎用名前付け規則 (UNC) パスの完全修飾ドメイン名 (FQDN) またはその CNAME エイリアス (\\servername\sharename を使用してサーバーにローカルでアクセスしようとすると、認証の問題が発生します。
このシナリオでは、次のいずれかの現象が発生します。
- ログオンウィンドウが繰り返し表示されます。
- "アクセスが拒否されました" というエラー メッセージが表示されます。
- "ネットワーク プロバイダーが指定されたネットワーク パスを受け入れなかった" というエラー メッセージが表示されます。
- イベント ID 537 がセキュリティ イベント ログに記録されます。
Note
Windows Server 2003 SP1 をインストールしたコンピューター以外のネットワーク内の別のコンピューターから、FQDN またはその CNAME エイリアスを使用してサーバーにアクセスできます。 さらに、次のパスを使用して、ローカル コンピューター上のサーバーにアクセスできます。
- \\IPaddress-of-local-computer
- \\Netbiosname または \\ComputerName
原因
この問題は、Windows Server 2003 SP1 にループバック チェック機能という名前の新しいセキュリティ機能が含まれているために発生します。 既定では、Windows Server 2003 SP1 ではループバック チェック機能が有効になり、DisableLoopbackCheck レジストリ エントリの値は 0 (ゼロ) に設定されています。
Note
ループバック チェック機能は、レジストリ サブキー ( HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\DisableLoopbackCheck
) に格納されます。
解決方法
重要
このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 したがって、次の手順を注意深く実行してください。 保護のために、レジストリを変更する前に、バックアップします。 その後、問題が起こった場合は、レジストリを復元できます。 レジストリのバックアップと復元方法の詳細は、「Windows のレジストリのバックアップおよび復元の方法」を参照してください。
Note
この回避策により、コンピューターやネットワークが悪意のあるユーザーやウイルスなどの悪意のあるソフトウェアによる攻撃に対して脆弱になる可能性があります。 この資料の情報は、記載されている回避策をユーザーが自己の判断で使用することを前提に提供されているものであり、この回避策をお勧めするものではありません。 この回避策は、自己の責任において使用してください。
この問題を解決するには、DisableStrictNameChecking レジストリ エントリを 1 に設定します。 その後、状況に応じて、次のいずれかの方法を使用します。
方法 1 (推奨): NTLM 認証要求で参照できるローカル セキュリティ機関のホスト名を作成する
これを行うには、クライアント コンピューター上のすべてのノードに対して次の手順に従います。
[スタート] ボタン、 [ファイル名を指定して実行] の順にクリックし、「regedit」と入力して [OK] をクリックします。
次のレジストリ サブキーを見つけてクリックします。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
MSV1_0を右クリックし、[ New] をポイントし、[ 文字列値] をクリックします。
Name 列に「BackConnectionHostNames」と入力し、Enter キーを押します。
BackConnectionHostNamesを右クリックし、[ Modify] をクリックします。
Value データ ボックスに、コンピューター上のローカル共有に使用される CNAME または DNS エイリアスを入力し、[OK] をクリック。
Note
- 各ホスト名を個別の行に入力します。
- BackConnectionHostNames レジストリ エントリがREG_DWORDの種類として存在する場合は、BackConnectionHostNames レジストリ エントリを削除する必要があります。
レジストリ エディターを終了し、コンピューターを再起動します。
方法 2: 認証ループバック チェックを無効にする
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa registry
サブキーの DisableLoopbackCheck レジストリ エントリを 1 に設定して、Windows Server 2003 に存在する動作を再度有効にします。 DisableLoopbackCheck レジストリ エントリを 1 に設定するには、クライアント コンピューターで次の手順を実行します。
[スタート] ボタン、 [ファイル名を指定して実行] の順にクリックし、「regedit」と入力して [OK] をクリックします。
次のレジストリ サブキーを見つけてクリックします。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
Lsa を右クリックし、Newをポイントし、[DWORD Value] をクリックします。
「 DisableLoopbackCheck」と入力し、Enter キーを押します。
DisableLoopbackCheckを右クリックし、Modify をクリックします。
[値のデータ] ボックスに「1」と入力し、[OK] をクリックします。
レジストリ エディターを終了します。
コンピューターを再起動します。
Note
この変更を有効にするには、サーバーを再起動する必要があります。 既定では、Windows Server 2003 SP1 ではループバック チェック機能が有効になり、DisableLoopbackCheck レジストリ エントリは 0 (ゼロ) に設定されています。 認証ループバック チェックを無効にし、NTLM に対する中間者 (MITM) 攻撃のために Windows Server 2003 サーバーを開くと、セキュリティが低下します。
状態
Microsoft は、この記事の冒頭に記載されている Microsoft 製品の問題であることを確認しました。
詳細
セキュリティ更新プログラムの957097をインストールすると、ローカル NTLM 認証要求を行うときに、SQL Server や インターネット インフォメーション サービス (IIS) などのアプリケーションが失敗する可能性があります。
この問題を解決する方法の詳細については、KB 記事 957097の「このセキュリティ更新プログラムに関する既知の問題」セクションを参照してください。