適用対象: Windows 11 バージョン 22H2 以降のバージョンの Windows
Windows 11 バージョン 22H2 では、印刷または印刷関連の操作中に Windows マシンが相互に通信する方法を変更する印刷コンポーネントの変更が導入されています。 たとえば、変更は、プリント サーバーまたはネットワーク上の別のコンピューターによって共有されているプリンターに印刷するときに有効になります。 これらの変更は、Windows での印刷の全体的なセキュリティをさらに向上させるために行われました。 RPC 接続設定の既定の構成では、より新しく、より安全な通信方法が適用されます。 ホーム ユーザーとエンタープライズ管理者は、環境の設定をカスタマイズすることもできます。
更新プログラムの詳細
印刷関連の通信の場合、既定では、RPC over TCP がクライアント - サーバー通信に使用されます。
- コンピューター間の印刷関連通信に RPC over Named Pipes を使用することは引き続き使用できますが、既定では無効になっています。
- 出力関連の通信に RPC over TCP または RPC over Named Pipes を使用すると、グループ ポリシーまたはレジストリを使用して制御できます。
既定では、クライアントまたはサーバーは、TCP 経由の RPC 経由の着信接続のみをリッスンします。
- スプーラー サービスは、名前付きパイプ経由で RPC 経由で受信接続をリッスンするように構成することもできます。 これは既定の構成ではありません。
- この動作は、グループ ポリシーまたはレジストリを使用して制御できます。
RPC over TCP を使用する場合は、動的ポートではなく通信に使用するように特定のポートを構成できます。
すべてのコンピューターがドメインに参加し、Kerberos をサポートする環境で、Kerberos 認証を適用できるようになりました。
環境の構成に関する推奨事項
コンピューター間の通信に関する問題を回避または解決するために環境を適切に構成する方法に関する推奨事項を次に示します。
RPC over TCP 通信を許可する
最も一般的な問題は、ファイアウォール規則がコンピューター間の通信を妨げているということです。 ファイアウォールの問題を解決するには、次の手順に従います。
- RPC エンドポイント マッパー ポート (135) がブロックされていないことを確認します。
- サーバー上の広い範囲のエフェメラル ポート (49152 ~ 65535) を開くか、「 RPC を構成して特定のポートを使用する」セクションのガイダンスに従って RPC のポートの範囲を指定します。
さまざまなポートとそのシステム サービスごとの使用方法の詳細については、「 Service overview and network port requirements for Windows」を参照してください。
名前付きパイプでの RPC の使用
この構成は推奨されていません。 ただし、RPC over TCP が現在の環境のオプションでない場合は、このオプションを使用できます。
- Windows 11 バージョン 22H2 コンピューターで、通信に RPC over TCP ではなく RPC over Named Pipes を使用できるようにするには、「 クライアントでの RPC over Named Pipes の使用 - サーバー通信 」セクションを参照してください。
- Windows 11 バージョン 22H2 コンピューターで、名前付きパイプ経由の RPC と RPC over TCP 経由の着信接続をリッスンできるようにするには、「名前付きパイプ経由での RPC での受信接続のリッスンを有効にする」セクションを参照してください
次の追加構成は、環境内の名前付きパイプ経由の RPC を適切にサポートするためにも必要な場合があります。
- RpcAuthnLevelPrivacyEnabled レジストリ値を、サーバー/ホスト コンピューター上の0に設定します。 「 CVE-2021-1678 (KB4599464) のプリンター RPC バインド変更の管理展開 (microsoft.com) を参照してください。
- 一部のシナリオでは、SMB2/SMB3 でのゲスト アクセスも必要です。これは既定で無効になっています。 有効にするには、「 SMB2 と SMB3 で安全でないゲスト ログオンを有効にする方法を参照してください。
特定のポートを使用するように RPC を構成する
「 特定のポートを使用するように RPC を構成する方法と、IPsec を使用してこれらのポートをセキュリティで保護する方法を参照してください。
- 動的/除外されたポート範囲を設定するには、
netsh int
コマンドを実行します。 - netsh で IPSec を使用するには、
netsh ipsec
コマンドを実行します。 - Windows ファイアウォールを使用してポートの範囲をブロックするには、
netsh advfirewall
コマンドを実行します。
上記のすべてが実行可能なソリューションです。 ただし、一部のソリューションは、各ポート (IPSec と AdvFirewall) の規則を設定する必要があるソリューションよりも簡単な場合があります。 範囲を指定できるため、テスト目的で動的/除外ポート範囲メソッドを使用できます。 例えば次が挙げられます。
動的ポート範囲を制限するには、次のコマンドを実行します。
netsh int ipv4 show dynamicport tcp
netsh int ipv4 show dynamicport udp
netsh int ipv4 set dynamicportrange tcp startport=50000 numberofports=255
netsh int ipv4 set dynamicportrange udp startport=50000 numberofports=255
netsh int ipv6 set dynamicportrange tcp startport=50000 numberofports=255
netsh int ipv6 set dynamicportrange udp startport=50000 numberofports=255
次に、コンピューターを再起動します。
Note
255 は、設定できるポートの最小数です。
ポート範囲をさらに制限するには、次のコマンドを実行します。
netsh int ip show excludedportrange tcp
netsh int ip show excludedportrange udp
netsh int ipv4 add excludedportrange tcp startport=50000 numberofports=225
netsh int ipv4 add excludedportrange udp startport=50000 numberofports=225
netsh int ipv6 add excludedportrange tcp startport=50000 numberofports=225
netsh int ipv6 add excludedportrange udp startport=50000 numberofports=225
次に、コンピューターを再起動します。
Note
ポートの数を制限しすぎると、システム上のサービスは効果的に通信できず、機能に問題が発生する可能性があります。
Windows Print コンポーネントの RPC 通信の構成
次の設定は、グループ ポリシーを使用するか、レジストリを介して直接構成して目的の効果を実現できます。 各設定の詳細については、グループ ポリシー エディターのドキュメントを参照してください。
クライアント - サーバー通信に RPC over Named Pipes を使用する
- グループ ポリシーを使用して有効にする:
パス: Computer 構成>管理者テンプレート>Printers> RPC 接続設定の構成
RpcOverNamedPipes を有効にして設定します。 - レジストリを使用して設定を有効にします。
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Printers\RPC" /v RpcUseNamedPipeProtocol /t REG_DWORD /d 1 /f
を実行します。
名前付きパイプ経由の RPC での受信接続のリッスンを有効にする
- グループ ポリシーを使用して有効にする:
パス: コンピューター構成 > 管理用テンプレート > プリンター > RPC リスナー設定を構成する
RpcOverNamedPipesAndTcp に使用できるプロトコルを有効にして設定。 - レジストリを使用して設定を有効にします。
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Printers\RPC" /v RpcProtocols /t REG_DWORD /d 0x7 /f
を実行します。
RPC over TCP 通信に特定のポートを使用する
- グループ ポリシーを使用して有効にする:
パス: Computer Configuration>Administrative Templates>Printers>CONFIGure RPC over TCP port ポート番号を有効にして設定します - レジストリを使用して設定を有効にする
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Printers\RPC" /v RpcTcpPort /t REG_DWORD /d <port number> /f
を実行します。
最大ポート: 65535
Kerberos 認証を適用する
- グループ ポリシーを使用して有効にする:
パス: Computer Configuration>Administrative Templates>Printers> RPC リスナー設定の構成
Kerberos に対して使用できる認証プロトコルを有効にして設定します。 - レジストリを使用して設定を有効にする
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Printers\RPC" /v ForceKerberosForRpc /t REG_DWORD /d 1 /f
を実行します。