メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

要約

CVE-2022-21920 の保護は、2022 年 1 月 11 日の更新プログラムWindows以降の更新プログラムWindowsされています。 これらの更新プログラムには、Microsoft Negotiate 認証プロトコルを使用するときに、3 部構成のサービス プリンシパル名に対するダウングレード攻撃を検出するロジックが強化されています。

この記事では、Kerberos 認証が成功しない場合のガイダンスを提供します。

詳細情報

2022 年 1 月 11 日の Windows 更新プログラム以降の Windows 更新プログラムをインストールすると、Kerberos 認証が成功しない 3 部構成の SPN で認証が失敗する可能性があります。 このような環境では、3 部構成の SPN に対する Kerberos 認証が以前から機能していない可能性があります。 トリアージに役立つクライアント システムWindows次のイベントが表示される場合があります。

LSA イベント 40970 Microsoft テスト環境からの特定の SPN の NTLM フォールバックを示すスクリーンショット。

LSA イベント 40970 テキスト バージョン

イベント 40970

3 部構成の SPN に接続するときに、セキュリティ システムがダウングレードの試行を検出しました

<SPN 名の>

エラー コード "Windows Server 上の SAM データベースには、ワークステーションの信頼関係 (0x0000018b) のコンピューター アカウントはありません"認証が拒否されました。

アクション

Microsoft では、3 部構成の SPN の Kerberos 認証が失敗した理由をトリアージするよう推奨しています。 Kerberos 認証エラーの一般的な理由には、次のようなものがあります。 

  • 認証のターゲットとして使用されている SPN の形式が正しい。 詳細については、「一意の SPN の名前の形式」を参照してください

    注: アプリケーションと API は、サービスの正当な SPN を構成するものについて、より厳密または異なる定義を持つ場合があります。

    正当な SPN の例

    http/webserver 

    Host/machine2.contoso.com 

    Ldap/machine1.contoso.com/contoso.com 

    サービス/マシン 1:10100 


    形式が正しい SPN の例

    SPN 

    原因 

    Host/host/machine1 

    "host" は通常、マシン名ではなくサービス クラスであり、ホスト/ホストは間違いである可能性が高いです。 正当な SPN が host/machine1 である可能性があります。 

    Ldap/machine/contoso.com:10100 

    ポートは、サービス インスタンス名ではなく、ホスト名 ("machine") で指定できます。 正当な SPN が "ldap/machine:10100/contoso.com" である可能性があります。 

    Ldap/dc-a/DC=CONTOSO,DC=COM 

    特定の API では、FQDN ではなく DNS 名が必要です。 たとえば、 DsBindA 関数 (ntdsapi.h) は DNS 名で渡される必要があります。 FQDN が渡された場合、誤った形式の SPN が発生する可能性があります。  
    正当な SPN は "ldap/dc-a/contoso.com" である可能性があります。

    これらの問題に対処するには、正しい SPN を使用するか、正しい形式の SPN を正しいサービス アカウントに登録してください。

  • 認証のターゲットとして使用されている SPN が存在しません。 この問題に対処するには、正しいサービス アカウントへの SPN の登録を検討してください。

  • Windows クライアント コンピューターがドメイン コントローラーに対して Line of Sight を使用していない場合 (DC がオフラインである、DNS で検出できない、KDC ポートへのアクセスがブロックされているなど)。

  • NetBIOS 名が機能しないシナリオでは、NetBIOS 名を使用している可能性があります。 たとえば、ドメインに参加していないマシンからドメイン リソースにアクセスすると、NetBIOS の名前解決が無効になっているか、機能しません。

    Microsoft では、ユーザー プリンシパル名 (UPN) またはドメイン ネーム システム (DNS) の使用をお勧めします NetBIOS 名の代わりに名前を指定します。

SPN の登録 

アプリケーションと環境の構成によっては、Kerberos クライアントが Kerberos 接続を確立しようとしている Active Directory ドメインにあるサービス アカウントまたはコンピューター アカウントのサービス プリンシパル名属性で SPN を構成できます。 Kerberos 認証が正しく機能するには、ターゲット SPN が有効である必要があります。

Kerberos 認証を有効にする方法のガイダンスについては、特定のアプリケーションごとにデプロイ ドキュメントまたはサポート プロバイダーを参照してください。 一部のアプリケーション インストーラーまたはアプリケーションは、SPN を自動的に登録します。 開発者と管理者の両方が SPN を登録するためのさまざまなオプションがあります。

  • サービス インスタンスの SPN を手動で登録するには、Setspn に関する ページを参照してください

  • サービス インスタンスの SPN をプログラムで登録するには、次の方法について説明する「サービスが SPN を登録する方法」を参照してください。

    • DsGetSpn 関数を呼び出 して、サービス インスタンス用に 1 つ以上の一意の SPN を作成します。 詳細については、「一意の SPN の名前の形式」を参照してください。

    • DsWriteAccountSpn 関数を呼び出 して、サービスのログオン アカウントに名前を登録します。

既知の問題

現在、この更新プログラムに関する既知の問題はありません。

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×