ネットワーク ポリシー サーバー証明書失効リストのチェック レジストリ設定の構成

適用対象: Windows Server 2022、Windows Server 2019、Windows Server 2016

ネットワーク ポリシー サーバー (NPS) を使用してネットワーク アクセスに証明書ベースの認証を適用する場合は、有効な証明書のみが受け入れられるように証明書失効リスト (CRL) を構成することが重要です。 CRL は、スケジュールされた有効期限前に証明機関 (CA) によってデジタル証明書が取り消されたかどうかを確認するために使用されます。 NPS では、有効な証明書のみがネットワーク アクセスに使用されるように、認証プロセス中に CRL を確認するように構成できます。 NPS CRL の構成は、セキュリティで保護されたネットワーク アクセス インフラストラクチャを実装するための重要な手順です。

前提条件

デバイスを NPS サーバーとして設定するには、ネットワーク ポリシーとアクセス サービス ロールが必要です。 詳しくは、「役割、役割サービス、または機能のインストールまたはアンインストール」をご覧ください。

NPS CRL レジストリ設定の解釈

NPS のレジストリ設定は、次のレジストリ パスで構成でき、無効の場合は 0有効の場合は 1 の値を持つ次の DWORD エントリとして入力されます。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\PPP\EAP\13\

既定では、次のキーは 0 に設定されています。

名前 説明
IgnoreNoRevocationCheck 無効の場合、サーバーがクライアントの証明書チェーン (ルート証明書を除く) の失効確認を完了し、失効している証明書がないことを確認しない限り、EAP-TLS クライアントは接続できません。

有効の場合、NPS がクライアントの証明書チェーン (ルート証明書を除く) の失効確認を実行しない場合や、完了できなかった場合でも、NPS は EAP-TLS クライアントの接続を許可します。

Microsoft 以外の CA で発行された証明書など、証明書に CRL 配布ポイントが含まれていない場合、このエントリを使用してクライアントを認証できます。
IgnoreRevocationOffline 無効の場合、NPS が証明書チェーンの失効確認を完了し、失効している証明書がないことを確認しない限り、NPS はクライアントの接続を許可しません。 NPS が失効リストを格納しているサーバーに接続できないと、証明書の失効確認は失敗し、認証が失敗します。

有効の場合、CRL を格納するサーバーがネットワーク上で使用できない場合でも、NPS は EAP-TLS クライアントの接続を許可し、ネットワーク条件が悪いために証明書の検証エラーが発生するのを防ぐことができます。
NoRevocationCheck 無効の場合、NPS CRL に対して証明書失効の確認が有効になります。 クライアントが NPS サーバーに証明書を提示すると、サーバーでは、クライアントがネットワークに接続できるようになる前に、発行元 CA によって証明書が失効されているかどうかを確認します。 証明書が失効している場合、クライアントはアクセスを拒否されます。

有効の場合、NPS は EAP-TLS によりクライアントの証明書の失効確認が実行されないようにします。 失効確認では、クライアントの証明書とその証明書チェーン内の証明書が失効していないことが確認されます。
NoRootRevocationCheck 無効の場合、このエントリは、クライアントのルート CA 証明書の失効確認のみを省略します。 クライアントの証明書チェーンのその他の証明書に対しては、失効確認が実行されます。

有効の場合、NPS は EAP-TLS によりクライアントのルート CA 証明書の失効確認が実行されないようにします。

このエントリは、証明書に CRL 配布ポイントが含まれていない場合にクライアントを認証します。 また、このエントリにより、証明書失効リストがオフラインであるか期限が切れている場合に発生する証明書関連の遅延を回避することもできます。

NPS CRL レジストリ設定の編集

警告

レジストリを誤って編集すると、システムに重大な障害が発生する場合があります。 レジストリを変更する前に、コンピューター上の重要なデータのバックアップを作成する必要があります。

レジストリの編集は、レジストリ エディター (regedit.exe)、コマンド プロンプト、または PowerShell を使用して実行できます。 次の例では、NoRevocationCheck レジストリ設定の有効化について説明します。関連する CRL 設定を有効または無効にするのにも同じ手順が利用できます。

次の手順を使用すると、デバイスで NoRevocationCheck を有効にすることができます。

  1. デスクトップで、[スタート] を選択し、「レジストリ エディター」と入力し、[レジストリ エディター] を右クリックし、[管理者として実行] を選択します。
  2. [レジストリ エディター] で、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\PPP\EAP\13 に移動します。
  3. 上部のウィンドウで、[編集]>[新規]>[DWORD]> を選択し、「NoRevocationCheck」と入力して、Enter キーを押します。
  4. 新しいレジストリ エントリをダブルクリックし、値を 1 に変更し、[OK] を選択します。

このエントリを無効にするには、値を 1 から 0 に変更します。

NPS サーバーの CRL を手動で更新するには、コマンド プロンプトまたは PowerShell で次のコマンドを実行します。

certutil -urlcache * delete
certutil -setreg chain\ChainCacheResyncFiletime @now